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