Правила обмена 1с 77 в 1с 83
С каждым годом предприятий, использующих информационную базу 1С Бухгалтерия 7.7, становится все меньше и меньше. Но еще есть организации, которые «сидят» на семерке и не осуществляют переход с 1С 7.7 на 1С 8.3 и 8.2 своими силами. На это есть причины, такие как:
- Нежелание учиться новому;
- Опасение встретить трудности при переходе на новую версию программы 1С;
- Непонимание преимуществ, которые дает новая версия программы 1С;
- Кризис в экономике;
- Зачем менять, если и так работает?
Большинство пользователей программы 1С 7.7 представляют переход с 1С 7.7 на 8.3 (8.2) как что-то сложное и подвластное только программистам. Если в организации не переделанная вдоль и поперек конфигурация, то эта статья написана для Вас и поможет с переходом на 1С 8.3 или 8.2 .
Как подготовить базу 1С 8.3 (8.2) для последующего переноса данных из 1С 7.7 пошагово
Перед началом работы необходимо подготовить базу 1С 8.3 (8.2) для последующей загрузки данных.
Шаг 1
Обновить базу 1С до актуально релиза, использовать последнюю версию 8.2 или 8.3. Проверить актуальность текущего релиза можно на сайте техподдержки 1С.
Как установить или обновить платформу 1С 8.3 смотрите в нашем видео уроке:
Шаг 2
Шаг 3
Создать резервную копию базы 1С. Для этого необходимо зайти в программу 1С в режиме конфигуратора и через верхнее меню программы выбрать Администрирование – Выгрузить данные, указать имя файла выгрузки и место его сохранения.
Шаг 4
Удалить помеченные на удаление объекты и сделать Тестирование и исправление базы 1С. Для этого в режиме конфигуратора через верхнее меню программы Администрирование – Тестирование и исправление БД, нажать кнопку Выполнить:
Как сделать удаление помеченных объектов в 1С 8.3 Бухгалтерия читайте в нашей статье.
Шаг 5
Создать чистую базу для загрузки данных. Это необходимо для оперативной отмены загрузки данных в случае, если возникли непредвиденные ситуации. Верхнее меню программы выбрать Администрирование – Выгрузить данные, прописать имя файла выгрузки и место его сохранения.
Благодаря этим подготовительным мероприятиям у нас из базы удаляться лишние объекты, база 1С станет меньше. Произойдет пересчет итогов, проверка логической целостности базы. Теперь можно приступать к переводу данных с 1С 7.7 на 1С 8.3 (8.2).
Как добавить информационную базу в 1С 8.3 смотрите в следующем видео уроке:
Перенос данных из 1С 7.7 в 1С 8.2 Бухгалтерия 2.0
В последней версии релиза программы 1С 8.2 Бухгалтерия 2.0 перевод из информационных баз 1С 7.7 не поддерживается. В соответствии с требованием фирмы 1С необходимо делать переход сразу на версию 1С 8.3 Бухгалтерия 3.0. Поэтому, если в базе 1С 8.2 выбрать Сервис – Перенос данных из информационных баз 1С Предприятия 7.7, то получим ошибку:
Но что делать, если очень нужно сделать перенос и именно в версию программы 1С 8.2?
Шаг 1. Выгрузка данных из 1С 7.7
Необходимо скачать файлы, которые ранее поставлялись фирмой 1С для выгрузки в 1С 8.2 Бухгалтерию. Эти файлы необходимо положить в папку ExtForms с вашей БД. В примере это D:\1с\77\unp_demo\ExtForms. Посмотреть путь к вашей базе данных можно при загрузке программы 1С:
Запустим эту обработку: Сервис – Дополнительные возможности. Если все сделано правильно, то должна появиться надпись – Выгрузка данных для 1С Бухгалтерия 8, выберем ее по кнопке Открыть:
В появившемся окне необходимо заполнить:
- Правила выгрузки – файл с именем Acc77_80.xml, его мы скопировали в папку ExtForms;
- Дата начала и дата окончания – период, в течение которого будут выгружены данные;
- Имя файла данных – место, куда будем копировать файл с выгруженными данными;
- Правила выгрузки данных – объекты для выгрузки, справочники и документы, которые нужно выгрузить в файл.
Файл с данными в примере будут копироваться на рабочий стол, но Вы можете выбрать любую другую папку. Нажимаем кнопку Загрузить правила обмена. Откроется список объектов, которые будут выгружаться из 1С 7.7 и который можно редактировать, убирая или устанавливая галки выбора:
В зависимости от ситуации выгружать данные можно либо сразу все, либо частями. Сначала выгружаем справочники – 95% они выгружаются без проблем. Вторым файлом выгружаем остатки и обороты по разделам учета. Этот вариант удобно использовать, если какие-то данные выгружаются не совсем корректно.
Шаг 2. Загрузка в 1С 8.2 Бухгалтерия 2.0 из 1С 7.7
Выбираем Сервис – Перенос данных из информационных баз 1С Предприятия 8, в появившемся окне выбираем Загрузить из файла:
Выбираем файл, который выгрузили из 1С 7.7 на рабочий стол. После нажатия кнопки Далее произойдет загрузка данных из файла. Если учет в базе 1С 7.7 ведется давно, то загрузка может занять долгое время.
Если загрузка прошла успешно, то появиться вот такое окно:
Если во время загрузки возникли ошибки, то загрузится только часть данных и поэтому придется загружать заново.
Перенос данных из 1С 7.7 в 1С 8.3 Бухгалтерия 3.0
Алгоритм переноса базы из 1С 7.7 в 1С 8.3 немного отличается в деталях, но в общем похож на тот что описан выше для 1С 8.2 Бухгалтерия 2.0.
Шаг 1
После обновления информационной базы 1С, необходимо обновить правила выгрузки данных. Это можно осуществить следующим образом.
Откроем 1С 8.3 Бухгалтерия 3.0 и выберем Главное – Загрузка из 1С Предприятия 7.7. В нижнем правом углу выберем кнопку Сохранить правила переноса, выберем версию 1С Бухгалтерия 7.7 и сохраним правила, указав путь в каталог ExtForms информационной базы данных:
Шаг 2. Выгрузка данных из 1С 7.7
Возможность выгрузки из 1С 7.7 в 1С 8.3 сделана по умолчанию, то есть нет необходимости скачивать дополнительные файлы и добавлять их в базу.
Запустим обработку выгрузки: Сервис – Дополнительные возможности. Находим надпись Переход на 1С 8.3 Бухгалтерию ред. 3.0 и нажимаем Открыть:
В появившемся окне необходимо заполнить:
- Правила выгрузки – файл с именем ACC_ACC8.xml, которой можно найти в папке с вашей базой данных (как определить путь к базе данных – было описано выше), папка ExtForms. Это тот, который скопировали из 1С 8.3;
- Дата начала и дата окончания – период, за который будут выгружены данные;
- Имя файла данных – место, куда будем копировать файл с выгруженными данными;
- Правила выгрузки данных – объекты для выгрузки, справочники и документы, которые будут выгружены в файл:
Нажимаем кнопку Загрузить правила обмена. Появится список объектов, которые будут выгружаться из 1С 7.7, который можно редактировать убирая или устанавливая галки выбора.
Выгружать можно частями, создавая несколько файлов или сразу выгрузить все данные. Как поступить зависит от конкретной ситуации. В примере выгружаем сразу все данные.
Шаг 3. Загрузка данных в 1С 8.3 из 1С 7.7
Откроем 1С Бухгалтерия 3.0 (8.3) и выберем Главное – Загрузка из 1С Предприятия 7.7. Здесь увидим 2 способа загрузки данных:
- Загрузить данные из информационной базы – программа 1С 8.3 сама найдет установленные базы и попробует подключиться к этой информационной базе, скопировав оттуда данные. С помощью настроек можно указать что необходимо загружать и нажать кнопку Загрузить данные:
Рекомендуем посмотреть наш семинар, который мы провели для тех кто хочет узнать как преобразится учет после перехода на 1С 8.3 Бухгалтерия 3.0 интерфейс “Такси”:
Перенос данных из измененной типовой конфигурации 1С 7.7 в 1С 8.3 (8.2)
Перенос данных из измененных конфигураций 1С 7.7 значительно более сложен из-за переписанных бизнес-процессов, которых нет в той редакции программы, в которую будем переносит данные. В большинстве случаев, такие переносы должен делать специалист обладающий опытом переноса данных или хорошо владеющий конфигурацией Конвертация данных. Существуют общие принципы переноса, которыми можно воспользоваться для переноса таких конфигураций:
Проверка данных после переноса данных из 1С 7.7 в 1С 8.3 и 8.2
Загрузка данных не гарантирует, что они корректно загрузились. После переноса с 1С 7.7 на 1С 8.3 и 8.2 своими силами необходимо проверить загруженные данные.
С помощью отчета Оборотно-сальдовая ведомость сформировать отчет с данными по субсчетам, видам учета, забалансовым счетам, валютам и сравнить с таким же отчетом из базы 1С 8.3 (8.2) в которую перенесли данные:
Загрузка справочников в большинстве случаев проходит без проблем.
Заключение
В этой статье описан переход с 1С 7.7 на 1С 8.3 и 8.2 своими силами, который показывает, что перенос не должен вызвать особых трудностей у пользователя работающих в типовой конфигурации. Учетная система должна функционировать в постоянном режиме без перерыва. При переходе с 1С 7.7 на 1С 8.3 и 8.2 стоит учесть, что возможны варианты, когда учет придется вести в двух базах одновременно. При переносе данных из измененных конфигураций необходимо оценить затраты на перенос данных, в некоторых случаях он может составлять сотни тысяч рублей.
Почему каждому бухгалтеру просто необходимо использовать новые механизмы в 1С 8.3 Бухгалтерия ред.3.0 интерфейс “Такси” смотрите в нашем видео:
Кто-нибудь разбирался как они устроены?!
В частности ищу где в правилах определяется Программа-источник. Раньше на то был справочник в 2.0.
(1) Ну не знаю, мб пришлешь скрин если не трудно? я в типовом плане обмена 77 с 8.3 ищу и в упор не вижу.
Меню - справочники - "КОнвертации" - открывается список конвертаций, открываешь нужную и в ней видишь конфигурацию-источник и конфигурацию-приемник
Различие пока только в режиме совместимости.
вот такая дребидень.
Увидел, такую ошибку вижу впервые. Сейчас пытался вспомнить, где я указывал режим совместимости с БСП и не смог :)
хотя это не должно особо влиять. Попробой воспользоваться загрузкой для версии 8.3, я ею пользуюсь, все нормально.
(21) Спасибо)) я тоже этот факт уже учел) и пробую v8exchan83. Но и там есть свои подковерные войны)
(20) Ты понимаешь, что дальше он по идентификатору конфигурации выбирает обработку для загрузки данных? Тебе не поможет эта вещь, возьми универсальный обмен
(24) а как иначе ;) испортили обработку загрузки 1с-ники))ну что поделаешь. Универсальную буду юзать.
(31) вот ты зараза)) ну что поделать)) буду искать)) что поделать)) но не думаю что составит трудности какие-либо))
Попробовал на днях выгрузить обработчики, создал обработку отладки в 8.3, все вроде бы по инструкции сделал, нихрена не срабатывало.
Пока не поставил точку останова в том месте универсального обмена, где собственно и вызывается сгенерированная мною обработка и ее методы, тогда все заработало.
Вдруг пригодится, если отладить надумаешь.
(33) это как так то. Но попробую) а жалуется на правду) такой константы в 8.3 нету уже))вот и весь смысл)) проверяю заполнение констант
Кароче в 1с все как всегда для людей. Нахрена было менять Константы. вот скажите мне?! Вместо "ЕстьПроизводственнаяДеятельность" теперь "ВедетсяПроизводственнаяДеятельность". Ну ах*еть просто прелесть какое улучшение. Нафига казалось бы?! А вот и надо было же поменять что-то координально xDD
В настоящее время головной болью у бухгалтеров стал переход с 1С:Предприятие 7.7 на 8.3. Желательно как можно быстрее и без ошибок. Если Вы программист по 1С:Бухгалтерии и Вам необходимо произвести конвертацию данных документов из седьмой версии в восьмую, то эта статья для Вас.
Сделайте всего несколько шагов, и Ваши проблемы по переносу данных будут решены. Дочитайте данную инструкцию до конца, и Вам откроется способ, как это сделать. Для начала Вы должны подготовить рабочее место на Вашем компьютере для необходимых манипуляций. Во-первых, Ваш жесткий диск должен быть объемом не меньше 100 ГБ. Это необходимо, так как перенос остатков является многоуровневым. И Вам будет нужно работать с несколькими конфигурациями 7.7.
Если Вам необходим быстрый и качественный переход с 1С Бухгалтерия 7.7 на 1С 8.3, обратитесь к нам! Средняя стоимость перехода «под ключ» у нас составляет 6600 рублей.
Перенос данных из 1С 7.7 в 1С 8.3 бухгалтерия 3.0
Итак, прежде чем работать с переносом данных в версию 1С 8.3, Вам необходимо подготовить эти данные в версии 7.7. Для этого Вы должны сделать следующее. Допустим, у Вас на компьютере есть рабочая БД «Бухгалтерский учет для предприятия», с которой работают Ваши бухгалтера. С помощью обработки Export77 выгрузите все необходимые документы в текстовый файл и с этого момента больше не возвращайтесь к основной рабочей базе. Дальнейшие Ваши манипуляции будут происходить с другими конфигурациями.
Установите в новый каталог свежий Релиз 1С:Предприятие 7.7. (в пакет входят стандартная пустая (без данных) и демоверсия). Мы будем работать со стандартной версией. Теперь запускайте эту базу и с помощью обработки Import 77 загрузите из текстового файла данные из Вашей основной базы.
Естественно, предварительно, перед переносом, Вы приводите план счетов стандартной конфигурации в соответствие с планом счетов Вашей основной рабочей базы. Варианты сугубо индивидуальны в зависимости от специфики работы Вашей организации. Проделав эту работу, Вы получаете стандартную конфигурацию, заполненную данными из Вашей рабочей базы.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Получите понятные самоучители по 1С бесплатно:
Теперь нужно сделать еще один перенос данных. Для этого проделайте установку стандартной нулевой конфигурации еще раз в новый каталог. И уже туда переносите данные из стандартной с Вашими данными конфигурации.В результате у Вас получится идеальная база 7 версии, готовая для переноса в версию 8.3.
Дело в том, что напрямую в восьмую версию переносятся данные исключительно из «нетронутой» стандартной версии 7.7. А у Вас как раз и есть теперь такая конфигурация. Но теперь она не пустая, а именно с Вашими рабочими данными.
Всё! Запускаем 1С:Предприятие. Выбираем «Перенос данных из версии 7.7.» и наслаждаемся тем, как программа сама переносит данные из вашей обработанной 7.7., перепроводит документы и выдает на экран сравнительную таблицу оборотно-сальдовой ведомости версий 7.7 и 8.3.
Конечно, 100% результат не будет. Но на процентов 70-80 Вы получите соответствие. А дальше Ваша работа будет производиться только в версии 8.3.
Возможные неточности исправляются легко. Это еще часа 3-4. Вы заходите в журнал документов и либо корректируете счета, либо поля (например «Договор» или «Основная касса»). Это зависит от степени отличия Вашей базы 7.7. от стандартной. В результате всех этих действий Ваша рабочая конфигурация версии 8.3 будет способна выдать бухгалтерские данные через оборотно-сальдовую ведомость в идеальном виде.
После перехода Вам будет полезно узнать, как работать в новой программе. Для этого мы подготовили раздел Обучение 1С Бухгалтерия 8.3.
Кстати! Если Вам необходима доработка программ 1С, Вы можете обратиться к нам!
Видео по переходу с 1с 7.7 на 8:
Другие статьи по 1С:
-
(обновление 1С, резервные копии и т.д); (для пользователей)
Обмен данными между прикладными решениями 1С 8 — это то, без чего не возможно построение полноценного информационного пространства предприятия.
- Зачем нужны обмены данных и как их использовать?
- Виды обменов между 1С.
- Как произвести настройку обмена данными между базами 1С?
Ответы на эти вопросы Вы узнаете ниже.
Если Вас интересуют услуги по настройке обмена данными между 1С и не только, подробности на странице Услуги 1С программиста.
Зачем нужны обмены данных между 1С?
Причин для внедрения обменов, как правило, две:
Организация имеет филиальную сеть
В этом случае Вам просто необходимо настраивать обмен между различными филиалами. Для этого в системе 1С 8.3 предприятие существует механизм Распределенных информационных баз (РИБ). С помощью которого можно гибко настроить обмен информацией. Например, для филиалов можно отключить видимость документов по другим филиалам и в тоже время центральный офис будет видеть документы всех филиалов. Другой пример — настройка обмена между базами 1С Розница офиса и магазинов.
Разделение по видам учета
Как правило, это означает, что в организации разный учет ведется в различных информационных базах. Такое разделение позволяет фильтровать «ненужную» для другого вида учета информацию для различных информационных баз. Пример: т.н. «управленческий учет» введется в базе «Управление торговлей», где отражаются все операции, и руководство видит полную картину событий, а в базу регламентированного учета «Бухгалтерия предприятия» выгружаются лишь нужные для ведения бухгалтерского и налогового учета документы.
Какие бывают механизмы обмена между базами 1С?
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Обмены данных можно классифицировать по двум направлениям: используемые механизмы и используемый транспорт для обмена.
Механизмы обмена данными 1С
Как правило, при обмене используется два механизма:
- Распределенная информационная база (РИБ) — механизм, позволяющий настроить обмен данными между филиалами. Механизм подразумевает, что обмениваются абсолютно идентичные конфигурации БД. Механизм умеет передавать изменения конфигурации баз данных. Механизм реализован на уровне технологической платформы.
- Универсальный механизм обмена между конфигурациями — механизм является разработкой фирмы 1С для прикладных решения. Он универсален и основан на планах обмена. Обмен данными осуществляется с помощью правил xml, которые создаются в специальной конфигурации — Конвертация данных. С помощью данного механизма можно реализовать как одноразовый обмен, так и постоянный обмен между 1С конфигурациями. Механизм реализован на уровне конфигурации, встроить в свою конфигурацию можно из технологической конфигурации БСП.
Транспорт для обмена данными
Транспортом может выступать достаточно широкий спектр технологий. Рассмотрим основные, реализованные в универсальном механизме обмена 1С:
Как настроить обмен данными между базами 1С?
Рассмотрим настройку 1С для обмена данными между типовыми конфигурациями 1С — Бухгалтерия и Управление торговлей.
Первым делом необходимо создать узлы информационных баз:
Синхронизация происходит по коду, пиктограмма с кругом — обозначение текущей информационной базы. Т.е. настраивая обмен в бухгалтерии — присваиваем текущему узлу код «БП», настраивая обмен в торговле — код «УТ».
Следующий шаг — создание справочника «Настройки обмена данных»:
Если обмен настраивается через каталог, электронную почту или FTP, настройки необходимо настраивать в двух базах данных.
Если обмен происходит прямым подключением или через веб-сервис, достаточно настройки с одной стороны (важно не забыть указать правила загрузки в базу обмена).
Тут важно обратить внимание на следующие моменты:
Всё, настройка закончена. Теперь для запуска обмена достаточно лишь нажать на кнопку выполнения обмена.
Азы настройки обмена данными в 1С с помощью конфигурации «1С Конвертации данных» на примере смотрите в видео:
Обмен данными 1С по расписанию в 1С
Если необходимо настроить автоматическую выгрузку по расписанию, достаточно настроить регламентные задания.
Для клиент-серверного варианта
В справочнике «Настройки обмена данными», на вкладке «Автоматический обмен» необходимо создать новое регламентное задание, где указать расписание:
Для файлового варианта
В справочнике «Настройки обмена данными», на вкладке «Автоматический обмен» необходимо создать новое регламентное задание, где на вкладке «Обмен по событиям» указать события, по котором будет выполняться запуск обмена. Например, при старте определенного пользователя:
Статьи для программиста по обмену данными в 1С
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Отладка правил обмена всегда была для меня больной темой, пока наконец-то не разобрался. В интернете мало тем, посвященных этому, поэтому решил написать небольшую инструкцию по этому поводу. Очень надеюсь, что она будет кому-то полезна. С радостью выслушаю недочеты.
ВНИМАНИЕ. Отладка не работает на платформе версии 8.3.6.2041, 8.3.6.2152, 8.3.6.1999, 8.3.6.2332. (это версии платформ, на которых точно не работает отладка. На основании этих тестов осмелюсь предположить, что отладка не работает на 8.3.6) (список будет корректироваться). На платформе 8.2 - подобных проблем замечено не было.
И так, ни для кого не секрет, что самый распространенный способ обмена данными - это обмен данными посредством XML файлов. Для тех, кто не знает, постараюсь вкратце описать суть процесса. Т.к. статья посвящена другой теме, то в подробности вдаваться не будем. Т.е. есть 2 базы. Необходимо из одной выгрузить данные в другую. Будь то просто справочники или документы, не важно. Процесс настройки обмена данными происходит с помощью типовой конфигурации "Конвертация данных", а сам обмен осуществляется по правилам, которые как раз и настраиваются в конвертации. Для начала необходимо создать структуру метаданных обеих конфигураций (источника и приемника). Затем создать правила, где уже указать конфигурации источника и приемника со своими структурами. После того как правила созданы, открывается в базе источника типовая обработка «Универсальный обмен данными XML», указывается файл правил, файл для данных и данные выгружаются. Затем в конфигурации приемнике открыть эту же обработку, указать файл с выгруженными данными и загрузить. Вот и весь процесс. Самое сложное это создать и отладить правила. Особенно для тех, кто плохо в этом разбирается.
Начну, пожалуй, со сложных правил. Есть вполне рабочие правила обмена данными, которые собирают определенные данные и преобразуют их совершенно в другие виды документов. Проблема возникает в том, что часто непонятно, что именно передается в переменные. Что делает та или иная процедура и т.д. Часто возникает ошибка, что, мол, переменная не определена и т.д. (Было бы прекрасно, если бы можно было нажать Shift+F9 и посмотреть). Такая возможность есть, как при выгрузке, так и при загрузке. Итак, в моих правилах в одном из правил выгрузки данных, в процедуре ПередОбработкой «собираются данные, а затем выгрузка идет по определенному правилу.
Здесь я создаю структуру под названием «ИсходящиеДанныеВыпуска» и выгружаю по правилу «ОбщепитВыпускПродукции». Затем в процедуре ПередВыгрузкой правила конвертации объекта я хочу посмотреть, куда вообще попала та структура, которую я уже подготовил.
Вырезка из встроенной справки по обработчикам:
В справке много параметров, которые передаются в событие, но что в них находится на определенном этапе выгрузки, это уже вопрос. Запускаем конфигуратор и предприятие в режиме отладки Для начала необходимо создать пустую внешнюю обработку, с любым названием, и сохранить в любое место. Итак, сохраняем правила в файл и запускаем обработку «Универсальный обмен данными XML». На вкладке Выгрузка загружаем правила, указываем файл для выгрузки и ставим флажок «Режим отладки обработчиков выгрузки» --> Настройка отладки выгрузки--> Сформировать модуль отладки выгрузки. На экране появится окно с кодом. Весь код копируем в буфер обмена, затем открываем созданную нами ранее обработку, вставляем весь код в модуль объекта и сохраняем. А в поле ввода «Имя файла внешней обработки с модулем отладки» указываем файл этой самой обработки.
Затем «Готово». Ищем в модуле объекта нашей обработки нужную строку кода и ставим точку останова.
Далее запускаем процесс выгрузки и ждем )))) Управление переходит в отладчик, где уже и можно просмотреть все параметры, понять, какой именно код прописать, увидеть ошибку и т.д.
Процесс загрузки абсолютно идентичен… Думаю, с ним вопросов не возникнет. В принципе все. Если кого что интересует, пишите…
Алгоритмы\Запросы
На закладке «Алгоритмы\Запросы» может быть создан программный код или запрос, который, как правило, неоднократно используется в различных обработчиках правил обмена.
Как же отладить правила в этом случае?! Как просмотреть, какие параметры передаются в Алгоритм, выполняется ли текст запроса и т.д.? Я создал алгоритм «ПроверкаНаЗаполнение» и запрос «ПолучитьКонтактнуюИнформацию». Затем в процедуре ПередОбработкой правила выгрузки данных прописал код вызова этих Алгоритмов\Запросов.
Далее в базе источнике запускаю универсальную обработку. Устанавливаю галку «Режим отладки обработчиков выгрузки» --> «Настройка отладки выгрузки». Далее ВНИМАНИЕ. Есть 3 режима отладки кода. 1) Без отладки алгоритмов. 2) Вызывать алгоритмы как процедуры. 3) Подставлять код алгоритмов по месту вызова. Первый режим удобно использовать, когда мы точно знаем, что ошибка в обработчике не связана с кодом какого-либо алгоритма. В этом режиме код алгоритмов не выгружается в модуль отладки. Алгоритмы выполняются в контексте оператора "Выполнить()" и их код недоступен для отладки.
Второй режим необходимо использовать в тех случаях, когда ошибка находится в коде алгоритма. При установке этого режима алгоритмы будут выгружены как отдельные процедуры. В момент вызова алгоритма из какого-либо обработчика происходит обращение к соответствующей процедуре обработки. Этот режим удобно использовать, когда для передачи параметров в алгоритмы используется глобальная переменная "Параметры". Ограничения использования этого режима в том, что при отладке в алгоритме недоступны локальные переменные обработчика, из которого он вызывается.
Третий режим отладки используется, как и во втором случае, при отладке кода алгоритмов и в тех случаях, при которых второй режим отладки не подходит. При установке этого режима алгоритмы будут выгружены как интегрированный код в обработчиках. Т.е. взамен оператора вызова алгоритма вставляется полный код алгоритма с учетом вложенных алгоритмов. В этом режиме нет ограничений на использование локальных переменных обработчика, однако есть ограничение при отладке алгоритмов с рекурсивным вызовом.
Разберем все 3 режима на примере: 1) см. выше. Ранее я про него уже говорил. 2) Попробуем сформировать модуль отладки и проверим наши алгоритмы. Как известно, то алгоритмы используют локальные переменные модуля, из которого они вызываются. Т.е. в месте вызова алгоритма такой код:
А в алгоритме будет доступна переменная Выборка.
Но когда мы сформируем модуль отладки и вставим его в модуль внешней обработки, то при сохранении у нас покажется ошибка, что переменная Выборка не обнаружена.
Я в этом случае поступаю так. Может не совсем правильно, но работает. Алгоритмы - это Структура. Нужно найти место, где эта структура заполняется и добавить те параметры, которые используются в алгоритме. А именно процедура
Затем найти процедуру с названием «Алгоритм_ПроверкаНаЗаполнение» и добавить ей тоже параметр.
Тем самым обработка сохранится. Далее ставим точку останова в нужном месте и смотрим.
Как видно из рисунка, то точка останова стоит в обработчике «ПередОбработкойДанных». А можно легко перейти в нужный алгоритм и просмотреть параметр, который в него передается.
3) Пояснять, думаю, не стоит, т.к. в описании все более чем подробно написано, что это за режим. Лучше разберем на примере. Сформируем модуль отладки с режимом номер 3. Внешняя обработка сохраняется без ошибок, т.к. код алгоритма прописан непосредственно в самой процедуре вызова алгоритма.
Думаю, тут не возникн ет в опросов, каким образом сработал код. В этом режиме отладке также доступны такие глобальные переменные как параметры. Проблематичность этого метода, заключается лишь в невозможности отладки при рекурсивном вызове алгоритма. (Если сказать по-простому, то это вызов процедуры самой из себя).
С запросами вообще все просто. Во всех трех режимах запрос передается в структуру под названием Запросы. Кстати, то же самое происходит и с алгоритмами с режимом отладки номер 1.
Отладка правил обмена платформы 7.7
Отладка правил обмена на версии платформы 7.7 происходит гораздо легче, нежели на 8. Причина всему то, что при сохранении правил обмена для версии 7.7 необходимо также указать путь к файлу для выгрузки модуля обработки выгрузки данных.
По выбранному пути на жестком диске будет создан файл txt. В моем случае его название "МодульВыгрузки.txt". Далее открываем конфигуратор 1С:Предприятие 7.7. Открываем типовую обработку V77Exp.ert. (Универсальная выгрузка данных в формате XML (2.1.7)) открываем ее модуль и полностью заменяем на тот программный код, который сформировался в файле "МодульВыгрузки.txt". Сохраняем. Запускаем 1С в режиме отладки, открываем только что созданную обработку, находим нужный кусок кода, ставим точку останова и далее уже в предприятии запускаем выгрузку данных через эту же обработку. Управление перейдет в отладчик. Вот и все.
P.S. Для быстроты тестирования правил обмена расскажу про одну хитрость. В модуле обработки V77Exp.ert не обязательно каждый раз вставлять программый код, созданный конвертаций. Достаточно в модуле прописать лишь одну строчку
Возможно, кому-то будет полезна статья с ИТС. На этом все. Всем спасибо, все свободны )))))
Читайте также: