Имя: Пароль:
1C
1С v8
заполнения строк номенклатуры
0 spapin87
 
16.08.13
11:06
Добрый день.
В документе ПНК есть 2 колонки (Количество и СкКол(то что пришло, проставляется из СФ)). Так от если товар не пришел или он бракованный при проведении есть расхождения по этим колонкам, я делаю возврат поставщику. Есть ли способ копировать строки из ПНК в возврат целиком и заполнять? Или придется каждую колонку заполнять как я щас в коде

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