|
Недоступны объект и реквизиты номеклатуры | ☑ | ||
---|---|---|---|---|
0
wizards
13.12.16
✎
21:58
|
Добрый вечер. УТ 11.2, из формы документа мастер чека ККМ при обновлении данных информационной панели в общий модуль НоменклатураКлиентСервер передаются ТекущиеДанные.Номенклатура (Форма.Объект.Товары.НайтиПоИдентификатору(ТекущаяСтрока)) для формирования представления номенклатуры. Это происходит несколько раз, при первой передаче при выполнении Shift + F9 (Вычислить выражение) доступны реквизиты номенклатуры и соответственно в общем модуле я могу получить объект номенклатуры и добавить в представление например артикул. При последующих передачах реквизиты недоступны, как и метод ПолучитьОбъект(). Тип передаваемого значения ТекущиеДанные.Номенклатура во всех случаях "СправочникСсылка.номенклатура", на всякий случай в общем модуле поставил галку "Вызов сервера", не помогает. Кто знает, отпишитесь по сабжу.
|
|||
1
Мимохожий Однако
13.12.16
✎
22:02
|
Расшифруй " При последующих передачах". Отладчиком проверял, что по этой кнопке срабатывает?
|
|||
2
wizards
13.12.16
✎
22:08
|
В форме документа мастер чека ККМ несколько раз вызывается процедура
////////////////// &НаКлиентеНаСервереБезКонтекста Процедура ОбновитьДанныеИнформационнойПанели ТекущиеДанные = Форма.Объект.Товары.НайтиПоИдентификатору(ТекущаяСтрока); НаименованиеТовара = ""; Если ТекущиеДанные <> Неопределено Тогда Если ЗначениеЗаполнено(ТекущиеДанные.Номенклатура) Тогда НаименованиеТовара = НоменклатураКлиентСервер.ПредставлениеНоменклатуры( ТекущиеДанные.Номенклатура, ТекущиеДанные.Характеристика, ТекущиеДанные.Серия); А в общем модуле ////////////////////////////// Функция ПредставлениеНоменклатуры(НоменклатураПредставление, ХарактеристикаПредставление, СерияПредставление = "", НазначениеПредставление = "") Экспорт СтрПредставление = СокрЛП(НоменклатураПредставление); Если ТипЗнч(НоменклатураПредставление) = Тип("СправочникСсылка.Номенклатура") Тогда НоменклатураОбъект = НоменклатураПредставление.ПолучитьОбъект(); СтрПредставление = СтрПредставление + " (" + СокрЛП(НоменклатураОбъект.Артикул) + ")"; КонецЕсли; |
|||
3
Мимохожий Однако
13.12.16
✎
22:09
|
Еще раз.. Отладчиком в эту процедуру попадаешь сколько раз?
|
|||
4
wizards
13.12.16
✎
22:10
|
3 раза. В первый раз доступен объект и реквизиты, в последующие нет, хотя тип значения одинаков
|
|||
5
Мимохожий Однако
13.12.16
✎
22:14
|
Какой смысл вызывать трижды? Если это при проведении, то возможно не успевает завершиться транзакция.
|
|||
6
wizards
13.12.16
✎
22:17
|
Это типовые процедуры. 1 раз при подборе, 2 раз при активизации строки, 3 раз при пересчете документа на клиенте
|
|||
7
wizards
13.12.16
✎
22:22
|
Кажется понял в чем проблема. В процедуру ОбновитьДанныеИнформационнойПанели каждый раз передается ЭтотОбъект, в 1 случае ЭтотОбъект идет с сервера (соотв-но доступны реквизиты), во 2 и 3 случаях - с клиента
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |