|
КД, выгрузка движений документов в бух. операцию | ☑ | ||
---|---|---|---|---|
0
Лохматые Уши
06.01.15
✎
09:33
|
Всем привет!
Есть задача по выгрузке регистра бухгалтерии из БП 2.0 в БП 3.0. Как в конвертации данных прописать правила? К примеру, в качестве источника указываем прих. касс. ордер, в качестве приемника бух. операцию. В правилах выгрузки данных формируем ТЗ по движениям документа: Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Проводки.Отбор.Регистратор.Значение = Объект; Проводки.Прочитать(); ТаблицаНабораЗаписей = Проводки.Выгрузить(); А дальше что? Нигде не нашел толкового примера. |
|||
1
yavasya
06.01.15
✎
09:44
|
я бы выгружал в .dbf
|
|||
2
yavasya
06.01.15
✎
09:45
|
Задача для чего нужна вообще не понятна
|
|||
3
Лохматые Уши
06.01.15
✎
09:51
|
(1) Можно и в txt выгрузить, но как потом многократно загружать?
Задача - консолидировать бухгалтерию из нескольких баз в одну. Смотреть консолидированные данные уже в новой бухгалтерии 3.0. Документы переносить нет смысла, пока решено перенести все движения. В качестве регистратора у регистра бухгалтерии будет бух. операция. |
|||
4
renegade
06.01.15
✎
09:58
|
Дальше создаешь структуру с реквизитами документа и передаешь ее в ВыгрузитьПоПравилу(). Например вот так:
Если ТаблицаДанных.Количество() <> 0 Тогда ВходящиеДанные = Новый Структура("Номер, Дата, Содержание, СпособЗаполнения, СуммаОперации, ТиповаяОперация, Комментарий, Организация, Хозрасчетный"); ВходящиеДанные.Организация = Неопределено; ВходящиеДанные.Комментарий = "Комментарий"; ВходящиеДанные.Содержание = "Содержание"; ВходящиеДанные.СпособЗаполнения = "Вручную"; ВходящиеДанные.СуммаОперации = ТаблицаДанных.Итог("Стоимость"); ТаблицаДвижений = Новый ТаблицаЗначений; ТаблицаДвижений.Колонки.Добавить("СубконтоДт", Новый ОписаниеТипов("РегистрБухгалтерииСубконто.Хозрасчетный")); ТаблицаДвижений.Колонки.Добавить("СубконтоКт", Новый ОписаниеТипов("РегистрБухгалтерииСубконто.Хозрасчетный")); ТаблицаДвижений.Колонки.Добавить("ВалютаДт"); ТаблицаДвижений.Колонки.Добавить("ВалютаКт"); ТаблицаДвижений.Колонки.Добавить("Организация"); ТаблицаДвижений.Колонки.Добавить("ПодразделениеКт"); ТаблицаДвижений.Колонки.Добавить("ПодразделениеДт"); ТаблицаДвижений.Колонки.Добавить("НеКорректироватьСтоимостьАвтоматически"); ТаблицаДвижений.Колонки.Добавить("Содержание"); ТаблицаДвижений.Колонки.Добавить("ВалютнаяСуммаДт"); ТаблицаДвижений.Колонки.Добавить("ВалютнаяСуммаКт"); ТаблицаДвижений.Колонки.Добавить("КоличествоДт"); ТаблицаДвижений.Колонки.Добавить("КоличествоКт"); ТаблицаДвижений.Колонки.Добавить("Сумма"); ТаблицаДвижений.Колонки.Добавить("СуммаВРДт"); ТаблицаДвижений.Колонки.Добавить("СуммаВРКт"); ТаблицаДвижений.Колонки.Добавить("СуммаНУДт"); ТаблицаДвижений.Колонки.Добавить("СуммаНУКт"); ТаблицаДвижений.Колонки.Добавить("СуммаПРДт"); ТаблицаДвижений.Колонки.Добавить("СуммаПРКт"); ТаблицаДвижений.Колонки.Добавить("Активность"); ТаблицаДвижений.Колонки.Добавить("Период"); ТаблицаДвижений.Колонки.Добавить("Регистратор"); ТаблицаДвижений.Колонки.Добавить("СчетДт"); ТаблицаДвижений.Колонки.Добавить("СчетКт"); Для Каждого СтрокаТЗ Из ТаблицаДанных Цикл СтрокаТаблицаДвижений = ТаблицаДвижений.Добавить(); СтрокаТаблицаДвижений.СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства, СтрокаТЗ.ОсновноеСредство); СтрокаТаблицаДвижений.СубконтоДт.Вставить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты, СтрокаТЗ.Контрагент); СтрокаТаблицаДвижений.Сумма = СтрокаТЗ.ОстаточнаяСтоимость; КонецЦикла; ВходящиеДанные.Хозрасчетный = ТаблицаДвижений; ВыгрузитьПоПравилу(,, ВходящиеДанные,, "ОперацияБух"); КонецЕсли; |
|||
5
Лохматые Уши
06.01.15
✎
10:09
|
(4) Спасибо! Пробую...
|
|||
6
yavasya
06.01.15
✎
10:11
|
(3) точно так как и кд, обработкой. В 3.0 ещё проще обработки вызывать
|
|||
7
Лохматые Уши
06.01.15
✎
11:35
|
Не могу побороть эту хрень:
Ошибка при загрузке данных: Значение не является значением объектного типа (ПометкаУдаления) В ПКС везде пробовал отключать "ПометкаУдаления". Не помогает. |
|||
8
Мимохожий Однако
06.01.15
✎
11:52
|
Попробуй в исходных базах снять все пометки удаления перед выгрузкой. Может быть, и поможет.
|
|||
9
renegade
06.01.15
✎
11:57
|
В ПКО задействованы какие-нибудь из обработчиков ПередЗагрузкой, ПриЗагрузке, ПослеЗагрузки?
|
|||
10
Лохматые Уши
06.01.15
✎
12:05
|
(9) Обязательно.
Тут дело в том, что у регистра бухгалтерии нет свойства "ПометкаУдаления". |
|||
11
SleepyHead
гуру
06.01.15
✎
12:29
|
(10) у регистра нет, а у бухгалтерской операции? И вообще что ты называешь бухгалтерской операцией в БП 3 ?
|
|||
12
Лохматые Уши
06.01.15
✎
12:33
|
(11) РегистрБухгалтерииЗапись.Хозрасчетный
Пробовал ДокументСсылка.ОперацияБух, в этом случае ошибок нет, но и ничего не выгружается. |
|||
13
SleepyHead
гуру
06.01.15
✎
12:34
|
нашел, этодокумент "ОперацияБух", ну у нее может быть пометка удаления, проверь, не поставил ли случайно.
|
|||
14
SleepyHead
гуру
06.01.15
✎
12:36
|
в ПКО документа "ОперацияБух" нужно табличную часть "ТаблицаРегистров" переопределить, и добавить движения (имя движений совпадает с именем регистра)
И там, и там в обработчике ПКГС переопределить переменную "КоллекцияОбъектов", в твоем примере в (0) не увидел, как ты ее переопределяешь |
|||
15
Лохматые Уши
06.01.15
✎
12:43
|
(14) В свойствах приемника есть ТаблицаРегистровНакопления, ТаблицаРегистровСведений. Нет таблицы регистров бухгалтерии.
|
|||
16
SleepyHead
гуру
06.01.15
✎
12:47
|
(15) нажми кнопку "Синхронизация свойств", увидишь те регистры накопления, в которых могут быть движения операции. Отметь нужный, он будет выглядеть как табличная часть документа. на уровне этой табличной части (то есть ПКГС) и переопределяй переменную "КоллекцияОбъектов"
А для табличной части документа "ТаблицаРегистровНакопления" будет примерно такой код КоллекцияОбъектов = Новый ТаблицаЗначений; КоллекцияОбъектов.Колонки.Добавить("Имя"); Стр = КоллекцияОбъектов.Добавить(); Стр.Имя = "ИмяРегистраНакопления"; |
|||
17
Лохматые Уши
06.01.15
✎
13:42
|
(16) Спасибо, не получилось.
Возникла идея - Создать в БП 3.0 свой понятный документ, в который буду переносить движения и проводить. Гораздо понятнее и проще получится. С регистром бухгалтерии не так все просто и понятно. |
|||
18
SleepyHead
гуру
06.01.15
✎
13:50
|
(17) Совсем забыл, в ПКО документа "ОперацияБух", в после загрузки надо прописать
Объект.Движения.ИмяТвоегоРегистра. Записывать = Истина; |
|||
19
SleepyHead
гуру
06.01.15
✎
13:51
|
Ну вот не знаю, у меня получалась аналогичная загрузка :) Можешь конечно попробовать через КД как-то иначе загрузить.
|
|||
20
rozer76
06.01.15
✎
20:57
|
(0) там не все так просто. Недавно разбирался с этим когда писал выгрузку из КИС в итрп бюджетирование. Скинь мыло - пришлю схему конвертации. Там например перенос остатков по взаиморасчетам конвертируется в "операция бух"
|
|||
21
rozer76
07.01.15
✎
06:00
|
(0) ушло на почту
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |