gifts2017

Перенос документов в идентичную базу (1С 7.7 OLE) (обновлено)

Опубликовал Дмитрий Касминюк (Vortigaunt) в раздел Обмен - Перенос данных из 1С7.7 в 1C7.7

Предлагаю обработку для 1С Предприятие 7.7 для переноса документов в идентичную по структуре конфигурацию. Для передачи данных используется OLE-подключение.

Часто бывает: клиенты просят "сделать им чистую базу". На "Семерке" это просто: удаляем нужные таблички, запускаем тестирование и через пару минут получаем базу со всеми текущими настройками, справочниками и без единого документа. Затем обычно следует перенос текущих остатков по регистрам, проверка корректности данных и запуск чистой базы в работу. Как правило, обрезка на этом заканчивается, но иногда просят оставить часть документов: например, расходные накладные в ТиС, чтобы по ним можно было оформить возврат (в "торговле" возврат - это приходная накладная, выписанная на основании расходной) или Счета-фактуры, по которым еще не прошла отгрузка. 

Чтобы не писать под каждую конфигурацию обработку переноса конкретных видов документов, было принято решение написать универсальную обработку переноса. Насколько она получилась удачной - решать Вам. 

Для разработчика, как я думаю, эта обработка будет интересна как пример работы  с объектом "Метаданные" и OLE-подключением.

Изменения в версии 1.1.

1. Добавлены фильтры (условия) для отбора документов в базе-источнике: только помеченные на удаление, только помеченные на удаление.

2. Реализовано управление режимом поиска и замены документов: флаг Поиск по номеру и замена (в версии 1.0 - поиск и замена работала по умолчанию).

3. Возможность сохранять номер документа при переносе. Чтоб не было конфликтов префикс номера предваряется латинской буквой "x". 

4. Добавлен контроль уникальности номера перед записью документа: Если такой номер уже существует, то подбираются по очереди префиксы из ряда "a,b,c,d,e,f,g".

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

Наименование Файл Версия Размер Кол. Скачив.
Перенос документов
.ert 37,50Kb
18.02.15
60
.ert 1.1 37,50Kb 60 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей (Che) Коцюра (CheBurator) 13.02.15 02:27
отгрузки никогда не проходят по счф
Счф к отгрузкам не имеет никакого отношения в смысле фиксации долгов и взаиморасчетов между сторонами сделки
За такое грязное изьяснение автору незачет
2. Дмитрий Касминюк (Vortigaunt) 13.02.15 10:22
Счет фактура в "семерочной" торговле - это аналог "ЗаказаПокупателя" "восьмерочной" УТ. На взаиморасчеты они никак не влияют, но резервируют товар под покупателя. Вообще смысл моей обработки не восстановление оборотов по регистрам (иначе теряется смысл обрезки и переноса остатков), а перенос документов, которые необходимы операторам для работы. Естественно в неактивном состоянии (записанные или помеченные на удаление). Ну вот был у них выписан ранее счет, а отгрузку они вводят исключительно на основании и все тут.
3. Сергей Зенюков (Sanario) 19.02.15 20:09
1. Шо за бред по поводу Счета-Фактуры и ЗаказПокупателя??? С каких это пор сч.фактура резервирует товар???
2. По ссылкам зависимым перенос осуществляется?
4. Константин - (LionsMap) 20.02.15 19:54
Может быть автор имел в виду Счет (Заявку покупателя)? Справочники из реквизитов переносятся целиком или по ссылкам? В общем вопросов много возникает, прежде чем скачивать
5. Дмитрий Касминюк (Vortigaunt) 25.02.15 11:15
(3) Sanario, Поставьте срок резерва больше нуля, проведите документ и посмотрите движения. А зачем, по вашему в конфигурации регистр "Резервы товаров" и какой документ по нему делает движения?
6. Дмитрий Касминюк (Vortigaunt) 25.02.15 11:20
(4) LionsMap, Обработка переносит только документы. Предполагается, что справочники оставлены без изменений (из конфигурации удалены файлы *.dh, *.dt, *.ra, *.rg. Поиск осуществаляется для справочников, счетов по коду (если кода нет - по наименованию), для документов - по номеру в пределах периодичности.
7. Дмитрий Касминюк (Vortigaunt) 25.02.15 11:28
Скажите пожалуйста ваше мнение. Актуально ли для вас чтобы обработка тянула вместе с документами еще и сопутствующие справочники (т.е. создавала элементы и заполняла реквизиты)? Если да, то могу дописать такое.
8. Валерий (VV) 29.03.15 21:28
глВыбранЛи<<?>>(докТекДок.Вид(),"Вид документа");
??? Неужто никто не наткнулся?
9. Валерий (VV) 29.03.15 21:29
"Актуально ли для вас чтобы обработка тянула вместе с документами еще и сопутствующие справочники "
конечно, так и должно быть. Еще актуально - фильтр по виду документов, по фирме.
10. Александр (ondul) 16.08.15 17:27
(7) Vortigaunt, нормальная обработка просто обязана тянуть сопутствующие по реквизитам документов справочники.
И да - есть некое обращение к телу глобальной процедуры глВыбранЛи - имеет смысл вывести содержимое это процедуры в саму обработку..., иначе - сообщение об ошибке...
11. Вера (brvg) 28.11.15 10:26
Ничего она не переносит
.глВыбранЛи<<?>>(докТекДок.Вид(),"Вид документа");
Даже если и забить документы не создает
12. Андрей Тарлыков (Tarlich) 12.01.16 16:28
глВыбранЛи<<?>>(докТекДок.Вид(),"Вид документа");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(210)}: Процедура не обнаружена (глВыбранЛи)
глВыбранЛи<<?>>(дДиаНачДата,"Начало периода");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(211)}: Процедура не обнаружена (глВыбранЛи)
глВыбранЛи<<?>>(дДиаКонДата,"Конец периода");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(212)}: Процедура не обнаружена (глВыбранЛи)
глВыбранЛи<<?>>(перДиаПроведенные,"Статус создаваемых документов");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(213)}: Процедура не обнаружена (глВыбранЛи)
13. Максим Поповцев (pMax2012) 17.04.16 00:07
Да согласен, не работает:
лВыбранЛи<<?>>(докТекДок.Вид(),"Вид документа");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(210)}: Процедура не обнаружена (глВыбранЛи)
глВыбранЛи<<?>>(дДиаНачДата,"Начало периода");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(211)}: Процедура не обнаружена (глВыбранЛи)
глВыбранЛи<<?>>(дДиаКонДата,"Конец периода");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(212)}: Процедура не обнаружена (глВыбранЛи)
глВыбранЛи<<?>>(перДиаПроведенные,"Статус создаваемых документов");
{C:\USERS\АДМИНИСТРАТОР\DESKTOP\АЦ_ПЕРЕНОСДОКИДЕНТБАЗА.ERT(213)}: Процедура не обнаружена (глВыбранЛи)
14. Андрей Горенский (gorenski) 14.06.16 06:55
Подскажите, ошибка с "лВыбранЛи" исправлена?
15. Анна Шульман (aselik) 19.06.16 14:40
Поскольку автор не отвечает, то возьму на себя смелость.
Вставьте в обработку процедуру:

Процедура глВыбранЛи(Идент, ИмяРекв)
	
	Если ПустоеЗначение(Идент) = 1 Тогда
		Сообщить("Заполните " + ИмяРекв + "!");
		глВсеВыбрано = 0;
	КонецЕсли;
	
Конецпроцедуры
...Показать Скрыть
16. Дмитрий Касминюк (Vortigaunt) 19.06.16 19:32
К сожалению пока нет времени заняться обработкой. В планах учесть все пожелания, включая перенос справочников. Для правильной работы обработки на нетиповых конфигурациях (или на тех где нет в глобальном модуле процедуры глВыбранЛи()) кроме самой процедуры (из поста выше) нужно добавить переменную. В первой строчке прописать
Перем глВсеВыбрано;
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа