Обработка события элемента формы в документе переадресуется с клиента на сервер в типовой Рознице. Разве этот вызов не тянет весь контекст формы за собой на сервер?
Не могу понять, почему в типовых конфигурациях часто встречается такое. Например, 1С:Предприятие 8.3 (8.3.10.2299) Розница, редакция 2.2
Обработка события элемента формы в документе переадресуется с клиента на сервер. Разве этот вызов не тянет весь контекст формы за собой на сервер? Дело в том, что и у себя в коде хочу так сделать, но что-то подсказывает, что так неправильно делать.
Помогите уважаемые гуру?
У меня лично проблема передачи в функцию &НаСервереБезКонтекста данных табличной части. Таблица значений на клиенте отсутствует. Можно сериализовать, а можно как в коде типовой Розницы(ниже) сделать. На сервере-то ТЗ имеется ))
Документ "ПоступлениеТоваров"
А уже на сервере
Обработка события элемента формы в документе переадресуется с клиента на сервер. Разве этот вызов не тянет весь контекст формы за собой на сервер? Дело в том, что и у себя в коде хочу так сделать, но что-то подсказывает, что так неправильно делать.
Помогите уважаемые гуру?
У меня лично проблема передачи в функцию &НаСервереБезКонтекста данных табличной части. Таблица значений на клиенте отсутствует. Можно сериализовать, а можно как в коде типовой Розницы(ниже) сделать. На сервере-то ТЗ имеется ))
Документ "ПоступлениеТоваров"
&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент)
КонтрагентПриИзмененииСервер();
....
КонецПроцедуры
А уже на сервере
&НаСервере
Процедура КонтрагентПриИзмененииСервер()
ОбщегоНазначенияРТКлиентСервер.УстановитьСвойствоЭлементаФормы(Элементы,"БанковскийСчетКонтрагента", "ТолькоПросмотр",
НЕ ЗначениеЗаполнено(Объект.Контрагент));
Объект.БанковскийСчетКонтрагента = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетКонтрагентаПоУмолчанию(Объект.Контрагент);
ОбновитьПоказателиТабличнойЧастиТовары();
Если ЗначениеЗаполнено(Объект.Контрагент) И ЗначениеЗаполнено(Объект.Магазин) Тогда
ОбновитьИтоговыеПоказатели(Истина);
Иначе
ДоступноКВзаимозачету = 0;
КонецЕсли;
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Внеконтекстные вызовы не панацея, надо отчетливо понимать когда проще и лучше вызвать сервер с контекстом (1 ТЧ, не особо много реквизитов), а когда делать неконтекстный вызов (много реквизитов объекта, несколько тч, предположительно часто заполненных и т.д.).
Предположительно, сериализация ТЧ, передача ее на сервер без контекста, обработка, и возврат на клиент займут примерно такое же время (+/- погрешность) что и контекстный вызов. Ну естественно, если не будет других заполненных ТЧ, и кучи реквизитов, которые не нужны.
Ну и в конце концов не стоит смотреть на типовые.
Предположительно, сериализация ТЧ, передача ее на сервер без контекста, обработка, и возврат на клиент займут примерно такое же время (+/- погрешность) что и контекстный вызов. Ну естественно, если не будет других заполненных ТЧ, и кучи реквизитов, которые не нужны.
Ну и в конце концов не стоит смотреть на типовые.
(2 Код выше взят из Розницы. 5 тч, куча реквизитов. Не думаю, что это будет быстрее сериализация ТЧ и т.п. И такого кода много. А почему не стоит смотреть на типовые?! Их БСП сейчас везде и, я думал, что их код как пример для подражания ))
(3) Возможно предполагается что изменение контрагента будет вначале заполнения документа, без заполненных тч.
(3)
Потому что понаберут из пту, шутка) Там не все делается с точки зрения здравого смысла, да и разработчиков много, не у всех безупречная квалификация, взять хотя бы те же регламентированные отчеты - куча повторяемого кода, в общем я бы не стал брать это за основу.
(3)
А почему не стоит смотреть на типовые?!
Потому что понаберут из пту, шутка) Там не все делается с точки зрения здравого смысла, да и разработчиков много, не у всех безупречная квалификация, взять хотя бы те же регламентированные отчеты - куча повторяемого кода, в общем я бы не стал брать это за основу.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот