|
Выгрузить документ "ОперацияБУх" с проводками | ☑ | ||
---|---|---|---|---|
0
Vigor06
28.07.15
✎
14:53
|
Доброго дня!
переношу документы из бэкапа в основную базу. ПКО типовые, в правилах выгрузки указал "произвольный алгоритм", там такой код: МассивОрг = Новый Массив; МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000519")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000532")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000518")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000531")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000520")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000514")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000526")); МассивОрг.Добавить(Справочники.организации.найтиПоКоду("000000521")); Запрос = Новый Запрос; Запрос.УстановитьПараметр("НачПериода", ДатаНАчала); Запрос.УстановитьПараметр("КонПериода", ДатаОкончания); Запрос.УстановитьПараметр("МассивОрг", МассивОрг); Запрос.Текст = "ВЫБРАТЬ | ОперацияБух.Ссылка, | ОперацияБух.ВерсияДанных, | ОперацияБух.ПометкаУдаления, | ОперацияБух.Номер, | ОперацияБух.Дата, | ОперацияБух.Проведен, | ОперацияБух.Организация, | ОперацияБух.СуммаОперации, | ОперацияБух.Комментарий, | ОперацияБух.Ответственный, | ОперацияБух.Содержание |ИЗ | Документ.ОперацияБух КАК ОперацияБух |ГДЕ | ОперацияБух.Дата МЕЖДУ &НАчПериода И &КонПериода | ОперацияБух.Организация в (&МассивОрг) "; ВыборкаДанных = Запрос.Выполнить().Выбрать(); Документы выгружаются,загружаются,но без движений,которые они осуществляют... Что не так?где поправить? Спасибо |
|||
1
Vigor06
28.07.15
✎
14:58
|
Конфигурация Комплексная автоматизация, последняя
|
|||
2
piter3
28.07.15
✎
15:00
|
Стаж: 4 года мда
|
|||
3
Vigor06
28.07.15
✎
15:05
|
(2) унизил?поднял самооценку? молодец. Теперь давай по теме,если есть что сказать
|
|||
4
Manofrain
28.07.15
✎
15:06
|
это нэ обычный докумэнт
|
|||
5
Greeen
28.07.15
✎
15:08
|
(0) Операция - суть ничто почти, сила в движениях, которая она создает...
|
|||
6
Vigor06
28.07.15
✎
15:09
|
(5) вот мне эти движения проводки и нужно перенести.Ибо запороли при обновлении субконто одно и поэтому субконто сейчас пусто за прошлый год.нужно перенести как то
|
|||
7
piter3
28.07.15
✎
15:11
|
||||
8
piter3
28.07.15
✎
15:11
|
(3) ключевое слова движения
|
|||
9
Timon1405
28.07.15
✎
15:16
|
в демо-базе КД есть же пример переноса операции
|
|||
10
rozer76
28.07.15
✎
16:07
|
ну вот пример в ПВД
Если НЕ ЗначениеЗаполнено(Параметры.ДатаОст) Тогда Предупреждение("Не указана дата переноса остатков!"); Отказ=Истина; КонецЕсли; Запрос = Новый запрос(); Запрос.текст = "ВЫБРАТЬ | ПокупателиОстатки.Фирма2 КАК Организация, | ПокупателиОстатки.Фирма2.КодПодразделенияБазыИТРП КАК Подразделение, | ВЫБОР | КОГДА ПокупателиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.ПустаяСсылка) | ТОГДА ""76.02"" | КОГДА ПокупателиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.Транспорт) | ТОГДА ""60.02"" | КОГДА ПокупателиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.Сотрудники) | ТОГДА ""71.01"" | КОГДА ПокупателиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.СобственнаяСеть) | ТОГДА ""79.01"" | КОГДА ПокупателиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.Виртуальный) | ТОГДА ""76.02"" | ИНАЧЕ """" | КОНЕЦ КАК СчетУчета, | ПокупателиОстатки.Договор.Владелец КАК Контрагент, | ПокупателиОстатки.Договор КАК ДоговорКонтрагента, | ПокупателиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП КАК КатегорияКонтрагентовИТРП, | ПокупателиОстатки.СуммаОстаток КАК СуммаПокупатели, | 0 КАК СуммаПоставщики |ПОМЕСТИТЬ ВТВыборка |ИЗ //| РегистрНакопления.Покупатели.Остатки(&ДатаОст, Фирма2 В (&Выбфирма)) КАК ПокупателиОстатки | РегистрНакопления.Покупатели.Остатки(&ДатаОст) КАК ПокупателиОстатки | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ПоставщикиОстатки.Фирма2, | ПоставщикиОстатки.Фирма2.КодПодразделенияБазыИТРП, | ВЫБОР | КОГДА ПоставщикиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.ПустаяСсылка) | ТОГДА ""76.02"" | КОГДА ПоставщикиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.Транспорт) | ТОГДА ""60.02"" | КОГДА ПоставщикиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.Сотрудники) | ТОГДА ""71.01"" | КОГДА ПоставщикиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.СобственнаяСеть) | ТОГДА ""79.01"" | КОГДА ПоставщикиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП = ЗНАЧЕНИЕ(Справочник.КатегорииКонтрагентовИТРП.Виртуальный) | ТОГДА ""76.02"" | ИНАЧЕ """" | КОНЕЦ, | ПоставщикиОстатки.Договор.Владелец, | ПоставщикиОстатки.Договор, | ПоставщикиОстатки.Договор.Владелец.КатегорияКонтрагентовИТРП, | 0, | ПоставщикиОстатки.СуммаОстаток |ИЗ //| РегистрНакопления.Поставщики.Остатки(&ДатаОст, Фирма2 В (&Выбфирма)) КАК ПоставщикиОстатки | РегистрНакопления.Поставщики.Остатки(&ДатаОст) КАК ПоставщикиОстатки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТВыборка.Организация КАК Организация, | ВТВыборка.Подразделение, | ВТВыборка.СчетУчета, | ВТВыборка.Контрагент, | ВТВыборка.ДоговорКонтрагента, | ВТВыборка.КатегорияКонтрагентовИТРП, | СУММА(ВТВыборка.СуммаПокупатели) КАК СуммаПокупатели, | СУММА(ВТВыборка.СуммаПоставщики) КАК СуммаПоставщики |ИЗ | ВТВыборка КАК ВТВыборка | |СГРУППИРОВАТЬ ПО | ВТВыборка.Организация, | ВТВыборка.Подразделение, | ВТВыборка.СчетУчета, | ВТВыборка.Контрагент, | ВТВыборка.ДоговорКонтрагента, | ВТВыборка.КатегорияКонтрагентовИТРП |ИТОГИ | МАКСИМУМ(Подразделение) |ПО | Организация |; | |//////////////////////////////////////////////////////////////////////////////// |УНИЧТОЖИТЬ ВТВыборка"; ДатаВыгрузки = Параметры.ДатаОст; запрос.УстановитьПараметр("ДатаОст",Параметры.ДатаОст); запрос.УстановитьПараметр("ВалютаРег",глВалютаБухУчета); //М=Новый Массив(); //М.Добавить(Справочники.Фирмы.НайтиПоКоду("Ц0030")); //УО //М.Добавить(Справочники.Фирмы.НайтиПоКоду("Ц0038")); //Базис //запрос.УстановитьПараметр("Выбфирма",М); ВыборкаОрганизация = запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаОрганизация.Следующий() и не Отказ Цикл ИсходящиеДанные = Новый Структура("Комментарий, Организация, Содержание, Дата, Хозрасчетный, СпособЗаполнения, СуммаОперации, Подразделение"); ИсходящиеДанные.Организация = ВыборкаОрганизация.Организация; ИсходящиеДанные.Содержание = "Перенос остатков взаиморасчетов из КИС " + Строка(Параметры.ДатаОст); ИсходящиеДанные.Дата = Параметры.ДатаОст; ИсходящиеДанные.СпособЗаполнения = "Вручную"; ИсходящиеДанные.Подразделение = ВыборкаОрганизация.Подразделение; ИсходящиеДанные.Хозрасчетный = Новый ТаблицаЗначений(); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СчетДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ОрганизацияДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ПодразделениеДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СчетКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ОрганизацияКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ПодразделениеКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Содержание"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Сумма"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Период"); //вспомогательная инфо для конвертации значений субконто ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Организация"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ДоговорКонтрагента"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Контрагент"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВидДоговора"); СуммаПоПроводкам=0; Выборка=ВыборкаОрганизация.Выбрать(); Пока Выборка.Следующий() Цикл ВзаиморасчетыПоставщиков=Выборка.СуммаПоставщики; ВзаиморасчетыПоставщиковПоМодулю=?(ВзаиморасчетыПоставщиков < 0,-ВзаиморасчетыПоставщиков,ВзаиморасчетыПоставщиков); Если ВзаиморасчетыПоставщиков <> 0 Тогда СтрокаХозрасчетный=ИсходящиеДанные.Хозрасчетный.Добавить(); СтрокаХозрасчетный.Период=Параметры.ДатаОст; СтрокаХозрасчетный.Организация=Выборка.Организация; СтрокаХозрасчетный.ДоговорКонтрагента=Выборка.ДоговорКонтрагента; СтрокаХозрасчетный.ВидДоговора=Перечисления.ВидДоговора.Отсрочка; СтрокаХозрасчетный.Контрагент=Выборка.Контрагент; СтрокаХозрасчетный.Содержание="Перенос остатков взаиморасчетов из КИС"; СтрокаХозрасчетный.Сумма=ВзаиморасчетыПоставщиковПоМодулю; СуммаПоПроводкам=СуммаПоПроводкам+ВзаиморасчетыПоставщиковПоМодулю; Если ВзаиморасчетыПоставщиков > 0 Тогда СтрокаХозрасчетный.СчетДт=?(Выборка.СчетУчета="","60.01",Выборка.СчетУчета); СтрокаХозрасчетный.ОрганизацияДт=Выборка.Организация; СтрокаХозрасчетный.ПодразделениеДт=Выборка.Подразделение; СтрокаХозрасчетный.СчетКт="000"; Иначе СтрокаХозрасчетный.СчетКт=?(Выборка.СчетУчета="","60.01",Выборка.СчетУчета); СтрокаХозрасчетный.ОрганизацияКт=Выборка.Организация; СтрокаХозрасчетный.ПодразделениеКт=Выборка.Подразделение; СтрокаХозрасчетный.СчетДт="000"; КонецЕсли; КонецЕсли; ВзаморасчетыПокупатели=Выборка.СуммаПокупатели; ВзаморасчетыПокупателиПоМодулю=?(ВзаморасчетыПокупатели < 0,-ВзаморасчетыПокупатели,ВзаморасчетыПокупатели); Если ВзаморасчетыПокупатели <> 0 Тогда СтрокаХозрасчетный=ИсходящиеДанные.Хозрасчетный.Добавить(); СтрокаХозрасчетный.Период=Параметры.ДатаОст; СтрокаХозрасчетный.Организация=Выборка.Организация; СтрокаХозрасчетный.ДоговорКонтрагента=Выборка.ДоговорКонтрагента; СтрокаХозрасчетный.ВидДоговора=Перечисления.ВидДоговора.Нал; СтрокаХозрасчетный.Контрагент=Выборка.Контрагент; СтрокаХозрасчетный.Содержание="Перенос остатков взаиморасчетов из КИС"; СтрокаХозрасчетный.Сумма=ВзаморасчетыПокупателиПоМодулю; СуммаПоПроводкам=СуммаПоПроводкам+ВзаморасчетыПокупателиПоМодулю; Если ВзаморасчетыПокупатели > 0 Тогда СтрокаХозрасчетный.СчетДт=?(Выборка.СчетУчета="","62.01",Выборка.СчетУчета); СтрокаХозрасчетный.ОрганизацияДт=Выборка.Организация; СтрокаХозрасчетный.ПодразделениеДт=Выборка.Подразделение; СтрокаХозрасчетный.СчетКт="000"; Иначе СтрокаХозрасчетный.СчетКт=?(Выборка.СчетУчета="","62.01",Выборка.СчетУчета); СтрокаХозрасчетный.ОрганизацияКт=Выборка.Организация; СтрокаХозрасчетный.ПодразделениеКт=Выборка.Подразделение; СтрокаХозрасчетный.СчетДт="000"; КонецЕсли; КонецЕсли; ИсходящиеДанные.СуммаОперации = СуммаПоПроводкам; КонецЦикла; ВыгрузитьПоПравилу(, , ИсходящиеДанные, , "ОперацияБухВзаиморасчеты"); //Сообщить("Отработано ПВД ""ВводНачальныхОстатковВзиморасчеты"" по "+СокрЛП(ВыборкаОрганизация.Организация)); ИсходящиеДанные=""; КонецЦикла; |
|||
11
rozer76
28.07.15
✎
16:10
|
(10) + ключевое тут ВыгрузитьПоПравилу() а в ПКО уже http://s015.radikal.ru/i332/1507/c0/6a645d62909a.png
|
|||
12
rozer76
28.07.15
✎
16:13
|
+ (10) это из регистров из КИС перенос остатков по долгам как проводки по 60,62.. счетам в БП2 в операциюбух.
|
|||
13
rozer76
28.07.15
✎
16:20
|
тут самое хитрое кста. конвертация в субконто - сам пару дней думал как сделать пока не нашел ответ в конвертации из ПуБ 7.7 в БП )
|
|||
14
pavelul73
28.07.15
✎
16:22
|
так если из бэкапа, почему не воспользоваться обработкой УниверсальныйОбменДаннымиXML, там поставить галочку "Выгружать вместе с движениями"?
|
|||
15
pavelul73
28.07.15
✎
16:22
|
(14) + точнее "выгрузкаЗагрузкаДанныхXML" без использования правил
|
|||
16
Vigor06
28.07.15
✎
16:41
|
(14)(15) там у меня вылетает "ошибка преобразования XML"
|
|||
17
Vigor06
28.07.15
✎
16:45
|
(11) я пытался как то так выгрузить:
"После выгрузки в файл" в документе "операция бух" делать запросом выборку всех полей в регистре хозрасчетном,где регистратор есть наш источник,а затем уже ВыгрузитьПоПравилу() - не прокатило Аналогичным образом я раньше переносил контактную информацию при выгрузке контрагентов |
|||
18
тарам пам пам
28.07.15
✎
17:16
|
(16) Скорее всего, конфигурации рабочей базы и бэкапа отличаются. Загрузи конфу из рабочей базы в бэкап и выгрузи стандартной "ВыгрузкаЗагрузкаДанныхXML" - будет гораздо проще и быстрее, чем свои правила ваять.
|
|||
19
Radkt
28.07.15
✎
17:35
|
если операция без движений, значит нужно добавить строчку
Движения.Записывать = истина; Почему бы не использовать выгрузку загрузку XML как предлагают в (18) |
|||
20
Vigor06
30.07.15
✎
11:32
|
(18) проблема то вылезла после кривого обновления((
Сейчас беда в том,что на базе июньской все проводки по счету 69.02.7 висят на предопределенном счету,а в текущей - на созданном вручную,а на предопределенном пусто(( соответсвенно,когда в одну из сторон пытаюсь загрузить конфигу - возникает конфликт( |
|||
21
Vigor06
30.07.15
✎
11:32
|
(19) а куда добавить?
|
|||
22
Vigor06
30.07.15
✎
19:23
|
В принципе,я вроде со всем разобрался.В ПВД есть такой код:
//получаем ТЗ проводок Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Проводки.Отбор.Регистратор.Значение = Объект.ссылка; Проводки.Прочитать(); ТаблицаНабораЗаписей = Проводки.Выгрузить(); //Реквизиты шапки ИсходящиеДанные = Новый Структура; ИсходящиеДанные.Вставить("Дата",Объект.Дата); ИсходящиеДанные.Вставить("Организация",Объект.Организация); ИсходящиеДанные.Вставить("Содержание",Строка(Объект.Содержание)); ИсходящиеДанные.Вставить("Комментарий",Объект.Комментарий); ИсходящиеДанные.Вставить("Ответственный",Объект.Ответственный); ИсходящиеДанные.Вставить("ПометкаУдаления",Объект.ПометкаУдаления); ИсходящиеДанные.Вставить("Проведен",Объект.Проведен); ИсходящиеДанные.Вставить("СуммаОперации",Объект.СуммаОперации); ИсходящиеДанные.Вставить("Номер",Объект.Номер); //Табличная часть ИсходящиеДанные.Вставить("Хозрасчетный",Новый ТаблицаЗначений); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СчетДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоДт1"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоДт2"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоДт3"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("КоличествоДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютаДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаДт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СчетКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоКт1"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоКт2"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("СубконтоКт3"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("КоличествоКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютаКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаКт"); ИсходящиеДанные.Хозрасчетный.Колонки.Добавить("Сумма"); Для каждого Стр Из ТаблицаНабораЗаписей Цикл Если (Стр.СчетДТ=ПланыСчетов.Хозрасчетный.НАйтиПоКоду("91.02")) и (Стр.СчетКТ=ПланыСчетов.Хозрасчетный.НАйтиПоКоду("57.1")) ТОгда СтрокаОперации = ИсходящиеДанные.Хозрасчетный.Добавить(); СтрокаОперации.СчетДт = Стр.СчетДт; СтрокаОперации.СубконтоДт1 = Стр.СубконтоДт1; СтрокаОперации.СубконтоДт2 = Стр.СубконтоДт2; СтрокаОперации.СубконтоДт3 = Стр.СубконтоДт3; СтрокаОперации.КоличествоДт = Стр.КоличествоДт; СтрокаОперации.ВалютаДт = Стр.ВалютаДт; СтрокаОперации.ВалютнаяСуммаДт = Стр.ВалютнаяСуммаДт; СтрокаОперации.СчетКт = Стр.СчетКт; СтрокаОперации.СубконтоКт1 = Стр.СубконтоКт1; СтрокаОперации.СубконтоКт2 = Стр.СубконтоКт2; СтрокаОперации.СубконтоКт3 = Стр.СубконтоКт3; СтрокаОперации.КоличествоКт = Стр.КоличествоКт; СтрокаОперации.ВалютаКт = Стр.ВалютаКт; СтрокаОперации.ВалютнаяСуммаКт = Стр.ВалютнаяСуммаКт; СтрокаОперации.Сумма = Стр.Сумма; ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "ОперацияБух_тест") КонецЕсли; КонецЦикла Но проблема в том,что я не не могу субконто переддать,так как в регистре бухгалтерии есть только субконто ДТ, но нет СубконтоДТ1, СубконтоДТ2 и тд... как победить - не иогу понять |
|||
23
Vigor06
30.07.15
✎
19:34
|
И Создано ПКО,которое заполняется из входящих данных. Поэтому при передаче в "хозрасчетный" субконтоДТ нет
|
|||
24
Рэйв
30.07.15
✎
19:48
|
(3)>>унизил?поднял самооценку? молодец. Теперь давай по теме,если есть что сказать
Это надо быть розовым ,фееричным идиотом, что думать, что тебе нормальные люди будут помогать в серьез. |
|||
25
Vigor06
30.07.15
✎
19:50
|
(24) вот если честно,мне начхать, что ты там пишешь. не трать время,выдавливая из себя потуги изобразить что то "страшное" или "крутое". Без тебя тут много хороших людей есть. Иди гадь в другие темы
|
|||
26
Vigor06
05.08.15
✎
10:19
|
Решил тут http://forum.infostart.ru/forum85/topic135561/message1401100/?result=reply#message1401100
всем спвасибо) |
|||
27
Гёдза
05.08.15
✎
10:22
|
проще без правил. Ибо перенос субконто - это правила на все справочники и документы почти
|
|||
28
Vigor06
05.08.15
✎
10:22
|
(27) у меня были конктерные счета,поэтому там все достаточно просто было
|
|||
29
Гёдза
05.08.15
✎
10:23
|
(28) Да какая разница, конфы то одинаковые
|
|||
30
Vigor06
05.08.15
✎
11:09
|
(29)пришлось переносить с необновленной в обновленную
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |