|   |   | 
| 
 | КД, выгрузка движений документов в бух. операцию | ☑ | ||
|---|---|---|---|---|
| 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) ушло на почту     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |