Добрый день , делаю загрузку из txt в документ Принятие на работу . Конфигурация ЗУП 3.1 УФ .
Вопрос: Как мне сделать загрузку в разные документ я знаю , но при этом еще хотелось чтобы на форме документа вызывалось процедура расчета ФОТ (ведется штатное расписание). И еще в загрузке может быть больше одного документа.
Вот код где идет запись и создание документа :
Если Стр="#end_check#" тогда
Если ДокЗПОбъект<>Документы.ПриемНаРаботу.ПустаяСсылка() тогда
ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,); - экспортная процедура в документе для заполнения Таблица вот она и не работает
КонецЕсли;
Делаю На Сервере
Вопрос: Как мне сделать загрузку в разные документ я знаю , но при этом еще хотелось чтобы на форме документа вызывалось процедура расчета ФОТ (ведется штатное расписание). И еще в загрузке может быть больше одного документа.
Вот код где идет запись и создание документа :
Если Стр="#end_check#" тогда
Если ДокЗПОбъект<>Документы.ПриемНаРаботу.ПустаяСсылка() тогда
ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,); - экспортная процедура в документе для заполнения Таблица вот она и не работает
КонецЕсли;
Делаю На Сервере
По теме из базы знаний
- Загрузка физических лиц в ЗУП из файлов ПФР
- Правила конвертации для выгрузки отражения зарплаты из ЗУП 3.1 в УПП 1.3 (правила обмена)
- Правила обмена / конвертации ЗУП 3.1 -> БП 2.0
- Загрузка списка сотрудников из файла в документы (ЗУП 3.1, КА 2.5, ERP 2.5, БУХ 3.0)
- Правила обмена / конвертации ЗУП 3.1 -> БП 2.0 (2023)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
А почему ссылка.ссылка.получитьОбъект(), опечатка?
Процедура вы говорите на форме, а вызывать пытаетесь процедуру объекта. Так может быть ее нет в модуле объекта?
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,);
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,);
А почему ссылка.ссылка.получитьОбъект(), опечатка?
Процедура вы говорите на форме, а вызывать пытаетесь процедуру объекта. Так может быть ее нет в модуле объекта?
(8)Почему? Серверный модуль ПлановыеНачисленияСотрудниковФормы там все процедуры и функции экспортные.
Параметры у ОписаниеДанныхТарифныхСтавок - реквизиты документа, у Вас конкретный сотрудник, сразу определяйте на этапе создания документа эти реквизиты и обращайтесь к ним.
Параметры у ОписаниеДанныхТарифныхСтавок - реквизиты документа, у Вас конкретный сотрудник, сразу определяйте на этапе создания документа эти реквизиты и обращайтесь к ним.
(17)
Ну да т эта строчка
ДанныеНачислений = ОбщегоНазначенияКлиентСервер.ПолучитьРеквизитФормыПоПути(Форма, ПутьКДанным);
Вы не можете передать форму, ее у вас нет. Так посмотрите что возвращается в данныеначислений если просто создаете документ.
ДанныеНачислений ?
Ну да т эта строчка
ДанныеНачислений = ОбщегоНазначенияКлиентСервер.ПолучитьРеквизитФормыПоПути(Форма, ПутьКДанным);
Вы не можете передать форму, ее у вас нет. Так посмотрите что возвращается в данныеначислений если просто создаете документ.
Делал по этому примеру
&НаКлиенте
Процедура Команда(Команда)
Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта");
ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
Форма.Открыть();
КонецПроцедуры
// Можно использовать безконтекстный вызов, оптимизируем передачу данных
&НаСервереБезКонтекста
Функция ЗаполнитьДокументНаСервере(ДанныеФормы);
Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ
Док = Документы.НашДокумент.СоздатьДокумент();
// Заполняем реквизиты объекта или другие действия ********
ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ
КонецФункции
Записать и заполнить получилось , но только один документ , а их может и 20 шт быть
&НаКлиенте
Процедура Команда(Команда)
Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта");
ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
Форма.Открыть();
КонецПроцедуры
// Можно использовать безконтекстный вызов, оптимизируем передачу данных
&НаСервереБезКонтекста
Функция ЗаполнитьДокументНаСервере(ДанныеФормы);
Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ
Док = Документы.НашДокумент.СоздатьДокумент();
// Заполняем реквизиты объекта или другие действия ********
ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ
КонецФункции
Записать и заполнить получилось , но только один документ , а их может и 20 шт быть
Если Стр="#end_check#" тогда
Если ДокЗПОбъект<>Документы.ПриемНаРаботу.ПустаяСсылка() тогда
ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,); - экспортная процедура в документе для заполнения Таблица вот она и не работает
КонецЕсли;
Если ДокЗПОбъект<>Документы.ПриемНаРаботу.ПустаяСсылка() тогда
ДокЗПОбъект.Записать();
ДокОб1 =ДокЗПОбъект.Ссылка.Ссылка.ПолучитьОбъект();
ДокОб1 .ЗаполнитьНачисленияПоПозицииЗавершение(Ложь,); - экспортная процедура в документе для заполнения Таблица вот она и не работает
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот