Попытка
//Создадим документ УстановкаЦенНоменклатуры++
//ТипЦены = 000000001 (*Розничная)
НачатьТранзакцию(); //НАЧАТЬ ТРАНЗАКЦИЮ
ДокУстановкаЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
ДокПустой = Истина;
ДокУстановкаЦен.Дата = ТекущаяДата();
ДокУстановкаЦен.УстановитьНовыйНомер();
//
СтрокаЦен = ДокУстановкаЦен.ТипыЦен.Добавить();
ПоискТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000001");
СтрокаЦен.ТипЦен = ПоискТипЦен;
//Создадим документ УстановкаЦенНоменклатуры--
//Переберем Таблицу с ценами
//Проверим цену на товар++
Если ТаблНовойИЗагруженнойНоменклатуры.Количество() > 0 Тогда
ДокУстановкаЦен.Записать(РежимЗаписиДокумента.Запись,);
Для Каждого СтрокаИзТаблицы Из ТаблНовойИЗагруженнойНоменклатуры Цикл
ЦенаПоменялась = ПроверитьЦенуНаТовар(СтрокаИзТаблицы.Номенклатура.Ссылка,СтрокаИзТаблицы.ЦенаИзФайла);
Если ЦенаПоменялась Тогда
ДокПустой = Ложь;
ДокУстановкаЦенОбъект = ДокУстановкаЦен.Ссылка.ПолучитьОбъект();
СтрокаТовары = ДокУстановкаЦенОбъект.Товары.Добавить();
СтрокаТовары.Номенклатура = СтрокаИзТаблицы.Номенклатура.Ссылка;
СтрокаТовары.ТипЦен = ПоискТипЦен;
СтрокаТовары.Цена = Число(СтрокаИзТаблицы.ЦенаИзФайла);
СтрокаТовары.Валюта = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000001").ВалютаЦены.Ссылка;
СтрокаТовары.ЕдиницаИзмерения = СтрокаИзТаблицы.Номенклатура.Ссылка.ЕдиницаХраненияОстатков.Ссылка;
КонецЕсли;
КонецЦикла;
КонецЕсли;
//Проверим цену на товар--
Если НЕ ДокПустой Тогда
ДокУстановкаЦен.Записать(РежимЗаписиДокумента.Запись,);
ЗафиксироватьТранзакцию();
ФайлЛога.ДобавитьСтроку("Документ ""Установка цен номенклатур"" создан.");
Иначе
ДокУстановкаЦен = Неопределено;
КонецЕсли;
Исключение;
ОтменитьТранзакцию();
ФайлЛога.ДобавитьСтроку("Документ ""Установка цен номенклатур"" не создан.");
КонецПопытки;
Интересует вопрос, про Транзацкии, правильно ли они расставлены, нужно ли писать ДокУстановкаЦен.Записать(РежимЗаписиДокумента.Запись,); , если используются транзакции в коде как у меня?
! | Правила, пункт 4 |