ЗУП 3.1 загрузка реквизита документа из шапки документа в табличную часть
Здравствуйте, помогите пожалуйста решить вопрос, конфигурация ЗУП КОРП 3.1, в документе Назначение планового начисления, нужно дату из реквизита Дата Окончания, при нажатии на кнопку выгрузить в табличную часть. Сделал это как внешнюю обработку через кнопку на форме :
Код работает, но мне нужно сделать как внешнюю обработку через "ЗаполнениеОбъекта", чтобы кнопка появилась на форме в самом документе. Тут возникли сложности, при нажатии на кнопку выдаёт ошибку :
{ВнешняяОбработка.ЗаполнениеТабличнойЧасти.Форма.Форма.Форма(37)}: Значение не является значением объектного типа (Записать)
ОБ.Записать(РежимЗаписиДокумента.Запись);
Спасибо
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НазначениеПлановогоНачисления.Ссылка КАК Ссылка,
| НазначениеПлановогоНачисления.ДатаОкончания КАК ДатаОкончания
|ИЗ
| Документ.НазначениеПлановогоНачисления КАК НазначениеПлановогоНачисления
|ГДЕ
| НазначениеПлановогоНачисления.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("ссылка", ВыборДок ) ;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДатаОкон =(ВыборкаДетальныеЗаписи.ДатаОкончания) ;
ОБ = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Для каждого стр из ОБ.сотрудники цикл
Стр.ДатаОкончания = ДатаОкон;
КонецЦикла ;
КонецЦикла;
ОБ.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
ПоказатьКод работает, но мне нужно сделать как внешнюю обработку через "ЗаполнениеОбъекта", чтобы кнопка появилась на форме в самом документе. Тут возникли сложности, при нажатии на кнопку выдаёт ошибку :
{ВнешняяОбработка.ЗаполнениеТабличнойЧасти.Форма.Форма.Форма(37)}: Значение не является значением объектного типа (Записать)
ОБ.Записать(РежимЗаписиДокумента.Запись);
Спасибо
По теме из базы знаний
- Обзор полезных методов БСП 3.1.4
- Обзор полезных методов БСП 3.1.4. Часть 2
- Универсальная загрузка данных формата Excel
- Обмен по правилам Конвертации данных 2.1 для ERP, КА, УТ 11, БП 3, ЗУП 3, Розница 2.3
- Программное создание и расчет документов начисления зарплаты в конфигурации ЗУП 3.1 и ERP (по подразделениям)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Перенес, ошибка пропала, но код всё равно не отрабатывает, посмотрите пожалуйста, может увидите ошибку
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьНаСервере(ВыборДок);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере(ссылка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НазначениеПлановогоНачисления.Ссылка КАК Ссылка,
| НазначениеПлановогоНачисления.ДатаОкончания КАК ДатаОкончания
|ИЗ
| Документ.НазначениеПлановогоНачисления КАК НазначениеПлановогоНачисления
|ГДЕ
| НазначениеПлановогоНачисления.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ВыборДок ) ;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДатаОкон =(ВыборкаДетальныеЗаписи.ДатаОкончания) ;
ОБ = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Для каждого стр из ОБ.сотрудники цикл
ОБ.ДатаОкончания = ДатаОкон;
ОБ.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла ;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
ЗаполнитьНаСервере(ОбъектыНазначенияМассив[0]);
ФормаВладелец = ЭтаФорма.ВладелецФормы;
ФормаВладелец.Прочитать();
КонецПроцедуры
Показать
а если вместо:
это:
Для каждого стр из ОБ.сотрудники цикл
ОБ.ДатаОкончания = ДатаОкон;
ОБ.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла ;
это:
Для каждого стр из ОБ.сотрудники цикл
ОБ.ДатаОкончания = ДатаОкон;
КонецЦикла ;
ОБ.Записать(РежимЗаписиДокумента.Запись);
вроде понял, в чём проблема
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьНаСервере(ВыборДок);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере(Ссылка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НазначениеПлановогоНачисления.Ссылка КАК Ссылка,
| НазначениеПлановогоНачисления.ДатаОкончания КАК ДатаОкончания
|ИЗ
| Документ.НазначениеПлановогоНачисления КАК НазначениеПлановогоНачисления
|ГДЕ
| НазначениеПлановогоНачисления.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("ссылка", ВыборДок ) ;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДатаОкон =(ВыборкаДетальныеЗаписи.ДатаОкончания) ;
ОБ = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
Для каждого стр из ОБ.сотрудники цикл
Стр.ДатаОкончания = ДатаОкон;
ОБ.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла ;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
//ЗаполнитьНаСервере(ОбъектыНазначенияМассив[0]); //проблема, думаю тут, не могу понять, что сюда поместить
ФормаВладелец = ЭтаФорма.ВладелецФормы;
ФормаВладелец.Прочитать();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот