Разработки
Рубрика: Перенос данных (импорт, экспорт, выгрузка, загрузка, обмен) Внешний отчет, обработка для 1С: Бухгалтерия 7.7, 1С: Торговля и склад 7.7, 1С: Зарплата и кадры 7.7
perenos_ole_136.zip (~27 Кб, 03.03.2010)
Голосовать +1!
Описание
Обработка предназначена для периодического переноса объектов из одной копии БД в другую (например, из "серой" в "белую"). Структуры конфигураций должны быть идентичными. Используется OLE-механизм связи (для БД "приемника" рекомендуется монопольный режим - добавлено в описание по просьбам "трудящихся").
Обработка способна переносить любые объекты, но данный пример сделан в виде переноса всех документов за определенный период. Если потребуется, то доработать интерфейс отбора объектов не составит особого труда.
При выгрузке объектов также выгружаются объекты, связанные по ссылкам с текущим выгружаемым объектом.
Выгружаемые документы проводятся в конце выгрузки, если установлен соответствующий флаг, в естественном временном порядке.
Поддерживается целостность выгрузки данных с учетом возможной сетевой структуры ссылок, т.е когда "ЭЛЕМЕНТ_1" через реквизиты ссылается на "ЭЛЕМЕНТ_2", а "ЭЛЕМЕНТ_2" - на "ЭЛЕМЕНТ_1". В том числе, и более сложные и длинные сетевые структуры.
Поскольку ключ синхронизации справочника далеко не всегда однозначен, то существует возможность по выбору отключить выгрузку каких-то справочников. Если при выгрузке возникнет необходимость в создании элемента "отключенного" справочника, то будет выведено соответствующее сообщение "не выгружен объект".
Также есть возможность выбора ключа синхронизации. Если у справочника нет атрибута "Код" (код нулевой длины), то, как вариант, можно для прозрачности переноса, добавить к структуре справочника реквизит "Уникальный код" и указать его в схеме переноса в качестве ключа синхронизации.
Вся схема переноса сводится к настройке основных параметров переноса и указанию ключей синхронизации у справочников. Схема может сохраняться в файле.
По своей сути, данная обработка обладает большими возможностями. Она способна переносить любые объекты между идентичными конфигурациями - и справочники, и документы, т.е. универсальна.
Это просто удобная заготовка для создания обработок переноса данных под конкретных клиентов.
Рекомендуемые доработки при доводке "под ключ":
- Можно, передавая в форму в качестве параметра схему переноса и другие настройки, скрыть от пользователя лишнюю информацию, автоматизировать процесс переноса данных под конкретного клиента.
- На отбор объектов можно "повесить" вызов некой обработки (отчета), позволяющей гибко производить отбор объектов по различным параметрам, в зависимости от пожеланий клиента. Выбранные объекты передавать в обработку переноса через параметры.
При разработке обработки акцент делался на простоту и удобство использования, экономию времени в будущем на реализации типовых задач: перенос "серое / белое", перенос справочников в новую чистую БД и т.д. и т.п.
ОСНОВНЫЕ НАСТРОЙКИ:
[ Трассировочные сообщения ] - выводить при переносе информацию о переносимых объектах;
[ Проводить документы ] - проводить документы после переноса, проводятся в конце все сразу в естественной временной последовательности;
[ Замещать при загрузке документы и справочники ] - производить обновление реквизитов уже существующих, найденных в БД-приемнике объеков.
ДЕЙСТВИЯ:
[ Загрузить структуру ] - загрузить структуру БД (для формирования файла со схемой переноса);
[ Сохранить схему переноса ] - сохранить схему переноса в файл;
[ Загрузить схему переноса ] - загрузить схему переноса из файла.
СПИСОК ВОЗМОЖНЫХ ПАРАМЕТРОВ:
[ СхемаПереноса ] - файл со схемой переноса;
[ ЗамещатьЭлементыСправочников ] - соответствующий флаг;
[ ЗамещатьДокументы ] - соответствующий флаг;
[ ТрассировочныеСообщения ] - соответствующий флаг;
[ ПроводитьДокументы ] - соответствующий флаг;
[ ПроводитьНепроведенныеДокументы ] - соответствующий флаг;
[ Путь ] - путь к БД-приемнику;
[ ПользовательДиалог ] - параметр для подключения к БД-приемнику;
[ Пароль ] - параметр для подключения к БД-приемнику;
[ ВыгружаемыеОбъекты ] - список объектов (список значений), которые надо выгрузить в БД-приемник;
[ Действие ] - действие, которое необходимо выполнить.
ВОЗМОЖНЫЕ ЗНАЧЕНИЯ ПАРАМЕТРА "ДЕЙСТВИЕ":
"" - при любом значении, в том числе и при пустом значении, происходит инициализация флагов и полей ввода, соответствующих переданным параметрам, в случае пустого значения происходит обычное открытие формы обработки;
"подключить_приемник" - происходит подключение БД-приемника, форма обработки открывается;
"загрузить_структуру" - происходит подключение БД-приемника и загрузка структуры БД, форма обработки открывается;
"загрузить_схему" - происходит загрузка схемы обмена, форма обработки открывается;
"загрузить_схему_подключить_приемник" - происходит подключение БД-приемника, загрузка схемы обмена, форма обработки открывается;
"выгрузить_объекты" - происходит подключение БД-приемника, загрузка схемы обмена, выгрузка переданных объектов, форма обработки не открывается.
ПРИМЕР ИСПОЛЬЗОВАНИЯ ОБРАБОТКИ
- Открыть обработку в БД-источнике.
- Перейти на закладку "Настройка", загрузить структуру данных, отредактировать схему переноса (указать ключи синхронизации у справочников), сохранить схему в файл, чтобы в дальнейшем просто загружать ее из файла.
- Вернуться на основную закладку, указать: параметры конфигурации приемника (каталог, пользователь, пароль), подключить конфигурацию приемник.
- Отобрать объекты для выгрузки.
- Выгрузить данные.
ВЕРСИИ
РЕЛИЗ 1.10
Добавлена обработка передаваемых при открытии параметров.
РЕЛИЗ 1.11
Исправлена ошибка, возникавшая при выгрузке документов, не имеющих табличной части.
РЕЛИЗ 1.20
Доработан интерфейс для "пользователя".
РЕЛИЗ 1.21
Исправлена ошибка при переносе операций.
РЕЛИЗ 1.22
Доработана выгрузка реквизитов неопределенного типа.
РЕЛИЗ 1.23
Исправлена ошибка при выгрузке реквизитов неопределенного типа со значением типа "перечисление".
РЕЛИЗ 1.24
Замечание от Dmitry100:
"Если в приемнике уже есть документ и он помечен на удаление, а в источнике этот документ проведен, то в приемнике он перезаполняется, но пометка на удаление не снимается. А было бы логично."
Реализовано.
РЕЛИЗ 1.25
Замечание от NDeclin:
"Пустые значения реквизитов типа "дата" переносятся как 30-12-1899."
Исправлено.
РЕЛИЗ 1.26
Замечание от Kapitan911:
Ошибка при переносе значений типа "Календарь".
Исправлено.
РЕЛИЗ 1.27
Замечание от Утюг:
...нашел ошибочку (вер. 1.26) - если в базе-приемнике документ отсутствует, то при его создании не устанавливается время оригинала.
Исправлено.
РЕЛИЗ 1.28
Замечание от Аффтар:
Если у документа отключена автонумерация документ не записывается и время впоследствии устанавливается неправильно.
Исправлено.
РЕЛИЗ 1.29
Замечание от Sergafan:
Обработка "падает" при участии в переносе объектов типа "Вид расчетов".
Исправлено.
РЕЛИЗ 1.30
Замечание от Sergafan:
В списке выбора вида документов "задваиваются" виды, т.е. каждый вид входит в список два или более раз.
Исправлено.
РЕЛИЗ 1.31
Замечание от Softkill:
При замещении уже существующих документов в БД-приёмнике не меняется дата документа.
Исправлено.
РЕЛИЗ 1.32
Добавлен флаг-выбор, определяющий нужно ли проводить после выгрузки документы, которые изначально (до выгрузки) существовали в БД-приёмнике и не были проведены.
РЕЛИЗ 1.33
Добавлена возможность сохранения в файл списка выгружаемых объектов.
РЕЛИЗ 1.34
Замечание от Vadim Zimin:
При переносе числовых значений, хранящихся в реквизите типа "Неопределенный", происходит преобразование значения в "Число" с длиной в 5 знаков и без дробной части.
Исправлено, по совету Вадима выставляются масимальные значения для длины и дробной части.
Исправлены мелкие ошибки релиза 1.32.
РЕЛИЗ 1.35
Замечание от Vadim Zimin:
Не работает перенос значений типа "Неопределенный" для периодических реквизитов.
Исправлено.
РЕЛИЗ 1.36
Замечание от Vadim Zimin, Umga2002:
Не работает перенос значений типа "Неопределенный" для периодических реквизитов.
Исправлены ошибки, допущенные в релизе 1.35.
СМ. ТАКЖЕ:
Рубрика: Перенос данных (импорт, экспорт, выгрузка, загрузка, обмен) Внешний отчет, обработка для 1С: Бухгалтерия 7.7, 1С: Торговля и склад 7.7, 1С: Зарплата и кадры 7.7
Рубрика: Перенос данных (импорт, экспорт, выгрузка, загрузка, обмен) Внешний отчет, обработка для 1С: Бухгалтерия 7.7, 1С: Торговля и склад 7.7, 1С: Зарплата и кадры 7.7
|