gifts2017

Конвертация данных 2: Проведение документов 7.7

Опубликовал Xer shi (Xershi) в раздел Обмен - Перенос данных из 1С7.7 в 1C8.X

Механизм проведения документов из 1С 8.2 в 1С 7.7 с использованием конфигурации Конвертация Данных 2.

Итак, вам поставили задачу сделать конвертацию документов из 1С 8.2 в 1С 7.7!

В отличие от конвертации в 1С 8.Х, для семерки есть ограничение с загрузкой: 

Условия возникновения события.
Только для платформы V8.

Но не будем отчаиваться, есть решение!

Что нам понадобится для решения этой задачи:

1. Конфигурация конвертация данных 2.

2. Конфигурация - источник на платформе 8.2.

3. Конфигурация - приемник на платформе 7.7.

Пропустим этап начальной настройки конвертации и перейдем к решению вопроса проведения документов в 1С 7.7 после их выгрузки из 8.2.

Первый шаг.

Выбираем наши Правила обмена данными, а именно 8.2 --> 7.7 и пишем следующий код в модуле "Перед загрузкой данных":

Перед загрузкой данных

Второй шаг.

В модуле "После загрузки объекта":

После загрузки объекта

 

Третий шаг.

В модуле "После загрузки данных":

После загрузки данных

 

Вот такой простой алгоритм, как оказалось на деле. Также хочу отметить, что в ПКО документов стоит прописать условие, чтобы не загружались не проведенные документы и помеченные на удаление.

P.S. Хочу выразить благодарность Владимиру Тюсину за помощь в реализации алгоритма. Также за основу была взята публикация Конвертация Данных 2.0. Проведение перенесенного документа

В прикрепленном файле код модулей в текстовом виде.

 

Скачать файлы

Наименование Файл Версия Размер
КД2 Проведение документов в 7.7 6
.txt 0,58Kb
05.12.14
6
.txt 0,58Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Xer shi (Xershi) 05.12.14 10:55
Также стоит не забывать, что после сохранения правил нужно обновить модуль обработки загрузки в 7.7.
2. Призрак (davdykin) 05.12.14 19:26
На самом деле основная проблема при таком переносе - это перенос признаков "Пометка удаления" и "Проведен". Т.к. перенос как свойств здесь запрещен, перенести таблицу (Содержащую список документов с соответствующими признаками) значений через параметры правил обмена тоже нельзя. Не выгружать помеченные на удаление нельзя, т.к. иначе если документ в базе источнике провести - выгрузить, распровести - выгрузить, в базе приемники он так и останется не проведенным. Интересно как вы решали такую задачу.
3. Xer shi (Xershi) 06.12.14 16:44
(2) davdykin, на текущий момент этот вопрос не решен, но данный метод и не предполагал это. Если можете помочь в реализации будет новая стать=))
4. Фаниль Исламов (fancy) 08.12.14 07:44
Незначительный комментарий - сортировать таблицу значений можно и по колонке "Документ",
Параметры.Сортировать("Документ",1)

Тогда колонка "ДатаВремя" не нужна
5. Xer shi (Xershi) 08.12.14 08:49
(4) fancy, поясните на примере результат такой сортировки?
6. aspirator 23 (aspirator23) 13.12.14 16:36
(4) fancy, он тебе их по типам "насортирует".
7. Евгений (gep) 13.02.15 20:57
(6) aspirator23, Не насортирует. Обратите внимание на второй параметр = 1. (Сортировать документы по хронологии) Это же 7.7
8. Роман Осадченко (cleaner_it) 15.02.15 13:38
Спасибо, помогло!

Вопрос с выгрузкой не только проведенных решил так: добавил в 7.7 общие реквизиты "Проведен" и "ПометкаУдаления", условий на выгрузку не проведенных и помеченных на удаление нет - выгружаются все. В ПКС сопоставляю "Проведен" и "ПометкаУдаления" (преобразовываю в 0 или 1). А дальше в ПослеЗагрузкиДанных проверяю проведение и пометку удаления.

Параметры.Сортировать("Документ",1);
Параметры.ВыбратьСтроки();
Пока Параметры.ПолучитьСтроку() = 1 Цикл
	Если Параметры.ПометкаУдаления = 0 Тогда
		Параметры.Документ.ПометкаУдаления();
	Иначе
		Параметры.Документ.СнятьПометкуУдаления();
	КонецЕсли;
	Если Параметры.Проведен = 1 Тогда
		Параметры.Документ.Провести();
	КонецЕсли;
КонецЦикла;
...Показать Скрыть


На мысль натолкнуло обсуждение: http://www.forum.mista.ru/topic.php?id=637978
9. Алексей Ситников (SiAl) 09.06.15 13:50
То есть по правилам тупо проводятся все загруженные документы? А если признак проведения изменился или документ вообще не был проведен?
10. Xer shi (Xershi) 09.06.15 13:53
(9) SiAl, а мы выгружаем, только проведенные документы. Так что читайте статью до конца.
11. Алексей Ситников (SiAl) 16.07.15 08:42
(10) Xershi, ясно. Прошу прощения за невнимательность.