8.х Документ ОперацияБух

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Adminspb, 17 янв 2008.

  1. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Нужно создать документ ОперацияБух
    который в табл.часть (видимую на форме - ТабличноеПолеДвиженияБУ)
    добавит строки c опред. значениями.
    Никак не могу получить доступ к Табл.полю.

    Что я делаю не так?
    Код:
    НовыйДокумент = Документы.ОперацияБух.ПолучитьФормуНовогоДокумента(); 
    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду ("000000002");
    
    НоваяСтрока = НовыйДокумент.ТабличноеПолеДвиженияБУ.Добавить(); 
    // Заполнить значения реквизитов.         
    НоваяСтрока.Склад       = Справочники.Склады.НайтиПоНаименованию("Оптовый БУ");    
    
    :unsure:
  2. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    В данном случае табличное поле содержит набор записей регистра бухгалтерии
    Там есть кнопочка "Сформировать проводки" на основании типовой операции.
    Можно прям по коду посмотреть как табличное поле заполняется.
  3. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Тогда делаю так:

    Код:
    НовыйДокумент = Документы.ОперацияБух.СоздатьДокумент(); 
    НовыйДокумент.Дата = Дата(2007, 12, 31);
    НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду ("00001    ");
    ДвиженияБУ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    
    Проводка = Движения.Хозрасчетный.Добавить();
    Проводка.СчетДт          = ПланыСчетов.Хозрасчетный.НайтиПоКоду("40.02"); 
    Проводка.СчетКт          = ПланыСчетов.Хозрасчетный.НайтиПоКоду("000"); 
    
    Все работает....почти =)

    Не понятно пока еще как добавить например элемент номенклатуры в табл.движений.

    Код:
    //    Проводка.СубконтоДт.СубконтоДт1 = НайденныйЭл.Ссылка;
    
    Поле в табл. части СубконтоДт1...но...как туда добавить???? :unsure:
  4. TopicStarter Overlay
    Adminspb
    Offline

    Adminspb Опытный в 1С

    Регистрация:
    18 дек 2006
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо, проблему решил
  5. hammerheat
    Offline

    hammerheat

    Регистрация:
    26 дек 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Не расскажешь как решил? Я до сих пор не могу добиться сохранения данных Субконте..
  6. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Вот пара примеров

    Код:
    Проводка = Документ.Движения.Хозрасчетный.Добавить();
    Проводка.Организация = Документ.Организация;
    Проводка.СчетДт = СтрокаТЗ.СчетДт;
    Проводка.СчетКт = СтрокаТЗ.СчетКт;
    Проводка.КоличествоДт = СтрокаТЗ.СКД3;
    Проводка.КоличествоКт = СтрокаТЗ.СКК3;
    Проводка.Период = КонецДня(Дата);
    Проводка.Содержание = "Ввод начальных остатков";
    Проводка.Сумма = СуммаПроводки
    
    Проводка.СубконтоДт.Вставить(Стр.СубконтоД1,СубконтоД1.СубконтоСсылка);
    Проводка.СубконтоКт.Вставить(Стр.СубконтоД1,СубконтоД1.СубконтоСсылка);
    // или если знаешь наименование, то напрямую
    Проводка.СубконтоДт.Номенклатура = СубконтоД2.СубконтоСсылка);
    Проводка.СубконтоКт.Номенклатура = СубконтоК2.СубконтоСсылка);
    
    // пересчитаем сумму документа
    Документ.СуммаОперации = 0;
    Для каждого Проводка Из Документ.Движения.Хозрасчетный Цикл
    Документ.СуммаОперации = Документ.СуммаОперации + Проводка.Сумма;
    КонецЦикла;
    Документ.Записать(РежимЗаписиДокумента.Запись);
    
  7. hammerheat
    Offline

    hammerheat

    Регистрация:
    26 дек 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Большон спасибо за примеры =)
    С этой частью операции вроде все получилось..

Поделиться этой страницей