|
Движения по регистру бухгалтерии международного учета | ☑ | ||
---|---|---|---|---|
0
Oz11
27.06.12
✎
12:23
|
конфа - Бухгалтерия (Украина 1.12.6.5)+ бит (1.2.5.3/2.8.8.9.F) - отличаются версии конфигураций потому что обновлял бухгалтерию до выхода битовского обновления (оно похоже даже в этот момент еще не вышло).
не могу записать движения в регистр бухгалтерии международный из документа ОпределениеФинансовыхРезультатов. сначала делал подпиской - результат 0. Если ТипЗнч(Источник) = Тип("ДокументОбъект.ОпределениеФинансовыхРезультатов") Тогда Если Источник.АТА_СписаниеМедСтраховок И НЕ Отказ Тогда // сначала закроем забаланс ПроводкиМУ = Источник.Движения.бит_Дополнительный_2; ПроводкиМУ.Записывать = Истина; Обороты = ЗапросНаЗакрытиеЗатрат(Источник.Дата).Выгрузить(); Для каждого Строка Из Обороты Цикл Проводка = ПроводкиМУ.Добавить(); Проводка.Период = Источник.Дата; Проводка.Содержание = "Закрытие затрат будущих периодов (МУ)"; Проводка.Регистратор = Источник.Ссылка; //Проводка.ВидПроводки = ВидДвиженияБухгалтерии.Дебет; //Проводка.ДатаФормирования = Источник.Дата; ЗаполнитьЗначенияСвойств(Проводка, Строка); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "АТА_Заказы", Строка.СубконтоДт1); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "АТА_Сотрудники", Строка.СубконтоДт2); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "АТА_МесяцНачисления", Строка.СубконтоДт3); КонецЦикла; // затем отразим затраты Результат = ЗапросПоОтражениюЗатратРаспределения(Обороты); // проверим существования счетов для отражения затрат 2022 и 1044 Счет2022 = ПланыСчетов.бит_Дополнительный_2.НайтиПоКоду("2022"); Счет1044 = ПланыСчетов.бит_Дополнительный_2.НайтиПоКоду("1044"); Если Счет2022 = ПланыСчетов.бит_Дополнительный_2.ПустаяСсылка() ИЛИ Счет1044 = ПланыСчетов.бит_Дополнительный_2.ПустаяСсылка() Тогда Сообщить("В системе не определены счета международного учета (2022 и 1044) для отражения затрат."); Отказ = Истина; Возврат; КонецЕсли; Таблица = СформироватьТаблицуРаспределенияЗатрат(Результат, Счет2022, Счет1044); // в итоге все есть в Таблице Для каждого Строка Из Таблица Цикл Проводка = ПроводкиМУ.Добавить(); Проводка.Период = Источник.Дата; Проводка.Содержание = "Отражение затрат будущих периодов (МУ)"; Проводка.Регистратор = Источник.Ссылка; //Проводка.ВидПроводки = ВидДвиженияБухгалтерии.Дебет; //Проводка.ДатаФормирования = Источник.Дата; ЗаполнитьЗначенияСвойств(Проводка, Строка); // нужно еще заполнять субконто Если Проводка.СчетКт = Счет2022 Тогда УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты", Строка.КонтрагентИзДокументаМед); УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "ДоговорыКонтрагентов", Строка.ДоговорКонтрагентаИзДокументаМед); ИначеЕсли Проводка.СчетКт = Счет1044 Тогда УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "РаботникиОрганизаций", Строка.Сотрудник.ФизЛицо); КонецЕсли; УстановитьСубконтоМУ(Проводка.СчетДт, Проводка.СубконтоДт, "РаботникиОрганизаций", Строка.Сотрудник.ФизЛицо); УстановитьСубконтоМУ(Проводка.СчетДт, Проводка.СубконтоДт, "ЦФО", Строка.ЦФО); КонецЦикла; КонецЕсли; КонецЕсли; потом перенес код в обработку проведения документа (думал может натупил чего) - все равно 0. при том что на последней строке обработки проведения документа в движениях по этому регистру аж 66 проводок. какая-то мистика. что я делаю не так? |
|||
1
Maxus43
27.06.12
✎
12:24
|
обалдеть названия... "бит_Дополнительный_2"
быдлоБИТ |
|||
2
Oz11
27.06.12
✎
12:27
|
в самом регистре перед записью количество строк в наборе 0! как так?
делал через принудительную запись (ПроводкиМУ.Записывать = Ложь) - первый проход в регистре есть 66 записей, второй - 0. такое ощущение что все затирается. не пойму в чем дело. |
|||
3
Maxus43
27.06.12
✎
12:27
|
ПроводкиМУ.Записать(); в конце
|
|||
4
Oz11
27.06.12
✎
12:32
|
(3) принудительная запись ничего не дает. и Записать() и Записать(Ложь). все как описано в (2).
|
|||
5
Oz11
27.06.12
✎
12:34
|
думал может запрет какой на запись в этот регистр - так нет. все разрешено. проводил еще один свой документ - двигающий этот регистр - все ОК. проводки идут.
|
|||
6
YF
27.06.12
✎
12:40
|
Что за Источник, если код в модуле документа?
|
|||
7
Oz11
27.06.12
✎
12:43
|
представленный код из подписки на событие - в модуль документа его перенес естественно с правками, никаких источников в модуле документа нет.
|
|||
8
Oz11
27.06.12
✎
12:45
|
вот код из модуля документа:
Если АТА_СписаниеМедСтраховок И НЕ Отказ Тогда // сначала закроем забаланс ПроводкиМУ = Движения.бит_Дополнительный_2; //ПроводкиМУ.Записывать = Истина; Обороты = АТА_ОбщегоНазначения.ЗапросНаЗакрытиеЗатрат(СтруктураШапкиДокумента.Дата).Выгрузить(); Для каждого Строка Из Обороты Цикл Проводка = ПроводкиМУ.Добавить(); Проводка.Период = СтруктураШапкиДокумента.Дата; Проводка.Содержание = "Закрытие затрат будущих периодов (МУ)"; Проводка.Регистратор = СтруктураШапкиДокумента.Ссылка; //Проводка.ВидПроводки = ВидДвиженияБухгалтерии.Дебет; //Проводка.ДатаФормирования = Источник.Дата; ЗаполнитьЗначенияСвойств(Проводка, Строка); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "АТА_Заказы", Строка.СубконтоДт1); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "АТА_Сотрудники", Строка.СубконтоДт2); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "АТА_МесяцНачисления", Строка.СубконтоДт3); КонецЦикла; // затем отразим затраты Результат = АТА_ОбщегоНазначения.ЗапросПоОтражениюЗатратРаспределения(Обороты); // проверим существования счетов для отражения затрат 2022 и 1044 Счет2022 = ПланыСчетов.бит_Дополнительный_2.НайтиПоКоду("2022"); Счет1044 = ПланыСчетов.бит_Дополнительный_2.НайтиПоКоду("1044"); Если Счет2022 = ПланыСчетов.бит_Дополнительный_2.ПустаяСсылка() ИЛИ Счет1044 = ПланыСчетов.бит_Дополнительный_2.ПустаяСсылка() Тогда Сообщить("В системе не определены счета международного учета (2022 и 1044) для отражения затрат."); Отказ = Истина; Возврат; КонецЕсли; Таблица = АТА_ОбщегоНазначения.СформироватьТаблицуРаспределенияЗатрат(Результат, Счет2022, Счет1044); // в итоге все есть в Таблице Для каждого Строка Из Таблица Цикл Проводка = ПроводкиМУ.Добавить(); Проводка.Период = СтруктураШапкиДокумента.Дата; Проводка.Содержание = "Отражение затрат будущих периодов (МУ)"; Проводка.Регистратор = СтруктураШапкиДокумента.Ссылка; //Проводка.ВидПроводки = ВидДвиженияБухгалтерии.Дебет; //Проводка.ДатаФормирования = Источник.Дата; ЗаполнитьЗначенияСвойств(Проводка, Строка); // нужно еще заполнять субконто Если Проводка.СчетКт = Счет2022 Тогда АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "Контрагенты", Строка.КонтрагентИзДокументаМед); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "ДоговорыКонтрагентов", Строка.ДоговорКонтрагентаИзДокументаМед); ИначеЕсли Проводка.СчетКт = Счет1044 Тогда АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетКт, Проводка.СубконтоКт, "РаботникиОрганизаций", Строка.Сотрудник.ФизЛицо); КонецЕсли; АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетДт, Проводка.СубконтоДт, "РаботникиОрганизаций", Строка.Сотрудник.ФизЛицо); АТА_ОбщегоНазначения.УстановитьСубконтоМУ(Проводка.СчетДт, Проводка.СубконтоДт, "ЦФО", Строка.ЦФО); КонецЦикла; ПроводкиМУ.Записать(); КонецЕсли; в этом варианте в методе перед записью регистра ловлю запись 2а раза!! первый раз - 66 строк в наборе, второй - 0. |
|||
9
YF
27.06.12
✎
12:52
|
(8) Это же не весь код обработки проведения ...
+ Отладчиком-то иди по проведению документа - увидишь где теряются |
|||
10
Oz11
27.06.12
✎
12:58
|
(9) ходил.
если через Записывать = Истина; - на последней строке обработки проведения 66 строк в наборе, в регистре, перед записью, - 0. если через принудительную запись Записать(Ложь); - сперва в регистре 66 строк, в конце обработки проведения - 0 строк, в регистре 0 строк. если через принудительную запись Записать(); - сперва в регистре 66 строк, в конце обработки проведения - 66 строк, в регистре 0 строк. такое ощущение что "на пути" из документа в регистр набор затирается. код обработки проведения: мКонДата = Дата; мПроводкиБУ = Движения.Хозрасчетный; // Сформируем структуру реквизитов шапки документа СтруктураШапкиДокумента = ОбщегоНазначения.СформироватьСтруктуруШапкиДокумента(ЭтотОбъект); УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(СтруктураШапкиДокумента.Дата, Отказ, СтруктураШапкиДокумента.Организация); СтруктураШапкиДокумента.Вставить("НеРаспределятьОПЗнаСебестоимостьПродукции", УчетнаяПолитика.НеРаспределятьОПЗнаСебестоимостьПродукции); Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка); // Проверка ручной корректировки Если ОбщегоНазначения.РучнаяКорректировкаОбработкаПроведения(РучнаяКорректировка,Отказ,Заголовок,ЭтотОбъект) Тогда Возврат КонецЕсли; ПроверитьЗаполнениеШапки(СтруктураШапкиДокумента, Отказ, Заголовок); ПроверитьНастройкиСубконто(Отказ, Заголовок); Если Не Отказ Тогда ДвиженияПоРегистрам(СтруктураШапкиДокумента, Отказ, Заголовок); //+АТА Олег ЖВ (27.06.12) ДвижениеПоСписаниюМедСтраховок(СтруктураШапкиДокумента, Отказ); //-АТА Олег ЖВ (27.06.12) КонецЕсли; Движения.Хозрасчетный.ВыполнитьДействияПередЗаписьюДвижений(); |
|||
11
Oz11
27.06.12
✎
13:44
|
подбросьте какую-то умную мысль - что-то уже умаялся я с выяснением причины.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |