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