|
Нужно ли использовать транзакции в моём случае - документ вводится из другого
| ☑ |
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)спасибо
|
|