|
v7: БУ 4.5 - Назначение типа субконто в бух справке | ☑ | ||
---|---|---|---|---|
0
YurAnt
23.12.13
✎
15:03
|
Доброго времени суток, господа-форумчане. Проблема такого характера, в цикле перебираю XMLку, выбираю оттуд данные (не суть конечно, но строка такого вида (без кавычек): "2;0;22.12.2013;0;БН;0;571,80", оттуд беру только дату и сумму (далее ТЗ.ДатаДок, ТЗ.Сумма)
Проблема начинается при выдаче типа субконто... Для А = 1 По 3 Цикл ДокБСп.НазначитьТип("Субконто" + А, Счет9021.ВидСубконто(А)); КонецЦикла; ругается на строку в цикле. попробовал даже так, напрямую... ДокБСп.НазначитьТип("Субконто1", Счет9021.ВидСубконто(1)); ДокБСп.НазначитьТип("Субконто2", Счет9021.ВидСубконто(2)); ругается от так: ДокБСп.НазначитьТип("Субконто1", Счет9021.ВидСубконто(1)); {C:\DOCUMENTS AND SETTINGS\YURANT\РАБОЧИЙ СТОЛ\ЗАГРУЗКАПОСТУПЛЕНИЙИЗIIKO.ERT(134)}: Реквизит с данным идентификатором не найден! Сами значения Вида субконто - корректны (ниже то что отловил по шифт+Ф9 Счет9021.ВидСубконто(1) = Виды номенклатуры Счет9021.ВидСубконто(2) = Места хранения в общем меня терзают смутные сомнения... Благодарен за любые советы, с ув. YurAnt (полный код процедуры) //***************************************************************** Процедура СоздатьБухгалтерскуюСправку(ТЗ) СпрСубконто = СоздатьОбъект("Справочник.МестаХранения"); Если СпрСубконто.НайтиПоНаименованию("Закусочная", 0, 1) = 1 Тогда ТекСубконто = СпрСубконто.ТекущийЭлемент(); Иначе ТекСубконто = ПолучитьПустоеЗначение("Справочник.МестаХранения"); КонецЕсли; Счет9021 = СчетПоКоду("90.2.1"); Счет412 = СчетПоКоду("41.2"); Счет571 = СчетПоКоду("57.1"); Счет9012 = СчетПоКоду("90.1.2"); СпрВидПрод = СоздатьОбъект("Справочник.ВидыНоменклатуры"); Если СпрВидПрод.НайтиПоНаименованию("Торговля в розницу", 0, 1) = 1 Тогда ВидПрод = СпрВидПрод.ТекущийЭлемент(); Иначе ВидПрод = ПолучитьПустоеЗначение("Справочник.ВидыНоменклатуры"); КонецЕсли; СпрСкл = СоздатьОбъект("Справочник.МестаХранения"); Если СпрСкл.НайтиПоНаименованию("Закусочная", 0, 1) = 1 Тогда Склад = СпрСкл.ТекущийЭлемент(); Иначе Склад = ПолучитьПустоеЗначение("Справочник.МестаХранения"); КонецЕсли; СпрДвижДСр = СоздатьОбъект("Справочник.ДвиженияДенежныхСредств"); Если СпрДвижДСр.НайтиПоНаименованию("Пластиковые карты", 0, 1) = 1 Тогда ВидДвижДСр = СпрДвижДСр.ТекущийЭлемент(); Иначе ВидДвижДСр = ПолучитьПустоеЗначение("Справочник.ДвиженияДенежныхСредств"); КонецЕсли; ДокБСп = СоздатьОбъект("Документ.БухгалтерскаяСправка"); ДокБСп.Новый(); ДокБСп.ДатаДок = ТЗ.ДатаДок; //НоваяСтрока1_____________________________________________________ ДокБСп.НоваяСтрока(); ДокБСп.СчетДт = Счет9021; Для А = 1 По 3 Цикл ДокБСп.НазначитьТип("Субконто" + А, Счет9021.ВидСубконто(А)); КонецЦикла; ДокБСп.Субконто1 = ВидПрод; ДокБСп.Субконто2 = Склад; //ДокБСп.Субконто3 = МестоХранения; ДокБСп.СчетКт = Счет412; Для А = 1 По 3 Цикл ДокБСп.НазначитьТип("Субконто" + А, Счет412.ВидСубконто(А)); КонецЦикла; ДокБСп.Субконто1 = Склад; ДокБСп.Сумма = ТЗ.Сумма; //НоваяСтрока1_____________________________________________________ //НоваяСтрока2_____________________________________________________ ДокБСп.НоваяСтрока(); ДокБСп.СчетДт = Счет571; Для А = 1 По 3 Цикл ДокБСп.НазначитьТип("Субконто" + А, Счет571.ВидСубконто(А)); КонецЦикла; ДокБСп.Субконто1 = ВидДвижДСр; //ДокБСп.Субконто2 = Склад; //ДокБСп.Субконто3 = МестоХранения; ДокБСп.СчетКт = Счет9012; Для А = 1 По 3 Цикл ДокБСп.НазначитьТип("Субконто" + А, Счет412.ВидСубконто(А)); КонецЦикла; ДокБСп.Субконто1 = ВидПрод; ДокБСп.Субконто2 = Склад; ДокБСп.Сумма = ТЗ.Сумма; //НоваяСтрока2_____________________________________________________ ДокБСп.Записать(); ДокБСп.Провести(); КонецПроцедуры //***************************************************************** |
|||
1
YurAnt
23.12.13
✎
15:55
|
тема закрыта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |