1.
G_110913743683437366230
27.11.20 10:24 Сейчас в теме
Здравствуйте!
Произошел тупняк, хочу вызвать с внешного обработчика процедуру табличной части документа ТоварыКоличествоПриИзменении(Элемент)
Процедура сама вызывается, но появляются куча ошибок, возможно я не правильно передаю значения Элемент. Какое значение Элемент нужно передавать?
(1)я же вам уже дал пример в предыдущем посте - из полученной формы, которую не надо для этого открывать, надо вызывать не Клиента ТоварыПриИзменении, а содержимое этой функции формы, там где она вызывает сервер https://forum.infostart.ru/forum9/topic251983/#message2549629
(1)я же вам уже дал пример в предыдущем посте - из полученной формы, которую не надо для этого открывать, надо вызывать не Клиента ТоварыПриИзменении, а содержимое этой функции формы, там где она вызывает сервер https://forum.infostart.ru/forum9/topic251983/#message2549629
Если в коде ни где не используется элемент, то можно любой параметр передать (например неопределено).
Если используется, то поле нужной строки.
Но в данной процедуре должна быть спозиционирована текущая строка иначе код выдаст ошибку, что текущих данных нет.
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Объект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Для Каждого Строка Из Объект.Товары Цикл
Если Строка.Количество = 1 Тогда
Строка.Количество = 3;
Строка.Сумма = Строка.Количество * Строка.Цена;
Форма = Объект.ПолучитьФорму("ФормаДокумента");
Форма.Открыть();
Форма.ТоварыКоличествоПриИзменении(Строка.Количество); // Строка.Количетсво ведь верно в качестве значения Элемент?
Объект.Записать();
Форма.Закрыть();
КонецЕсли;
КонецЦикла;
КонецЦикла;
(9) Все жду, когда же уже 1С четко разграничит методы на клиентские и серверные, вот без этого "тонкий" или "толстый". Тогда и с обратной совместимостью кода проблем не будет возникать при любом запуске клиента, и разработчики будут писать более дисциплинированно.
PS. Видимо, получение формы, её открытие/закрытие, и запись объекта в цикле по строкам этого же самого объекта - это тоже следствие программирования для толстого клиента...
(11) На платформе 8.3 и далее этого не будет. Возможно такое будет в следующих решениях платформы, например какой нить 1С9, но явно не в ближайшие 5 лет.
На счет все ждут, не слышал. Каждая фирма для себя сама решает в каком режиме работать, а старых конфигураций, которые не могут работать в тонком клиенте, еще хватает.