Имя: Пароль:
1C
1С v8
Ошибка при программном создании Поступления товаров и услуг в бух 3.0
0 AceVi
 
22.11.17
15:53
Бухгалтерия предприятия, редакция 3.0 (3.0.54.15)

Создаю обычный документ поступления с видом товары
Проблема: при программном создании документа он не проводииться, т.к. счет учета в т.ч. товары 41.01, а программа ругается - Некорректно заполнена колонка "Счет учета" в строке 1 списка "Товары".
Следует указать забалансовый счет. Как бы говоря нам что документ не с типом товары, а с типом товары на комиссию, хотя это не так! Какой признак я упускаю, может кто сталкивался с подобным?

Код создания

ДокОбъект = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();

    
    ДокОбъект.Контрагент = ТекКонтрагент;
    
    ДокОбъект.ВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.Товары;
    ДокОбъект.Дата = ДатаПоступления;
    ДокОбъект.Склад = Справочники.Склады.НайтиПоКоду("000000004");//Основной склад, он 1
    ДокОбъект.Организация = Справочники.Организации.НайтиПоКоду("000000001");//ООО "АММА ТРЕЙД"
    
    // Выполняем общие действия для всех документов при изменении Контрагент.
    мСписокВидовДоговоров = Новый Массив;
    мСписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
    ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(ДокОбъект,мСписокВидовДоговоров);
    
    ДокОбъект.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить();
    //ДокОбъект.УчитыватьНДС = Истина;
    ДокОбъект.ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная цена");
    ДокОбъект.НДСВключенВСтоимость = Истина;
    ДокОбъект.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
    
    ДокОбъект.ДополнительныеСвойства.Вставить("ЗаполнитьСчетаУчетаПередЗаписью", Истина);

П.с. я знаю что по коду искать элементы нельзя, это временная заглушка потом будет все в интерфейсе.
1 vicof
 
22.11.17
15:58
Ну запусти отладчик и посмотри.
2 Denis_CFO
 
22.11.17
15:58
А где заполнение табличной части, проблема же в ней?
3 AceVi
 
22.11.17
16:32
(1) Запускаю - там какая то очень большая проверка (создание правил проверки, затем проверка по этим правилам) , пока разбираюсь но вижу это займет много времени, а тут может кто сталкивался подскажет.

(2) Сомневаюсь что проблема в т.ч.


СтрокаТабличнойЧасти = ДокОбъект.Товары.Добавить();
            
            ЗаполнитьЗначенияСвойств(СтрокаТабличнойЧасти,СтрНом);
                         
            СтрокаТабличнойЧасти.ОтражениеВУСН = ПоступлениеТоваровУслугФормыКлиентСервер.ОтражениеВУСН(ДокОбъект.ВидОперации, ЭтоКомиссия);
            
            // Заполняем реквизиты табличной части.
            ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ДокОбъект,"Товары",ДокОбъект.Метаданные());
            СтруктураШапкиДокумента = Новый Структура("Контрагент, ТипЦен, ДоговорКонтрагента, ДатаДокумента, ВалютаДокумента, СуммаВключаетНДС",
            ДокОбъект.Контрагент, ДокОбъект.ТипЦен, ДокОбъект.ДоговорКонтрагента, ДокОбъект.Дата,ДокОбъект.ВалютаДокумента, ДокОбъект.СуммаВключаетНДС);
            ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПокупкиТабЧасти(СтрокаТабличнойЧасти, ДокОбъект,"Товары", ДокОбъект.Метаданные());
            
            СтрокаТабличнойЧасти.Цена = СтрНом.СредняяЦенаПоступления;
            
            // Рассчитываем реквизиты табличной части.
            //ОбработкаТабличныхЧастей.ЗаполнитьЦенуВРозницеТабЧасти(СтрокаТабличнойЧасти, ДокОбъект, ДокОбъект.Метаданные());
            
            ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти);
            ОбработкаТабличныхЧастейКлиентСервер.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокОбъект.НДСВключенВСтоимость);

"ЭтоКомиссия" = Ложь в данном случае.
ЗаполнитьЗначенияСвойств - заполняет только номенклатуру и кол-во
4 AceVi
 
22.11.17
16:32
(3) Тут все просто - ставим номен-ру и кол-во, ставим цену а дальше стандартное заполнение суммы.
5 Denis_CFO
 
22.11.17
18:31
(4) Нет конфы под рукой. Если здесь ЗаполнитьЗначенияСвойств точно все правильно. Тогда посмотри ещё счет учета у номенклатуры или у её группы, может там стоит чего не то.
6 Aleksey
 
22.11.17
18:40
А договор заполнен? Он точно с поставщиком?
7 AceVi
 
23.11.17
09:18
(5) Проверял, там все верно. Просто вместо правила "ЗапасыКромеПринятыхНаКомиссиюИлиВПереработку" используется правило "ТоварыПринятыеНаКомиссию" это в модуле менеджера документа поступления. И я никак не могу понять почему.
(6) Договор заполнен и он с поставщиком.
Более того - если программно созданный документ скопировать, будет та же ошибка. а если с 0 создать документ с этим же контром , договором и номенклатурой , то ошибки нет и на 41 счет все спокойно приходуется.Все еще разбираюсь, если будут мысли пишите.
8 AceVi
 
23.11.17
11:47
ап
9 AceVi
 
24.11.17
10:48
ап
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.