Имя: Пароль:
1C
1С v8
Нужно ли использовать транзакции в моём случае - документ вводится из другого
0 Cerera
 
28.11.12
09:17
При нажатии на кнопку в одном документе, создаётся другой документ и проводится. Операция элементарная - из табличной части первого документа один в один переносятся строчки, только не все поля и документ проводится. В этом случае не обязательно использовать транзакции?
вот код:


Процедура КоманднаяПанель1Действие9(Кнопка)
   ПерезаполнитьТаблицуПотребностей();
   Если УстанавливаемыеПотребности.Количество()>0 Тогда
       Записать();
       СоздатьДокументПотребности();
   КонецЕсли;
КонецПроцедуры
Процедура СоздатьДокументПотребности()
   ДокУстановкаПотребности=Документы.УстановкаПотребности.СоздатьДокумент();
   ДокУстановкаПотребности.Ответственный = Ответственный;
   ДокУстановкаПотребности.Основание = Ссылка;
   ДокУстановкаПотребности.Дата=Дата;
   ДокУстановкаПотребности.ДатаПотребности=ТекущаяДата();
   Для Каждого ТекСтрокаУстанавливаемыеПотребности Из УстанавливаемыеПотребности Цикл
       НоваяСтрока = ДокУстановкаПотребности.Потребности.Добавить();
       НоваяСтрока.Номенклатура=ТекСтрокаУстанавливаемыеПотребности.Номенклатура;
       НоваяСтрока.ХарактеристикаНоменклатуры=ТекСтрокаУстанавливаемыеПотребности.ХарактеристикаНоменклатуры;
       НоваяСтрока.Потребность = ТекСтрокаУстанавливаемыеПотребности.Количество;
       НоваяСтрока.Склад = ТекСтрокаУстанавливаемыеПотребности.Склад;
       НоваяСтрока.Контрагент = Контрагент;
   КонецЦикла;
   ДокУстановкаПотребности.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
1 ICWiner
 
28.11.12
09:20
Не нужно, вроде. А вот это зачем?

Если УстанавливаемыеПотребности.Количество()>0 Тогда
       Записать();
       СоздатьДокументПотребности();
   КонецЕсли;


И что делает вот это?

ПерезаполнитьТаблицуПотребностей();

И если несколько раз нажать на кнопку, то 1с создаст несколько одинаковых документов?
2 Нуф-Нуф
 
28.11.12
09:20
не нужна
3 Cerera
 
28.11.12
09:24
(1)а это для того чтоб проверить нужно ли создавать документ установки потребностей. Если в табличной части нет строк, то нет смысла создавать.
(1)А в самом создаваемом документе проверка стоит. Он не запишется, если уже был создан подобный документ ранее.
(2)спасибо