В начало
Обмен документа «ПокупкаАкций» с
причиндалами Есть документ «ПокупкаАкций», нужно его обменять, но не на абы что, а
передать данные из центральной базы «ЦБ» в базу филиала «ФЛ» и наоборот. С
данным документом связан независимый справочник «СписокАкций»,
который также будем переносить вагончиком. Рис.
Документ «ПокупкаАкций» и независимый справочник «СписокАкций» Начнем с настройки конфигурации
центральной базы «ЦБ». Переходим в раздел «ПланыОбмена»
и создаем новый план обмена «ОбменПокупкамиАкций». Сразу
переходим в раздел «Основные» свойств плана обмена и изменяем состав. Рис.
Свойства плана обмена «ОбменПокупкамиАкций»,
изменение состава В разделе «Данные» свойств плана обмена добавляем реквизит «ЭтоГлавныйУзел», который будет нужен для разрешения
конфликтных ситуаций. Затем переходим в раздел «Формы» и
создаём форму узла плана обмена. Рис. Форма
узла плана обмена в конфигураторе центральной базы Далее создаем форму списка. На
данной форме размещаем кнопку «Зарегистрировать изменения», которая нужна будет
для регистрации изменений. Рис. Форма
списка плана обмена «ОбменПокупкамиАкций» Потом начинаем кодить, а именно
наполнять модули процедурами и функциями. Сначала переходим в модуль объекта
плана обмена и размещаем парочку процедур для работы с файлами-сообщениями и
данными для обмена. Листинг.
Модуль объекта плана обмена
Затем добавляем в модуль формы узла
обработчик «ПередОткрытием». Он нужен для исключения
установки реквизита «ЭтоГлавныйУзел» для
предопределенного узла. Листинг.
Модуль формы узла плана обмена
Далее переходим к форме списка плана
обмена. Добавляем обработчик события нажатия кнопки «ЗарегистрироватьИзменения»,
а также обработчик «ПриАктивизацииСтроки» для списка
узлов. Листинг.
Модуль формы списка плана обмена
Далее создаем обработку «ОбменДаннымиПокупокАкций». Добавляем форму обработки.
Изменяем текст на кнопке «Выполнить». Рис. Форма
обработки в конфигураторе центральной базы Затем добавляем действие для кнопки
«Выполнить обмен». Листинг.
Модуль формы обработки
Протестируем выполненные изменения.
Для этого загружаемся в пользовательском режиме. Переходим к настройке узлов
плана обмена. Рис.
Настройка списка узлов в плане обмена центральной базы Регистрируем изменения. После чего
открываем обработку «ОбменДаннымиПокупокАкций» и
выполняем обмен данными. Рис.
Выполнение обмена обработкой Выводится служебное сообщение,
проверяем этот файл-сообщение. Рис.
Содержимое файла-сообщения Файл-сообщение содержит
информацию/данные о документе «ПокупкаАкций» и
независимом справочнике «СписокАкций». Хорошо. Переходим ко второй части марлезонского балета, а именно настройке конфигурации
филиала. Создаем в конфигурации филиала аналогичный план обмена с именем «ОбменПокупкамиАкций». Размещаем в модуле объекта плана
обмена пресловутую парочку процедур. Они точно такие же, что и в центральной
базе «ЦБ». Рис.
Процедуры в модуле объекта плана обмена Далее создаем форму узла, которая по
очевидным причинам будет отличаться. Рис. Форма
узла плана обмена в конфигураторе филиала В модуле формы узла плана обмена
размещаем обработчик «ПриСозданииНаСервере». Листинг.
Модуль формы узла плана обмена
Затем создаем форму списка плана
обмена, добавляем команду «ЗарегистрироватьИзменения»,
перетаскивая ее влево, создаем кнопку. Рис. Форма
списка плана обмена в конфигураторе филиала Потом для команды «ЗарегистрироватьИзменения» добавляем действие, а для списка
– обработчик «ПриАктивизацииСтроки», которые описаны
далее в модуле формы списка. Листинг.
Модуль формы списка плана обмена в филиале
Далее создаем обработку «ОбменДаннымиПокупокАкций». Создаем форму обработки,
добавляем команду «ВыполнитьОбмен». Рис. Форма
обработки «Обмен данными покупок акций» Затем добавляем действие для команды
«ВыполнитьОбмен», процедуры которого показаны далее. Листинг.
Модуль формы обработки в конфигурации филиала
Изменения для филиала готовы.
Проверим их в пользовательском режиме. Откроем план обмена и создадим список
узлов. Предопределенный узел назовем «ФЛ», а другой – «ЦБ». Для узла
центральной базы «ЦБ» необходимо установить флаг «ЭтоГлавныйУзел»
для устранения конфликтных ситуаций при одновременном изменении одного и того
же документа в разных базах. Рис.
Настрой списка узлов плана обмена в базе филиала Зарегистрируем изменения для
центральной базы и откроем обработку для обмена. Выполним обмен. Выскакивает
ошибка. Рис. Ошибка
преобразования данных Ага, проверяем документы «ПокупкаАкций». В базе филиала реквизит табличной части «СписокАкций» имеет строковый тип – исправляем. Т.е.
документы не идентичны. Повторяем обмен на стороне филиала. Рис.
Выполнение обмена в базе филиала Теперь все нормально, ошибок нет,
проверяем документ «ПокупкаАкций» и справочник «СписокАкций». Рис.
Документ «Покупка акций» и справочник «Список акций» в базе филиала Документ перенесся, справочник
заполнился элементом из документа. Для окончательной проверки нужно выполнить
обмен со стороны филиала «ФЛ» в центральную базу «ЦБ». Если он происходит без
ошибок, то все нормально. |
|||||||||