Задача элементарна, но уже с утра не могу справиться, наверно 7-ку подзабыл. Необходимо присвоить элементам справочника значения. Код элементарный:
Процедура Сформировать()
Док=СоздатьОбъект("Документ.ПоступлениеМатериалов");
Док.ВыбратьДокументы(НачДата,КонДата);
Спр=СоздатьОбъект("Справочник.Материалы");
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.Проведен()=0 Тогда
Продолжить;
КонецЕсли;
Если Док.ПометкаУдаления()=1 Тогда
Продолжить;
КонецЕсли;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
Если Спр.НайтиПоКоду(Док.Материал.Код,0)=1 Тогда
Спр.СчетФактура=""+СокрЛП(Док.НомерСчетаФактуры)+" от "+Док.ДатаСчетаФактуры;
Спр.СтавкаНДС=Док.ВариантРасчетаНалогов.СтавкаНДС.Ставка;
Спр.Записать();
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Смотрю в отладчике, значения правильные. Почему не записывает?
Процедура Сформировать()
Спр=СоздатьОбъект("Справочник.Материалы");
Док=СоздатьОбъект("Документ.ПоступлениеМатериалов");
Док.УстановитьФильтр(1,0);
Док.ВыбратьДокументы(НачДата,КонДата);
Пока Док.ПолучитьДокумент()=1 Цикл
//Если Док.Проведен()=0 Тогда
// Продолжить;
//КонецЕсли;
//Если Док.ПометкаУдаления()=1 Тогда
// Продолжить;
//КонецЕсли;
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()=1 Цикл
// Если Спр.НайтиПоКоду(Док.Материал.Код,0)=1 Тогда
Спр.НайтиЭлемент(Док.Материал);
Спр.СчетФактура=""+СокрЛП(Док.НомерСчетаФактуры)+" от "+Док.ДатаСчетаФактуры;
Спр.СтавкаНДС=Док.ВариантРасчетаНалогов.СтавкаНДС.Ставка;
Спр.Записать();
// КонецЕсли;
КонецЦикла;
КонецЦикла;
//на самом деле, всё в топку - нужно материал выбирать запросом, а не перезаписывать в цикле каждый раз одинаковые элементы справочников.
КонецПроцедуры
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой