Версия для печати темы (https://pro1c.org.ua/index.php?s=b22f1aaae68c5359cdc4b3151268f78c&showtopic=52464)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Создание документ ОперацияБух

Автор: Юля 10.06.19, 14:41

Привіт, бухгалтерія 2.0 потрібно обробкою створити документ Операції введені вручну. Тобто є форма на якій розміщена кнопка створити документ і заповнити. Документ створюється, але табличну частину не можу заповнити, таблицю бачу , бачу колонки, заповнити рне можу. Підкажіть, як звернутися до строк в таблиці. Потрібно прописати рах 231 - всі його субконто, відповідно суму...

Автор: sava1 10.06.19, 14:48

Цитата(Юля @ 10.06.19, 15:41) *
як звернутися до строк в таблиці.


Для каждого строка из Таблица

а для Операции надо обращаться к Движениям

Автор: Юля 13.06.19, 13:23

sava1 @ 10.06.19, 15:48 * ,

Не хочи добавляти субконто Дт , допоможіть будь-ласка. Помилки не видає, поля добавляє, суму, рахунки, а субконто ні.

&НаСервере
Процедура СоздатьДокументНаСервере()
    
     ДокОперация = Документы.ОперацияБух.СоздатьДокумент();
        ДокОперация.Дата = КонПериода;
        ДокОперация.Организация = Организация;
        ДокОперация.Ответственный = ПараметрыСеанса.ТекущийПользователь;
        ДокОперация.Содержание =  "створено програмно, Розподіл: " + НомГрупаГотова;
        ДокОперация.Комментарий = "Комментарий";
        //ДокОперация.СуммаОперации = Объект.ХозрасчетныйНаборЗаписей.Итог("Сумма");  
        ДокОперация.Записать();

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

            РегЗапись.СчетКт = КТ;
            
            //РегЗапись = РегХозрасчетный.Добавить();
            //РегЗапись.Сумма = -1 * Строка.Сумма;
             
            
                  
        КонецЦикла;
                        
        РегХозрасчетный.Записать();
    
КонецПроцедуры

Автор: sava1 13.06.19, 14:18

Выше писал - нет в документе ТЧ - обращаться надо к НаборуЗаписей

создаем Хозрасчетный.НаборЗаписей
устанавливаем отбор по документу
считываем
обнуляем
пищем проводки прямо в НаборЗаписей
записываем.

Автор: Юля 13.06.19, 14:47

sava1 @ Сегодня, 15:18 * ,
проводки создает, субконто не хочет прописовать(
может я не до конца понимаю - ИЗВИНИТЕ why.gif

Автор: sava1 13.06.19, 15:23

Тогда отладчиком посмотреть, почему УстановитьСубконто не срабатывает

Автор: Юля 14.06.19, 12:29

Заработало))))))
Вместо:

БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт,РегЗапись.СубконтоДт, "НоменклатурныеГруппы", Строка.НоменкГрупа);

прописала так:
РегЗапись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатурныеГруппы]= Строка.НомГрупа;

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua