![]() |
|
Расширение не работает в тонком клиенте | ☑ | ||
---|---|---|---|---|
0
lirt82
23.09.22
✎
07:53
|
Сделал расширение, при работе в толстом клиенте работает, а при работе в тонком клиенте(все пользователи работают через тонкий клиент) расширение ругается на поле объекта (ЮрФизЛицо) не обнаружено.
код &НаКлиенте Процедура Расш1_ТоварыПриИзмененииПосле(Элемент) //запретим услуги при реализации цемента для юр.лиц Если Строка(Объект.Контрагент.ЮрФизЛицо) = "Юридическое лицо" Тогда Для Каждого С Из Объект.Товары Цикл ***************************************************** как исправить? |
|||
1
Мимохожий Однако
23.09.22
✎
07:54
|
В каком модуле разместил код?
|
|||
2
lirt82
23.09.22
✎
07:56
|
(1)ФормыДокумента в процедуру ТоварыПриИзмененииПосле(Элемент)
|
|||
3
rphosts
23.09.22
✎
07:57
|
(0) а с чего ты взял что этот код вообще в тонком клиенте будет работать? Тебе в расширении влом сходить на сервер без контекста за значением реквизита ".ЮрФизЛицо"?
|
|||
4
Мимохожий Однако
23.09.22
✎
07:58
|
Попробуй получить ЮрФизЛицо через отдельную функцию &НаСервере
Например, Функция ПолучитьФизЛицо(Контрагент) КонтрагентОбъект=Контрагент.ПолучитьОбъект(); Возврат КонтрагентОбъект.юрФизЛицо; |
|||
5
lirt82
23.09.22
✎
07:59
|
Задача изначально поставлена так, в документ Реализации пользователи вносят товары и услуги, таб часть одна, необходимо сделать контроль при выборе определенной группы из справочника Номенклатура не допускать чтоб к ней (в таб часть) были добавлены услуги
|
|||
6
SleepyHead
гуру
23.09.22
✎
07:59
|
(0) Такой код не работал бы и не в расширении на клиенте.
|
|||
7
Мимохожий Однако
23.09.22
✎
07:59
|
...или сделать серверную функцию ЭтоЮрЛицо(Контрагент) для подстановки в условие
|
|||
8
Мимохожий Однако
23.09.22
✎
08:00
|
(5) Представленный код не имеет прямого отношения к задаче, а только к способу реализации оной
|
|||
9
lirt82
23.09.22
✎
08:01
|
(3) (7) там и другие реквизиты дока потребуется подтянуть, ниже вся процедура
&НаКлиенте Процедура Расш1_ТоварыПриИзмененииПосле(Элемент) //запретим услуги при реализации цемента для юр.лиц Если Строка(Объект.Контрагент.ЮрФизЛицо) = "Юридическое лицо" Тогда Для Каждого С Из Объект.Товары Цикл Если СокрЛП(С.Номенклатура.Родитель.Код) = "Н_000000957" Тогда //группа цемент Если Строка(С.Номенклатура.ВидНоменклатуры) = "Услуга" Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Для юр.лица услуги должны быть выписанный отдельным документом!"; Сообщение.Сообщить(); ТекущаяСтрока = Элементы.Товары.ТекущиеДанные; Объект.Товары.Удалить(ТекущаяСтрока); КонецЕсли; КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
10
Мимохожий Однако
23.09.22
✎
08:03
|
На клиенте ты не увидишь объекта. В этом принципиальная ошибка.
|
|||
11
lirt82
23.09.22
✎
08:04
|
(10) т.е. с Клиента зайти на Сервер получить функцией нужные данные и вернуться на Клиент?
|
|||
12
Мимохожий Однако
23.09.22
✎
08:04
|
(11) Да. То, что видишь в отладчике не то, что видит тонкий клиент при выполнении
|
|||
13
lirt82
23.09.22
✎
08:20
|
(12) благодорю за подскасзку, все получилось.....больше кода в итоге) но это не обычное приложение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |