Имя: Пароль:
1C
 
Переношу данные из одной формы в другую, поле количество не переносится
0 Narada
 
naïve
17.02.25
22:34
Доброго времени суток! Коллеги, подскажите пожалуйста в чем дело может быть. Я в обработчике переношу данные из одного документа в другой. Все данные переносит, кроме поле Количество.
Реквизит количество в двух документах совпадают по типу.
В форме нет очистки поля при открытии и тп
В отладчике видно, что он передает число
Ошибку не выдает при переносе

КОД

&НаСервере
Процедура СоздатьДокументыПередачиНаСервере(МассивЗаказов)
    
    Для Каждого ЗаказКлиента Из МассивЗаказов Цикл
        /// Создаем новый документ "Передача товаров на комиссию"
        НовыйДокумент = Документы.ПередачаТоваровХранителю.СоздатьДокумент();
        НовыйДокумент.Дата = ТекущаяДата();
        НовыйДокумент.Партнер = ЗаказКлиента.Партнер;
        НовыйДокумент.Менеджер = ЗаказКлиента.Менеджер;
        НовыйДокумент.Подразделение = ЗаказКлиента.Подразделение;
        НовыйДокумент.КонтактноеЛицо = ЗаказКлиента.КонтактноеЛицо;
        
        
        /// Заполняем табличную часть "Товары" на основе данных из заказа клиента
        Для Каждого СтрокаТоваров Из ЗаказКлиента.Товары Цикл
            НоваяСтрока = НовыйДокумент.Товары.Добавить();
            НоваяСтрока.Номенклатура = СтрокаТоваров.Номенклатура;
            НоваяСтрока.Количество = СтрокаТоваров.Количество;
            НоваяСтрока.Цена = СтрокаТоваров.Цена;
            НоваяСтрока.Сумма = СтрокаТоваров.Сумма;
            
            
            
            
            
        КонецЦикла;

        НовыйДокумент.Записать(РежимзаписиДокумента.Проведение);    
    КонецЦикла;
КонецПроцедуры

Заранее благодарю за удаленное время!
1 Voronve
 
17.02.25
22:39
(0) Поищи поле "КоличествоЕдиниц" или как оно у тебя там называется - это оно
2 Мультук
 
гуру
17.02.25
22:41
(0)

1) Если ВНИМАТЕЛЬНО посмотреть в форме документа на странице "Товары" на колонку "Количество" то можно увидеть,
что оно смотрит на поле "Объект.Товары.КоличествоУпаковок".
А его судя по коду вы не заполняете

2)
Обратите внимание на поля:
Упаковка
КоличествоУпаковок
3 Narada
 
naïve
17.02.25
22:45
Всех Благо Дарю. Поле называлось КоличествоУпаковок.
4 Мультук
 
гуру
17.02.25
22:47
(0)

А вообще выкиньте ваш говнокод и напишите нормально.

Документ "ПередачаТоваровХранителю" умеет заполняться на основании ЗаказКлиента,
и даже на основании массива из ЗаказКлиента

НовыйДокумент = Документы.ПередачаТоваровХранителю.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата(); 
НовыйДокумент.Заполнить(НекаяСтруктура);


Состав НекаяСтруктура можно глянуть в модуле документа "ПередачаТоваровХранителю",
в

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
5 Narada
 
naïve
17.02.25
23:09
Благо дарю, переделал))
&НаСервере  
Процедура СоздатьДокументыПередачиНаСервере(МассивЗаказов)
    
    Для Каждого ЗаказКлиента Из МассивЗаказов Цикл
        /// Создаем структуру для заполнения заголовка документа
        СтруктураДанных = Новый Структура;
        СтруктураДанных.Вставить("Партнер", ЗаказКлиента.Партнер);
        СтруктураДанных.Вставить("Менеджер", ЗаказКлиента.Менеджер);
        СтруктураДанных.Вставить("Подразделение", ЗаказКлиента.Подразделение);
        СтруктураДанных.Вставить("КонтактноеЛицо", ЗаказКлиента.КонтактноеЛицо);
        
        /// Создаем новый документ и заполняем заголовок на основании структуры
        НовыйДокумент = Документы.ПередачаТоваровХранителю.СоздатьДокумент();
        НовыйДокумент.Дата = ТекущаяДата();
        НовыйДокумент.Заполнить(СтруктураДанных);
        
        /// Заполняем табличную часть "Товары"
        Для Каждого СтрокаТоваров Из ЗаказКлиента.Товары Цикл
            НоваяСтрока = НовыйДокумент.Товары.Добавить();
            НоваяСтрока.Номенклатура = СтрокаТоваров.Номенклатура;
            НоваяСтрока.КоличествоУпаковок = СтрокаТоваров.КоличествоУпаковок;
            НоваяСтрока.Цена = СтрокаТоваров.Цена;
            НоваяСтрока.Сумма = СтрокаТоваров.Сумма;
        КонецЦикла;
        
        /// Проводим документ
        НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
КонецПроцедуры
6 Волшебник
 
17.02.25
23:36
И перестаньте генерить свой код через нейронку. Пишите по-человечески
Закон Брукера: Даже маленькая практика стоит большой теории.