Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:18

Заполнение ТЧ из обработкаЗаполнения Модуль объекта

Автор Vasylii, 24 янв 2024, 14:12

0 Пользователей и 1 гость просматривают эту тему.

Vasylii

пытаюсь заполнить тч запасы из модуля объекта, из процедуры обработка заполнения если пытаюсь через ЭтотОбъект.Запасы.Добавить() ругается что запасы не доступны для записи , через заполнить или заполнить значения свойств не получается , изначально передаю данные через открыть форму т.к. надо что бы открывался не записанный заполненный документ

antoneus

Ниче не понял. Данные передаете через открыть форму, а заполнить пытаетесь из модуля объекта? Поподробнее можно - какие данные передаете через открыть форму и когда обращаетесь к модулю объекта и что там вообще в модуле понаписано?

Vasylii

antoneus, что передаю
Функция ЗапросСозданияДокОприход()

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | ОтчетКомиссионераЗапасы.Ссылка КАК Ссылка,
               | ОтчетКомиссионераЗапасы.Номенклатура КАК Номенклатура,
               | ОтчетКомиссионераЗапасы.Количество КАК Количество,
               | ОтчетКомиссионераЗапасы.Характеристика КАК Характеристика,
               | ОтчетКомиссионераЗапасы.Цена КАК Цена,
               | ОтчетКомиссионераЗапасы.Сумма КАК Сумма,
               | ОтчетКомиссионераЗапасы.Всего КАК Всего,
               | ЗапасыПереданныеОстатки.Организация КАК Организация,
               | ЗапасыПереданныеОстатки.Номенклатура КАК НоменклатураПереданная,
               | ЗапасыПереданныеОстатки.Характеристика КАК ХарактеристикаПереданная,
               | ЗапасыПереданныеОстатки.Контрагент КАК Контрагент,
               | ЗапасыПереданныеОстатки.КоличествоОстаток КАК КоличествоОстаток,
               | ОтчетКомиссионераЗапасы.ЕдиницаИзмерения КАК ЕдиницаИзмерения
               |ИЗ
               | Документ.ОтчетКомиссионера.Запасы КАК ОтчетКомиссионераЗапасы
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗапасыПереданные.Остатки КАК ЗапасыПереданныеОстатки
               | ПО ОтчетКомиссионераЗапасы.Номенклатура = ЗапасыПереданныеОстатки.Номенклатура
               | И ОтчетКомиссионераЗапасы.Характеристика = ЗапасыПереданныеОстатки.Характеристика
               |ГДЕ
               | ЗапасыПереданныеОстатки.Организация = &Организация";

Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();

Данные = ОбщегоНазначения.ТаблицаЗначенийВМассив(РезультатЗапроса);

Возврат Данные;
КонецФункции

&НаКлиенте
Процедура ПередачаДанныхВформу()

Данные =  ЗапросСозданияДокОприход();

ДанныеЗаполнения = Новый Структура();
ДанныеЗаполнения.Вставить("ЗначенияЗаполнения",Данные);

ОткрытьФорму("Документ.ОприходованиеЗапасов.Форма.ФормаДокумента",Новый Структура("ЗначенияЗаполнения",ДанныеЗаполнения));

КонецПроцедуры

пытаюсь заполнить в моудуле объекта документа
&После("ОбработкаЗаполнения")
Процедура РасшОшибок_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)

Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
ЭтотОбъект.Комментарий  = "Созданно с помощью кнопки ВыгрузитьОшибки " + ТекущаяДата();
//Для каждого Данные из ДанныеЗаполнения.ЗначенияЗаполнения Цикл
// ТЧ = Новый Структура;
// Тч.Вставить("ЕдиницаИзмерения",Данные.ЕдиницаИзмерения);
// Тч.Вставить("Характеристика",Данные.Характеристика);
// Тч.Вставить("Количество",Данные.Количество);
// Тч.Вставить("Номенклатура",Данные.Номенклатура);
// Тч.Вставить("Цена",Данные.Цена);
// Тч.Вставить("Сумма",Данные.Сумма);
// Заполнить(ТЧ);
//КонецЦикла;
КонецЕсли;

КонецПроцедуры

antoneus

Так не работает что ли?

Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
    Комментарий  = "Создано с помощью кнопки ВыгрузитьОшибки " + ТекущаяДата();
    ЗаполнитьЗначенияСвойств(Запасы.Добавить(), ДанныеЗаполнения)
КонецЕсли;

Vasylii

antoneus, нет выдает одно поле не заполненное

antoneus

Какое? В структуре оно есть? Имя совпадает?

Vasylii

antoneus, в тч запасы появляется одно поле пустое, в структуре есть массив с данными и я его подставляю, данные в массиве есть с поля по названию совпадают только вопрос обязателен ли порядок?

antoneus

Порядок необязателен, а если так

Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
    Комментарий  = "Созданно с помощью кнопки ВыгрузитьОшибки " + ТекущаяДата();
    Для каждого Данные из ДанныеЗаполнения.ЗначенияЗаполнения Цикл   
        ЗаполнитьЗначенияСвойств(Запасы.Добавить(), Данные);
    КонецЦикла;
КонецЕсли;

и все-таки - какое поле пустое-то?

Vasylii

antoneus, все отлично если через цикл помогло

Похожие темы (5)

Рейтинг@Mail.ru

Поиск