Имя: Пароль:
1C
 
создать программно документ Операция с заполнением табличной части
0 first_may
 
17.05.19
14:25
Добрый день.

Конфигурация Бухгалтерия предприятия, редакция 3.0.

Подскажите пожалуйста, как можно создать программно документ Операция с заполнением табличной части,
но при этом его не записывать, так как пользователь может отказаться от его записи.
1 first_may
 
17.05.19
14:30
Нашел статью
http://catalog.mista.ru/public/118784/

Но вот как ее использовать для операции, не могу понять.

Или есть другой способ.
2 ColonelAp4u
 
17.05.19
14:42
(1) могу ошибаться на счет бп 3.0, а разве табличная часть документа операция не есть набор движений регистра бух как в 2.0 упп 1.3? просто там документ не проводился а именно записывался, в тч проводки уже сделанные движения.
3 first_may
 
17.05.19
14:48
(2) все правильно, и в тройке тоже самое, что и в двойке..

Но там я писал вот так

    НовыйДокумент = Документы.ОперацияБух.СоздатьДокумент();
    НовыйДокумент.Дата = ДатаДокумента;
    НовыйДокумент.Организация = ДокументПТУ.Организация;
    НовыйДокумент.Содержание = "ыждлапждывлпдывжаолплдвао";
    
    Для Каждого Строка Из Товары Цикл
        НоваяСтрока = НовыйДокумент.Движения.Хозрасчетный.Добавить();
        НоваяСтрока.СчетДт = ПланыСчетов.Хозрасчетный.ГТД;
        НоваяСтрока.СубконтоДт.Номенклатура = Строка.Номенклатура;
        НоваяСтрока.СубконтоДт.НомераГТД = Строка.НомерГТД;
        НоваяСтрока.СубконтоДт.СтраныПроисхождения = Строка.СтранаПроисхождения;
        НоваяСтрока.КоличествоДт = Строка.Количество;
    КонецЦикла;
    
    НовыйДокумент.ПолучитьФорму().Открыть();

и он создавался с заполненной частью, но не записывался.

И при открытии формы все было заполнено.
4 RomanYS
 
17.05.19
14:55
(3) Здесь так нельзя. Отрывай форму и заполняй реквизит формы в котором отражаются проводки. Можно параметром передать массив структур с проводками.
5 first_may
 
17.05.19
15:01
(4) конфа типовая, на поддержке и снимать нельзя.

Во внешней обработке есть таблица нужных проводок (отображены на форме).
Вот по кнопке, надо создать документ и все это из таблицы передать в него.

Как передать массив структур с проводками?
6 shuhard
 
17.05.19
15:02
(5) Активность=Ложь;
7 Kondarat
 
17.05.19
15:20
(0) Держи. Дальше сам.
&НаКлиенте
Процедура ОК(Команда)
    
    ФормаДокумента = ПолучитьФорму("Документ.ОперацияБух.ФормаОбъекта");
    Для сч =1 по 9 Цикл
        
        НоваяСтрока = ФормаДокумента.ХозрасчетныйНаборЗаписей.Добавить();
        НоваяСтрока.СчетДт = ПолучитьСчетПоКоду("10.0" + сч);
        
        ОбработатьИзменениеСчета(ФормаДокумента, "Дт", НоваяСтрока);
        
    КонецЦикла;    

    ФормаДокумента.Открыть();
    
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура ОбработатьИзменениеСчета(Форма, ДтКт, СтрокаТаблицы)
    
    ПоляФормы = Новый Структура("Субконто1,Субконто2,Субконто3");
    ПоляФормы.Субконто1 = "ХозрасчетныйСубконто" + ДтКт + "1";
    ПоляФормы.Субконто2 = "ХозрасчетныйСубконто" + ДтКт + "2";
    ПоляФормы.Субконто3 = "ХозрасчетныйСубконто" + ДтКт + "3";
    БухгалтерскийУчетКлиентСервер.ПриВыбореСчета(СтрокаТаблицы["Счет" + ДтКт], Форма, ПоляФормы, Неопределено, Истина, Ложь);
    
    ПоляОбъекта = Новый Структура("Субконто1,Субконто2,Субконто3,Подразделение,Валютный,Количественный,Организация");
    ПоляОбъекта.Субконто1      = "Субконто" + ДтКт + "1";
    ПоляОбъекта.Субконто2      = "Субконто" + ДтКт + "2";
    ПоляОбъекта.Субконто3      = "Субконто" + ДтКт + "3";
    ПоляОбъекта.Подразделение  = "Подразделение" + ДтКт;
    ПоляОбъекта.Валютный       = "Валютный" + ДтКт;
    ПоляОбъекта.Количественный = "Количественный" + ДтКт;
    ПоляОбъекта.Организация    = Форма.Объект.Организация;
    БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(СтрокаТаблицы["Счет" + ДтКт], СтрокаТаблицы, ПоляОбъекта, Истина, , Ложь);
    
КонецПроцедуры

&НаСервере
Функция ПолучитьСчетПоКоду(КодСчета)
    
    Возврат ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета);

КонецФункции // ПолучитьСчетПоКоду()
8 RomanYS
 
17.05.19
15:21
(5)
>> Как передать массив структур с проводками?
На сервере сделать из ТЗ массив структур, вернуть на клиент. Засунуть эту структуру в нужное поле структуры параметров и передать в открытьформу. Имена полей смотреть в ПриСозданииНаСервере, у меня БП3 под рукой нет.
9 first_may
 
17.05.19
15:28
(7) Спасибо
10 first_may
 
17.05.19
15:41
(7) Ой, еще раз хочу сказать. Большое спасибо :).
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой