Пример правила конвертации объектов. Пример правила конвертации объектов Стоимость типового переноса данных
И показываем, как с ее помощью СИЛЬНО упростить решение своих задач
Сегодня мы разберем, как буквально за 10-15 минут настроить и сделать простой перенос справочников и начальных остатков.
А это – массовая и регулярная задача , которая практически неизбежна для большинства запускаемых новых конфигураций.
Поэтому позовите коллег, им это будет тоже очень полезно.
Особенно, если они уже видели КД 3 и успели испугаться:)
Да, когда ее видишь в первый раз – там вообще ни фига не понятно.
Но на самом деле – все ОЧЕНЬ просто. Настолько просто, что вам потом даже скучно будет:)
Что конкретно в сегодняшних видео
Это 4 видео по обмену данными через универсальный формат обмена EnterpriseData .
Кроме того, мы покажем пример доработки типовых правил обмена в 1С:Конвертации данных 3.0
Общая длительность – 34 минуты . Содержание:
- Настройка обмена на примере 1С:Бухгалтерии 8 и 1C:ERP
- Как сделать загрузку типовых правил и универсального формата обмена в Конвертации Данных 3.0
- Перенос структуры метаданных в КД 3.0
- Как выполнить первый обмен данными
- Доработка правил конвертации
- Как загрузить новые правила без изменения конфигурации (без снятия с поддержки )
Обратите внимание , что при решении этой задачи меняются правила загрузки только в конфигурации-приемнике. А конфигурация-источник работает по типовым правилам.
Если бы подобная задача решалась в Конвертации данных 2.0, то изменения пришлось бы вносить в правилах и источника, и приемника.
Данные видеоуроки актуальны для БСП редакции 2.3.2 (для любой сборки старше 2.3.2.43).
Если Вы используете более старшую версию БСП,0 сделайте «поправку» на изменившийся интерфейс и расширенную функциональность. Для этого самостоятельно повторите пример из видео.
Видео 1:
Загрузка правил обмена между типовыми конфигурациями в Конвертацию данных 3.0
В этом уроке выполним подготовительные действия при внесении изменений в правила обмена между типовыми конфигурациями:
- Загрузка в КД структуры формата обмена (
- Создание конвертации
- Выгрузка файлов правил из типовой конфигурации
- Выгрузка модуля менеджера обмена
Видео 2:
Доработка правил обмена в КД 3.0
В этом уроке мы покажем, как дозаполнить реквизиты объектов при загрузке данных.
Будет решена задача – при загрузке объектов из конфигурации-источника устанавливать комментарий “Загружено из БП 3.0”.
Для решения задачи потребуется внести изменения в правилах конвертации объектов , в событии “Перед записью полученных данных”.
Разработанные правила будут сохранены в виде внешней обработки для дальнейшего использования.
Видео 3:
Настройка универсального обмена между типовыми конфигурациями
В этом уроке мы покажем, как настраивать новый обмен между типовыми.
Настройки будут сделаны в конфигурации-источнике и затем загружены в конфигурацию-приемник.
Также в этом видео мы покажем, как без изменения конфигурации подгрузить новые правила обмена.
Видео 4:
Перенос начальных остатков с помощью правил обмена
В уроке покажем типовой функционал переноса начальных остатков.
P.S.
Да, обмены через txt / dbf / ole и т.д. имеют право на существование. В каких-то специальных случаях, типа стыковки с веб-сервером или переноса из готового формата внешнего приложения.
Однако для стандартных обменов – стандартные методы и быстрее, и сильно проще.
А если кто-то изобретает велосипед, когда есть готовое универсальное решение – это как написать себе на лбу “инструментом не владею, изучать не хочу, буду строить костыли за ваши деньги” .
P.P.S.
Мы хотим показать, что Конвертация Данных 3.0 – это не сложно.
Непривычно – да. Не все сразу понятно – да. Есть очень неоднозначные моменты – да.
Но с помощью готовых инструкций и видео ее можно освоить буквально за 1-2 недели.
1. Вступление.
2. Что понадобится: конфигурация 1С: Конвертация данных 2.* и обработки из пакета. Для Примера задач возьмем конфигурации 1С: Управление торговлей 11 и 1С: БП 3.*.
Итак, для разработки правил выгрузки данных в 1С потребуется конфигурация 1С: Конвертация объектов 2, а также обработки, входящие в пакет.
Например, у нас уже развернута база конвертации и запущена.
Разработку правил обмена будем писать между конфигурацией 1С: Управление торговлей 11 и 1С: Бухгалтерия предприятия 3 (правила обмена УТ / БУХ).
3. Нам понадобятся Обработки для выгрузки структуры метаданных и обмена.
Первое, что нужно получить для разработки - это файлы со структурой метаданных. Выполняется это с помощью обработок выгрузки структуры метаданных, входящих в пакет конвертации объектов.
Собственно, в распакованном каталоге конфигураций для конфигураций на управляемых формах нас интересует обработка MD83Exp.epf. Если выгрузку нужно сделать из конфигураций на обычных формах, тогда используется обработка MD82Exp.epf. Это если, например, нужно получить структуру из таких конфигураций, как 1С: УТ 10, 1С: Управление производственным предприятием 1.3, 1С: Комплексная автоматизация 1.1, 1С: Зуп 2.5 и так далее.
Далее уже для выгрузки-загрузки данных в 1С с помощью наших правил понадобится обработка «Универсальный обмен данными в формате XML» V8Exchan83.epf для конфигураций на управляемых формах таких как 1С: Управление торговлей 11.*, 1С БП 3, 1С: ERP 2.* и подобных. И соответственно V8Exchan83.epf - для конфигураций на обычных формах.
4. Выгрузка структуры метаданных конфигурации 1С: Управление торговлей 11.3 и 1С: Бухгалтерия предприятия 3.0.*
Начнем с выгрузки структуры метаданных из конфигурации 1С: Бухгалтерия предприятия 3.
Откроем обработку MD83Exp.epf
В форме обработки имеются дополнительные настройки, где мы можем включить или отключить параметр выгружать регистры и движения в 1С. Также есть выбор, где будет проходить выгрузка: на сервере 1С или «на клиенте.» Указываем название файла, куда выгрузится структура данных. Аналогичным образом делаем выгрузку структуры метаданных конфигурации Управление торговлей 11.
Теперь необходимо загрузить конфигурацию в базу конвертаций. К данному пункту можно прийти и из списка конфигураций, и из списка конвертаций. Сделаем просто загрузку из рабочего стола:
В диалоговом окне загружаем структуру БП:
И аналогично - структуру Управления торговлей.
По окончании загрузки появится диалоговое окно, где можно указать удобное для вас наименование.
6. Создание правил конвертации в 1С на конкретном примере задачи.
Далее переходим в «Настройка правил объекта», где создаем новую настройку.
В диалоговом окне создания конвертации выбираем конфигурацию «источник» и конфигурацию «приемник» (которые ранее загрузили) и нажимаем ОК.
Так как в этой статье планировал показать создание «с нуля» и «без мусора», напоминаю, что ничего автоматически не создаем. Никаких прототипов.
В этом диалоговом окне ничего выполнять не будем, просто нажмем - «Закрыть».
Создадим правила для выгрузки не один документ в один, а один вид в другой, например, документ РеализацииТоваровУслуг из УТ 11 с необходимыми справочниками в документ ПоступлениеТоваровУслуг в БП 3.
Итак, создаем новое ПКО (правило конвертации объектов в 1С)
Выбираем источник РеализацияТоваровУслуг и приемник ПоступлениеТоваровУслуг и нажимаем ОК.
При этом появится диалоговое окно, где опять отказываемся от автоматического создания ПКС (Правил конвертации свойств). Далее выберем только необходимые.
А вот на предложение создать ПВД (правил выгрузки данных) отвечаем «Да».
Создаются ПВД, которые и будут отражаться в обработке универсального обмена XML для выбора:
Создадутся так же правила конвертации данных с пустыми правилами конвертации свойств.
Причем видно, что ПКО по умолчанию предлагается искать по внутреннему идентификатору объекта. На это указывает лупа возле ПКО. Мы же будем делать свой поиск, и сделаем его по номеру документа и дате на начало дня.
Снимаем поиск по УИО:
Теперь начнем сопоставление необходимых свойств (реквизитов) объекта. Для этого жмем «СинхронизацияСвойств» (метка «1» на скрине). Убираем рекурсивное создание правил («2»). Снимаем все отмеченные реквизиты ("3"). И выберем самостоятельно, что нам нужно.
Для примера выбираем необходимое:
Обращаю внимание на то, что мы сделаем ПКС контрагента в организацию, а организацию в контрагента, и еще сопоставим некоторые реквизиты, которые не совпадают по имени, например, «Валюта» и «Валюта документа».
Где видим, что еще нет правил конвертации.
Начнем по реквизитам проходить и описывать. Сначала настраиваем поиск документа так, как писал ранее, делаем выгрузку и поиск документа на начало даты, и сделаем подмену нумерации. Первые три символа будем подменять на свой префикс «УТБ». А так как в БП и УТ нумерация по 11 символов, делаем составной номер: наш префикс и 8 символов от источника. Пример на скрине ниже.
Выгрузку документов делаем всегда не проведенные и без движения. Предполагаем, что документы будут в приемнике проводиться после проверки пользователем.
Для этого ПКС установив, как не проведен, 0 или 1, используем как булево.
На примере валюты создаем для ПКС правило конвертации объекта. При этом считаем, что в обеих базах валюты имеются, и они должны синхронизироваться по коду. Поэтому в ПКО валют не будем создавать все ПКС, а только добавим Код для поиска. Т.е. от предложения создать ПКС для объекта - отказываемся.
В ПКО документа для ПКС подставилось созданное Правило конвертации. А само правило по умолчанию предлагается по уникальному идентификатору. Исправляем, делаем поиск по коду и устанавливаем свойство, чтобы не создавать новый объект.
В итоге получаем вариант:
Далее по аналогии создаем для остальных реквизитов ПКО и ПКС. Причем поиск организации по контрагенту и наоборот устанавливаем по ИНН. Примерно так это выглядит с минимальными реквизитами (можно добавлять при необходимости).
Для ПКО Договоры контрагентов делаем поиск по ПКС Контрагент, наименование и владелец.
Посмотрим, как указать в ПКС нужное значение в типе перечисления. Например, реквизит «ВидОперации». Тут можно использовать различные условия и подставлять значения. Например, нам нужно, чтобы «вид операции» выгружался всегда «Товары», в этом случае достаточно в «лоб» написать нужное значение строкой.
Ниже показано, как установить без сложностей и в большинстве случаев ПКС для КратностьВзаиморасчетов, КурсВзаиморасчетов, Счета учета.
Для ПКО Номенклатура оставим поиск по внутреннему уникальному идентификатору. Но обращу внимание на то, как можно переопределить свою группу. Например, мы согласны, что будет выгружаться новая номенклатура из конфигурации 1С: Управление торговлей 11, но нужно, чтобы номенклатура собиралась в определенной группе «НашаГруппа».
Для реализации данной задачи создаем ещё одно ПКО. Назовем его «НоменклатураРодитель», которое укажем в ПКС родителя в правиле конвертации.
Устанавливаем два поиска: по наименованию, где наименование жестко указываем нашей группы, и обязательное свойство признака «ЭтоГруппа» в истина.
Поскольку мы приняли решение, что у нас вся номенклатура падает в нашу группу, то нет необходимости при выгрузке выгружать группы из УТ 11. Для этого в ПКО Номенклатура в обработчике событий «ПередВыгрузкой» поставим фильтр, что не нужно выгружать группы «Отказ = Источник.ЭтоГруппа;».
В ПВД (правила выгрузки данных) РеализацииТоваровУслуг, добавим фильтр, чтобы не выгружались помеченные на удаление документы. Для этого в ПВД в обработчиках событий «ПередВыгрузкой» пропишем фильтр «Отказ = Объект.ПометкаУдаления;».
Сохраним разработанные правила в файл.
7. Подводим итоги: Выгрузка и загрузка данных с помощью разработанных правил обмена данными.
Открываем в 1С:Управление торговлей 11 обработку «Универсальный обмен данными в формате XML» V8Exchan83.epf.
Выгрузка прошла, теперь этой же обработкой делаем загрузку в 1С: Бухгалтерия предприятия 3.
Загрузка прошла. Проверяем, что как загрузилось. Итак, документ загружен, как мы и добивались - у нас Организация загружена в контрагента, а контрагент в организацию. Счета учета все загружены и установлены. Номер документа у нас получился с нашим префиксом и на начало дня. Все реквизиты, которые прописали, заполнены.
Проверяем загрузку номенклатуры. Видим, что всё получилось так, как мы и планировали.
У нас создались и заполнились реквизиты так, как мы это задумывали. В конвертации имеется множество тонкостей и каких-то простых, но нужных вещей, которые помогают точно написать конвертацию. А это позволяет минимизировать ошибки, не испортить существующие данные и избавиться от лишнего мусора. Это один из самых простых примеров. Можно так же делать конвертации одного объекта во многие или же наоборот многие - в один.
Сейчас есть конвертация данных 3, она решает другие задачи. Поэтому конвертация 2, так же нужна. Всем удачи в изучении и освоении.
Конечно, если Вы программист и это - основная ваша работа, Вы можете сами попробовать написать конвертацию. Но если нет, то стоит ценить Ваше время в своей сфере деятельности, а данную задачу попросить выполнить профессионалов.
Миграция данных между различными конфигурациями – задача не из тривиальных. Путей решения как всегда несколько, но не все они оптимальны. Попробуем разобраться в нюансах переноса данных и выбрать универсальную стратегию решения подобных вопросов.
Проблема миграции данных (речь сугубо о продуктах компании 1С) из одного решение в другое возникла не вчера. Компания «1С» прекрасно понимает, с какими трудностями сталкиваются разработчики во время создания миграций, поэтому всячески старается помогать инструментами.
За время развития платформы, компания представила ряд универсальных инструментов, а также технологий, упрощающих перенос данных. Они встроены во все типовые решения и проблема миграций между идентичными конфигурациями в целом решилась. Победу лишний раз подтверждает тесная интеграция типовых решений.
С миграциями между не типовыми решениями ситуация несколько сложней. Широкий выбор технологий позволяет разработчикам самостоятельно выбирать оптимальный с их точки зрения способ решения задачи.
Рассмотрим некоторые из них:
- обмен через текстовые файлы;
- использование планов обмена;
- и т.д.
У каждого из них свои плюсы и минусы. Если резюмировать, то главным минусом будет – многословность. Самостоятельная реализация алгоритмов миграции чревата существенными временными затратами, а также долгим процессом отладки. Про дальнейшее сопровождение подобных решений даже говорить не хочется.
Сложность, дороговизна сопровождения, подтолкнули компанию «1С» на создание универсального решения. Технологии, позволяющей максимально упростить разработку и поддержку миграций. В итоге идея реализовалась в виде отдельной конфигурации – «Конвертация данных».
Конвертация данных - типовое решение, самостоятельная конфигурация. Любой пользователь, обладающий подпиской “ИТС:Проф” может совершенно бесплатно загрузить этот пакет с сайта поддержки пользователей или диска ИТС. Установка выполняется стандартным способом - как и все остальные типовые решения от 1С.
Теперь немного о плюсах решения. Начнем с самого главного - универсальность. Решение не заточено на определенные конфигурации/версии платформы. Одинаково хорошо работает как с типовыми конфигурациями, так и самописными. Разработчики получают в распоряжение универсальную технологию и стандартизированный подход к созданию новых миграций. Универсальность решения позволяет подготавливать миграции даже для отличных от «1С:Предприятие» платформ.
Второй жирный плюс - визуальные средства. Простые миграции создаются без программирования. Да-да, без единой строчки кода! Только ради этого стоит один раз потратить время на изучение технологии, а потом использовать бесценные навыки многократно.
Третьим плюсов я бы отметил отсутствие ограничений на дистрибуцию данных. Разработчик сам выбирает способ доставки данных в конфигурацию приемник. Из коробки доступно два варианта: выгрузка в xml файл и прямое соединение с информационной базой (COM/OLE).
Изучаем архитектуру
Мы уже знаем, конвертация данных способна творить чудеса, но пока не совсем понятно, в чем же выражаются технические плюсы. Первое, что необходимо усвоить - в основе любой миграции данных (конвертации) лежат правила обмена. Правила обмена - обычный xml файл с описанием структуры, в которую будут выгружаться данные из ИБ. Сервисная обработка, осуществляющая выгрузку/загрузку данных, анализирует правила обмена и на их основании выполняет выгрузку. Во время загрузки происходит обратный процесс.
Конфигурация “КД” – своего рода визуальный конструктор, с помощью которого разработчик создает правила обмена. Выполнять выгрузку данных она не умеет. За это отвечают дополнительные внешние сервисные обработки, входящие в дистрибутив КД. Их несколько (XX в имени файла - номер версии платформы):
- MDXXExp.epf - обработка позволяет выгружать описание структуры информационной базы в xml файл. Описание структуры загружается в КД для дальнейшего анализа и создания правил обмена.
- V8ExchanXX.epf - осуществляет выгрузку/загрузку данных из информационной базы в соответствии с правилами обмена. В большинстве типовых конфигураций обработка присутствует из коробки (см. пункт меню “Сервис”). Обработка универсальна и не привязывается к каким-то определенным конфигурациям/правилам.
Хорошо, теперь на основании всего вышесказанного, определим этапы разработки новой конвертации:
- Определение задачи. Необходимо четко понимать какие данные требуется переносить (из каких объектов конфигурации) и самое главное куда переносить.
- Подготовка описания структур конфигураций (Источника/Приемника) для последующей загрузки в КД. Задача решается сервисной обработкой MDXXExp.epf.
- Загрузка подготовленных описаний структур в ИБ.
- Создание правил обмена при помощи визуальных средства КД.
- Выполнение выгрузки/загрузки по созданным правилам конвертации данных путем использования обработки V8ExchanXX.epf.
- Отладка правил обмена (при необходимости).
Простейшая конвертация
Для демонстрации нам потребуется две развернутые конфигурации. Я решил остановиться на варианте: “Управление торговлей” 10-й редакции и небольшим самописным решением. Задача будет заключаться в переносе данных из типовой конфигурации «УТ». Для краткости назовем самописное решение “Приемник”, а управление торговлей “Источником”. Решать задачу начнем с переноса элементов справочника «Номенклатура».
Первым делом взглянем на схему конвертации данных и перечитаем список действий, которые необходимо проделать. Затем запускаем конфигурацию “Источник” и открываем в ней сервисную обработку MD82Exp.epf.
Интерфейс обработки не блещет изобилием настроек. Пользователю лишь требуется указать типы объектов метаданных, которые не попадут в описание структуры. В большинстве случае эти настройки изменять не приходится, т.к. особого смысла в выгрузки движений по регистрам накопления (как пример) нет.
Движение правильней формировать во время проведения документов в приемнике. Все движения будут сделаны документом самостоятельно после переноса. Второй аргумент в защиту настроек по умолчанию - сокращение размера файла с выгрузкой.
Некоторые документы (особенно в типовых конфигурациях) формируют движения по множеству регистров. Выгрузка всего этого хозяйства сделает результирующий XML файл чересчур большим. Это может затруднить последующую транспортировку и загрузку в базу приемник. Чем больше файл с данными, тем больше потребуется оперативной памяти для его обработки. За свое практику мне довелось столкнуться с неприлично большими файлами выгрузки. Такие файлы напрочь отказывались разбираться стандартными средствами.
Итак, оставляем все настройки по умолчанию и делаем выгрузку описания конфигурации в файл. Аналогичную процедуру повторяем для второй базы.
Открываем КД и в главном меню выбираем “Справочники” -> “Конфигурации” . Справочник хранит описания структур всех конфигураций, которые помогут быть использованы для создания конвертаций. Мы один раз загружаем описание конфигурации, а потом можем использовать ее многократно для создания различных конвертаций.
В окне справочника нажмем кнопку “Добавить ” и в появившемся окне выберем файл с описанием конфигурации. Отмечаем флажок “Загрузить в новую конфигурацию” и кликаем по кнопке “Выполнить загрузку”. Аналогичные действия проделываем с описанием структуры второй конфигурации.
Теперь все готово для создания правил обмена. В главном меню КД выбираем “Справочники” -> “Конвертации”. Добавляем новый элемент. В окне создания новой конвертации требуется указать: конфигурацию источник (выбираем УТ) и конфигурацию приемник (выбираем «Приемник»). Далее открываем вкладку “Дополнительно” и заполняем следующие поля:
- имя файла правил обмена - под таким именем будут сохраняться созданные правила обмена. Имя файла можно менять в любое время, но выгодней задать его сейчас. В будущем это сэкономит время. Правила для демонстрационного примера я назвал: «rules-ut-to-priemnik.xml».
- наименование - название конвертации. Название может быть абсолютно любым, я ограничился “Демо. УТ в Приемник”.
Все, нажимаем “Ok”. Сразу же перед нами появляется окно с вопросом создать все правила автоматически. Согласие на столь заманчивое предложение даст мастеру команду автоматически проанализировать описание выбранных конфигураций и самостоятельно сгенерировать правила обмена.
Сразу расставим точки над “и”. Ничего серьезного мастер сгенерировать не сможет. Однако, со счетов эту возможность сбрасывать не стоит. Если необходимо наладить обмен между идентичными конфигурациями, то услуги мастера будут весьма кстати. Для нашего примере предпочтительней ручной режим.
Рассмотрим подробней окно “Настройки правил обмена”. Интерфейс может показаться слегка запутанным - большое количество вкладок, напичканных элементами управления. На самом деле все не так сложно, к этому безумству начинаешь привыкать через несколько часов работы с приложением.
На данном этапе нас интересуют две вкладки: “Правила конвертации объектов” и “Правила выгрузки данных”. На первой мы должны настраивать правила соответствия, т.е. сопоставлять объекты двух конфигураций. На второй же, определять возможные объекты, которые будут доступны пользователю для выгрузки.
Во второй половине вкладки “Правила конвертации объектов” расположена дополнительная панель с двумя вкладками: “Конвертация свойств” и “Конвертация значений ”. Первая будет отбирать свойства (реквизиты) выбранного объекта, а вторая необходима для работы с предопределенными значениями (например, предопределенные элементы справочников или элементы перечисления).
Отлично, теперь создадим правила конвертации для справочников. Выполнить это действие можно двумя вариантами: воспользоваться мастером синхронизации объектов (кнопка “”) или добавить соответствия для каждого объекта вручную.
Для экономии места воспользуемся первым вариантом. В окне мастера снимаем флажки с группы “Документы ” (нас интересуют только справочники) и раскрываем группу “Справочники ”. Внимательно пролистываем список и смотрим названия справочников, которые можно сопоставить.
В моем случае таких справочников три: Номенклатура, Организации и Склады. Есть еще справочник Клиенты, выполняющий ту же самую смысловую нагрузку, что и “Контрагенты ” из конфигурации “УТ ”. Правда, мастер не смог их сопоставить в силу отличных имен.
Исправить эту недоработку мы можем самостоятельно. Находим в окне «Соответствия объектов » справочник «Клиенты », а в колонке «Источник» выбираем справочник «Контрагенты». Затем устанавливаем флажок в колонке «Тип» и нажимаем кнопку “Ok”.
Мастер синхронизации объектов предложит автоматически создать правила конвертации свойств всех выбранных объектов. Сопоставление свойств будет происходить по именам и для нашей демонстрации этого будет вполне достаточно, соглашаемся. Следующим вопросом будет предложение создания правил выгрузки. Согласимся и на него.
Основа для правил обмена готова. Объекты для синхронизации выбрали мы, а правила для конвертации свойств и правила выгрузки были созданы автоматом. Сохраним правила обмена в файл, затем откроем ИБ “Источник” (в моем случае это УТ) и в ней запустим сервисную обработку V8Exchan82.epf .
Первым делом в окне обработки выбираем созданные нами правила обмена. На вопрос загрузки правил отвечаем положительно. Обработка проанализирует правила обмена и построит одноименное дерево объектов, доступных для выгрузки. Для этого дерева мы можем устанавливать всевозможные отборы или узлы обмена, по изменения которых требуется выбирать данные. Мы хотим выгрузить абсолютно все данные, поэтому в установке фильтров необходимость отсутствует.
После завершения процесса выгрузки данных в файл переходим в ИБ “Приемник ”. В ней также открываем обработку V8Exchan82.epf , только на этот раз переходим на закладку “Загрузка данных”. Выбираем файл с данными и нажимаем кнопку “Загрузить”. Все, данные успешно перенесены.
Задачи из реального мира
Первый демонстрационный пример мог ввести в заблуждение. Все выглядит достаточно простым и логичным. На самом деле это не совсем так. В реальной работе возникают задачи, решить которые одними визуальными средствами (без программирования) трудно или совсем невозможно.
Чтобы не разочароваться в технологии, я приготовил несколько реальных задач. С ними обязательно сталкиваешься при работе. Они не выглядят столь тривиальными и заставляют посмотреть на конвертацию данных под новым углом. Внимательно рассмотрите представленные примеры, и смело используйте как сниппеты при решении реальных задач.
Задача №1. Заполняем отсутствующие реквизиты
Предположим, нам требуется перенести из УТ справочник “Контрагенты ”. В приемнике для этого есть похожий справочник “Клиенты”. Он полностью подходит для хранения данных, но в нем есть реквизит “Организация ”, позволяющий разделять контрагентов по принадлежности к организации. По умолчанию все контрагенты должны относиться к текущей организации (ее можно получить из одноименной константы).
Решений у задачи несколько. Мы рассмотрим вариант заполнения реквизита “Организация ” прямо в базе “Приемник ”, т.е. в момент загрузки данных. Текущая организация хранится в константе, следовательно, нет никаких преград в получении этого значения. Откроем правило конвертации объекта (далее ПКО) “Клиенты ” (двойной клик по объекту) и в мастере настройки правил перейдем до раздела “Обработчики событий”. В списке обработчиков найдем “После загрузки ”.
Опишем код получения текущей организации с последующим присвоением реквизиту. На момент срабатывания обработчика “После загрузки”, объект будет полностью сформирован, но еще не записан в БД. Никто не запрещает нам его изменять по своему усмотрению:
Если НЕ Объект.ЭтоГруппа Тогда Объект.Организация = Константы.ТекущаяОрганизация.Получить(); КонецЕсли;
Перед заполнением реквизита «Организация » обязательно необходимо проверить значение реквизита «ЭтоГруппа ». Для справочника «Клиенты » установлен признак иерархичности, поэтому проверка на группу необходима. Подобным образом выполняется заполнение любых реквизитов. Обязательно прочтите справку по другим параметрам обработчика «ПослеЗагрузки ». Например, среди них есть параметр «Отказ ». Если ему присвоить значение «Истина», то объект в базу записан не будет. Таким образом, появляется возможность ограничивать объекты для записи в момент загрузки.
Задача №2. Реквизиты в регистр сведений
В справочнике “Контрагенты ” конфигурации УТ, есть реквизиты “Покупатель ” и “Поставщик ”. Оба реквизита имеют тип “Булево ” и служат для определения типа контрагента. В ИБ “Приемник ”, у справочника “Клиенты ” аналогичных реквизитов нет, но есть регистр сведений “ВидыКлиентов ”. Он выполняет аналогичную функцию и может хранить для одного клиента несколько признаков. Наша задача заключается в переносе значений реквизитов в отдельные записи регистра сведений.
Одними визуальными средствами здесь, к сожалению, тоже не справиться. Начнем с малого, создадим новое ПКО для регистра сведений “ВидыКлиентов ”. В качестве источника ничего не указывайте. От автоматического создания правил выгрузки откажитесь.
Следующим шагом сформируем правила выгрузки. Переходим на соответствующую вкладку и нажимаем кнопку “Добавить ”. В окне добавления правил выгрузки заполняем:
- Способ выборки. Меняем на “Произвольный алгоритм”;
- Правило конвертации. Выбираем регистр сведений “ВидыКлиентов”;
- Код (имя) правила. Записываем как “ВыгрузкаВидовКлиентов”;
Теперь необходимо написать код для отбора данных для выгрузки. Здесь нам поможет параметр “ВыборкаДанных ”. В него мы можем поместить коллекцию с подготовленным набором данных. Параметр “ВыборкаДанных ” может принимать различные значения - результат запроса, выборка, коллекции значений и т.д. Мы его инициализируем в виде таблицы значений с двумя колонками: клиент и тип клиента.
Ниже приведен код обработчика событий “Перед обработкой ”. В нем выполняется инициализация параметра “ВыборкаДанных ” с последующим заполнением данными из справочника “Контрагенты ”. Здесь стоит обратить внимание на заполнение колонки “ТипКлиента ”. В “УТ” у нас признаки имеют тип “Булево”, а в получателе перечисление.
На данном этапе мы их не можем привести к нужному типу (его же нет в УТ), поэтому пока оставим в виде строк. Этого можно и не делать, но мне сразу хочется показать, как приводить к отсутствующему типу в источнике.
ВыборкаДанных = Новый ТаблицаЗначений(); ВыборкаДанных.Колонки.Добавить("Клиент"); ВыборкаДанных.Колонки.Добавить("ТипКлиента"); ВыборкаДанныхИзСправочника = Справочники.Контрагенты.Выбрать(); Пока ВыборкаДанныхИзСправочника.Следующий() Цикл Если ВыборкаДанныхИзСправочника.ЭтоГруппа Тогда Продолжить; КонецЕсли; Если ВыборкаДанныхИзСправочника.Покупатель Тогда НоваяСтрока = ВыборкаДанных.Добавить(); НоваяСтрока.Клиент = ВыборкаДанныхИзСправочника.Ссылка; НоваяСтрока.ТипКлиента = "Покупатель"; КонецЕсли; Если ВыборкаДанныхИзСправочника.Поставщик Тогда НоваяСтрока = ВыборкаДанных.Добавить(); НоваяСтрока.Клиент = ВыборкаДанныхИзСправочника.Ссылка; НоваяСтрока.ТипКлиента = "Поставщик"; КонецЕсли; КонецЦикла;
Сохраним правило выгрузки данных и вернемся на вкладку “Правила конвертации объектов ”. Добавим для регистра сведений “ВидыКлиентов ” правила конвертации свойств: клиент и тип клиента. Источник оставим пустым, а в обработчике событий “Перед выгрузкой” пишем:
//Для свойства “Клиент” Значение = Источник.Клиент; //Для свойства “ТипКлиента” Если Источник.Клиент = "Покупатель" Тогда Выражение = "Перечисления.ТипыКлиентов.Покупатель" ИначеЕсли Источник.Клиент = "Поставщик" Тогда Выражение = "Перечисления.ТипыКлиентов.Поставщик"; КонецЕсли;
В листинге выполняется заполнение реквизитов на основе произведенной выборки данных. Клиента мы передаем просто в виде ссылки, а тип клиента записываем в параметр «Выражение ». Данные этого параметра будут интерпретированы в приемнике, и при выполнении реквизит будет заполненным корректным значением из перечисления.
Все, правила обмена готовы Рассмотренный пример получился достаточно универсальным. Подобный подход частенько применяется при переносе данных из конфигураций, созданных на платформе 7.7. Яркий тому пример – перенос периодических реквизитов.
Задача №3. Трюки с табличными частями
Нередко попадаются задачи, требующие разноски строк одной табличной части в несколько. Например, в исходной конфигурации услуги и товары оформляются в одной табличной части, а приемнике хранение этих сущностей разделено. Визуальными средствами задачу опять же не решить. Здесь за основу удобно брать решение второй задачи.
Делаем правило выгрузки данных, указываем произвольный алгоритм и в обработчике “Перед выгрузкой” пишем запрос для получения данных из табличной части.
Для экономии места я не стану приводить код (вы всегда можете обратиться к исходникам) запроса - ничего необычного в нем нет. Полученную выборку перебираем, и отсортированные результаты размещаем в уже знакомый параметр “ВыборкаДанных ”. В качестве коллекции опять же удобно использовать таблицу значений:
ВыборкаДанных = Новый ТаблицаЗначений(); //Здесь будет еще одна табличная часть ВыборкаДанных.Колонки.Добавить(“Товары”); //Здесь тоже будет табличная часть ВыборкаДанных.Колонки.Добавить(“Услуги”); ВыборкаДанныз.Колонки.Добавить(“Ссылка”);
Задача №4. Перенос данных в операцию
Если в организации используется несколько учетных систем, то рано или поздно возникнет необходимость в миграции данных с последующим формированием проводок.
В конфигурации “БП ” есть универсальный документ “Операция ” и он идеально подходит для формирования большего количества проводок. Вот только одна не задача - документ сделан хитро, и так просто данные в него не перенести.
Пример подобной конвертации вы найдете в исходниках к статье. Объем кода получился достаточно большим, поэтому нет никого смысла его публиковать к статье. Скажу лишь, что выгрузка опять же использует произвольный алгоритм в правилах выгрузки данных.
Задача №5. Синхронизация данных по нескольким реквизитам
Мы уже рассмотрели несколько примеров, но до сих пор не поговорили о синхронизации объектов во время переноса. Вот представим, что нам требуется перенести контрагентов и часть из них наверняка имеется в базе приемнике. Как перенести данные и не допустить появления дублей? На этот счет КД предлагает несколько способов синхронизации переносимых объектов.
Первый из них - по уникальному идентификатору. Многие объекты обладают уникальным идентификатором, который гарантирует уникальность в пределах таблицы. Например, в справочнике “Контрагенты ” не может быть двух элементов с одинаковыми идентификаторами. КД делает на это расчет и для всех создаваемые ПКО сразу по умолчанию включается поиск по идентификатору. Во время создания ПКО вы должны были обратить внимание на изображение лупы возле имени объекта.
Синхронизировать по уникальному идентификатору - способ надежный, но уместен он далеко не всегда. При объединении справочников “Контрагенты ” (из нескольких разных систем) он мало, чем поможет.
В таких случаях правильней синхронизировать объекты по нескольким критериям. Контрагентов правильней искать по ИНН, КПП, Наименованию или разбивать поиск на несколько этапов.
Конвертация данных не ограничивает разработчика в определении критерием поиска. Рассмотрим абстрактный пример. Пусть нам требуется синхронизировать справочники “Контрагенты ” из разных информационных баз. Подготовим ПКО и в настройках правил конвертации объекта установим флажок “Продолжить поиск полям поиска, если по идентификатору объект приемник не найден ”. Этим действием мы сразу определи два критерия поиска - по уникальному идентификатору и произвольным полям.
Поля мы вправе выбирать сами. Отметив ИНН, КПП, Наименование мы сразу укажем несколько критериев поиска. Удобно? Вполне, но опять же этого бывает мало. А что ели мы захотим изменять критерии поиска? Например, сначала ищем по связке ИНН+КПП, а если ничего не находим, то начинаем пытать счастье с наименованием.
Подобный алгоритм реализовать вполне по силам. В обработчике события “Поля поиска ” мы можем указать до 10 критериев поиска и для каждого из них определить свой состав полей поиска:
Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = “ИНН, КПП”; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = “Наименование”; КонецЕсли;
Решений всегда несколько
Любая задача имеет несколько решений и перенос данных между различными конфигурациями не исключение. Каждый разработчик вправе выбирать свой путь решения, но если вам постоянно приходится разрабатывать сложные миграции данных, то настоятельно рекомендую обратить внимание на конфигурацию “”. Пусть вначале придется инвестировать ресурсы (время) в обучение, но они с лихвой окупятся на первом более-менее серьезном проекте.
На мой взгляд, компания 1С незаслуженно обходит тему применения конвертации данных. За все время существования технологии, по ней вышла всего одна книга: “1С:Предприятие 8. Конвертация данных: обмен между прикладными решениями ”. Книга достаточно старая (2008 г.), но ознакомиться с ней все же желательно.
Знание платформ все же необходимо
» - универсальный инструмент, но если вы планируете применять его для создания миграций данных с конфигураций, разработанных для платформы 1С:Предприятие 7.7, то вам придется потратить время на знакомство со встроенным языком. Синтаксис и идеология языка сильно отличается, поэтому придется потратить время на изучение. В остальном принцип остается тем же.
Задача этого правила обмена перенести остатки по взаиморасчетам из БП 2 в УТ11.
Поэтапное создание правила обмена с помощью конфигурации "Конвертация данных"(метаданные должны быть загружены):
1) Создаем правило выгрузки объекта для этого переходим на закладку "Правила выгрузки данных", жмем добавить. В появившемся окне выбираем объект выборки у нас это будет хозрасчетный регистр. Способ выборки меняем на произвольный алгоритм.
2) Переходим к написанию самого кода т.к. в УТ нет хозрасчетного регистра то мы должны его преобразовать. Сначала нам нужен запрос который по нашим параметрам будет возвращать остатки по взаиморасчетам. В обработчике события "Перед обработкой" пишем следующий запрос:
ТекстЗапроса = " ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
| ЕСТЬNULL(СУММА(ХозрасчетныйОстатки.СуммаОстатокДт),0) КАК СуммаОстатокДт,
| ЕСТЬNULL(СУММА(ХозрасчетныйОстатки.СуммаОстатокКт),0) КАК СуммаОстатокКт,
| МАКСИМУМ(ХозрасчетныйОстатки.Субконто2.Дата) КАК ДатаРасчетногоДокумента,
| МАКСИМУМ(ХозрасчетныйОстатки.Субконто2.Номер) КАК НомерРасчетногоДокумента
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&НаДату, Счет = &счет,) КАК ХозрасчетныйОстатки
|ГДЕ
<> &группа и
| ХозрасчетныйОстатки.Субконто1.Родитель <> &группа1
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОстатки.Счет,
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.Субконто2
|УПОРЯДОЧИТЬ ПО
| Субконто1
|АВТОУПОРЯДОЧИВАНИЕ";
В моей задача стояли ограничения на группы контрагентов по которым выгружаются взаиморасчеты.
Определяем значения переменных которые будут использоваться в дальнейшем.
НаДату = дата("20130101");
ТД = ТекущаяДата();
группа = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели");
группа1 = Справочники.Контрагенты.НайтиПоНаименованию("Возвраты от ФИЗЛИЦ");
Создаем таблицу которую в последствии будем передавать в правило конвертации значений.
ТЗ = Новый ТаблицаЗначений();
ТЗ.Колонки.Добавить("Контрагент");
ТЗ.Колонки.Добавить("Сумма");
ТЗ.Колонки.Добавить("СуммаРЕГЛ");
ТЗ.Колонки.Добавить("РасчетныйДокумент");
ТЗ.Колонки.Добавить("ДатаРасчетногоДокумента");
ТЗ.Колонки.Добавить("НомерРасчетногоДокумента");
ТЗ.Колонки.Добавить("Партнер");
ТЗ.Колонки.Добавить("ВалютаВзаиморасчетов");
ТЗ.Колонки.Добавить("ДатаПлатежа");
Устанавливаем параметры, вызываем запрос, заполняем таблицу вызываем правило конвертации.
запрос = новый запрос(ТекстЗапроса);
запрос.УстановитьПараметр("группа",группа);запрос.УстановитьПараметр("группа1",группа1);
запрос.УстановитьПараметр("НаДату",НаДату);
запрос.УстановитьПараметр("Счет",ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками);//76.05
Выборка = запрос.Выполнить().Выбрать();
ТЗ.очистить();
Пока Выборка.Следующий() Цикл
если Выборка.СуммаОстатокКТ = 0 или Выборка.СуммаОстатокКТ = "" тогда
продолжить;
конецесли;
если Выборка.СуммаОстатокКТ < 0тогда
сообщить(""+Выборка.Субконто1+" отрицательное значение "+Выборка.СуммаОстатокКТ);
конецесли;
СтрокаТЗ = ТЗ.Добавить();
СтрокаТЗ.Контрагент = Выборка.Субконто1;
СтрокаТЗ.сумма = Выборка.СуммаОстатокКТ;//Выборка.СуммаОстатокКт;
СтрокаТЗ.суммаРегл = Выборка.СуммаОстатокКТ;//Выборка.СуммаОстатокКт;
СтрокаТЗ.ДатаРасчетногоДокумента =Выборка.ДатаРасчетногоДокумента;
СтрокаТЗ.НомерРасчетногоДокумента = Выборка.НомерРасчетногоДокумента;
СтрокаТЗ.ДатаПлатежа = ТД;
КонецЦикла;
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Дата", ТекущаяДата());
ИсходящиеДанные.Вставить("РасчетыСПартнерами", ТЗ);
ИсходящиеДанные.Вставить("ТипОперации", "ОстаткиЗадолженностиПередПоставщиками");
ИсходящиеДанные.Вставить("Комментарий", "Сформировано по кредиту счета 76.05");
сообщить("76.05 КРЕДИТ начало");
ВыгрузитьПоПравилу(, ИсходящиеДанные, "ВводОстатковПоВзаиморасчетам_7605Кредит");
Аналогично проделываем ту же операцию и для остальных необходимых счетов(их описание как и готовое правило имеется во вложении).
3) Переходим к созданию правил конвертации объектов, для этого открываем закладку "Правила конвертации объектов". Добавим туда новое правило с именем "ВводОстатковПоВзаиморасчетам_7605Кредит" , объект источник оставим пустым, объект приемник установим документ "Ввод остатков", на вкладке настройки уберем флаг "Искать объект приемника по внутреннему идентификатору объекта источника".
В обработчике события "Перед загрузкой" напишем следующий код:
ГенерироватьНовыйНомерИлиКодЕслиНеУказан = истина;
В обработчике события "После загрузки" напишем:
выполнить(алгоритмы.ПослеЗагрузкиВводаОстатков);
он выполнит алгоритм со следующим содержанием:
валюта = Константы.ВалютаРегламентированногоУчета.Получить();
объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
объект.организация=параметры.порганизация;
для каждого стр из объект.расчетыспартнерами цикл
Стр.РасчетныйДокумент = Справочники.ДоговорыКонтрагентов.пустаяссылка();
Стр.ВалютаВзаиморасчетов = валюта;
если ЗначениеЗаполнено(стр.контрагент.партнер) тогда
стр.партнер = стр.контрагент.партнер;
иначе
парт = Справочники.Партнеры.НайтиПоНаименованию(стр.контрагент.Наименование);
если парт <> Неопределено и парт <> Справочники.Партнеры.пустаяссылка() тогда
стр.партнер = парт;
объект2.Партнер = парт;
объект2.Записать();
иначе
выполнить(алгоритмы.ДобавитьПартнера);
конецесли;
конецесли;
конеццикла;
Этот алгоритм будет исполнен на стороне приемника(БП). Кроме переноса остатков по взаиморасчетам стоит задача переноса контрагентов, но в УТ используются партнеры поэтому после формирования документа мы проверяем все ли контрагенты и партнеры имеются в базе приемнике, если по какой то причине их нет то мы их добавляем.
Добавление контрагентов осуществит правило конвертации справочника "Контрагенты" его можно создать точно также как и предыдущее правило, но разрешить системе самой сопоставить необходимые поля.
Для партнеров был создан алгоритм который выполняется на стороне приемника.
Для того чтобы выполнить алгоритм на стороне приемника, надо в правом верхнем углу окна алгоритма(при его редактировании) проставить флаг "Используется при загрузке".
Ниже приведен код алгоритма "Добавить партнера":
нПартнер = Справочники.Партнеры.СоздатьЭлемент();
нПартнер.Наименование =стр.контрагент.наименование;
нПартнер.Комментарий = "Создан при загрузке из БП";
нПартнер.НаименованиеПолное =стр.контрагент.НаименованиеПолное;
нПартнер.Поставщик = ?(найти(стр.контрагент.ДополнительнаяИнформация,"Поставщик")>0,истина,ложь);
нПартнер.Клиент = ?(найти(стр.контрагент.ДополнительнаяИнформация,"Клиент")>0,истина,ложь);
ПрочиеОтношения = ?(найти(стр.контрагент.ДополнительнаяИнформация,"Прочее")>0,истина,ложь);
нпартнер.Записать();
стр.партнер = нпартнер.ссылка;
контрагент = Справочники.Контрагенты.НайтиПоНаименованию(стр.контрагент.Наименование);
объект2 = контрагент.ПолучитьОбъект();
объект2.Партнер = нпартнер.ссылка;
объект2.Записать();
Возвращаемся обратно к правилу конвертации объекта. Теперь нам надо установить соответствия полей источника и приемника, это можно было сделать непосредственно перед написанием кода. Для того чтобы сопоставить поля в нижней табличной части имеется кнопка вызова мастера "Синхронизация свойств". В этом мастере мы можем либо сопоставить поля, либо оставить как без источника, так и без приемника. В нашем случае все поля и ТЧ мы оставляем без источника.
После того как необходимы поля были выбраны в нижней ТЧ для каждого поля выставляем флаг в колонке "Получить из входящих данных". Этот флаг говорит о том, что система будет искать это поле во входящих данных. Важно чтобы имя поля совпадало с именем во входящих данных, иначе будет выведено сообщение о том, что поле не найдено.
Текстом описаны не все нюансы процесса.
В настоящее время головной болью у бухгалтеров стал переход с 1С:Предприятие 7.7 на 8.3 (аналогично и 8.2). Желательно как можно быстрее и без ошибок. Если Вы программист по 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 загрузите из текстового файла данные из Вашей основной базы.
При конвертации данных могут быть не проведены некоторые документы. Это не страшно. Фишка в том,что Вы легко это исправите после переноса, так как в стандартной базе Вы работаете с основным стандартным планом счетов. Поэтому какими бы навороченными не были субсчета, в Вашей рабочей базе это легко исправить примерно за 3 часа, заходя в каждый непроведенный документ и меняя в полях счета те счета, которые у Вас есть в Вашей конфигурации.
Естественно, предварительно, перед переносом, Вы приводите план счетов стандартной конфигурации в соответствие с планом счетов Вашей основной рабочей базы. Варианты сугубо индивидуальны в зависимости от специфики работы Вашей организации. Проделав эту работу, Вы получаете стандартную конфигурацию, заполненную данными из Вашей рабочей базы.
Теперь нужно сделать еще один перенос данных. Для этого проделайте установку стандартной нулевой конфигурации еще раз в новый каталог. И уже туда переносите данные из стандартной с Вашими данными конфигурации.В результате у Вас получится идеальная база 7 версии, готовая для переноса в версию 8.2.
Дело в том, что напрямую в восьмую версию переносятся данные исключительно из «нетронутой» стандартной версии 7.7. А у Вас как раз и есть теперь такая конфигурация. Но теперь она не пустая, а именно с Вашими рабочими данными.
Всё! Запускаем 1С:Предприятие 8.2. Выбираем «Перенос данных из версии 7.7.» и наслаждаемся тем, как программа сама переносит данные из вашей обработанной 7.7., перепроводит документы и выдает на экран сравнительную таблицу оборотно-сальдовой ведомости версий 7.7 и 8.3.
Конечно, 100% результат не будет. Но на процентов 70-80 Вы получите соответствие. А дальше Ваша работа будет производиться только в версии 8.3.
Возможные неточности исправляются легко. Это еще часа 3-4. Вы заходите в журнал документов и либо корректируете счета, либо поля (например «Договор» или «Основная касса»). Это зависит от степени отличия Вашей базы 7.7. от стандартной. В результате всех этих действий Ваша рабочая конфигурация версии 8.3 будет способна выдать бухгалтерские данные через оборотно-сальдовую ведомость в идеальном виде.
После перехода Вам будет полезно узнать, как работать в новой программе. Для этого мы подготовили раздел Обучение 1С Бухгалтерия 8.3.
Кстати ! Если Вам необходима доработка программ 1С, Вы можете обратиться к нам!
Перенос базы данных 1C 7.7 в 8.3, как сделать?
Во многих типовых (и некоторых отраслевых) восьмерочных решениях уже есть или встроенные средства переноса из 7.7 или в виде дополнительных файликов в каталоге установки шаблона.
Если переносить самостоятельно, то на диске ИТС (а так же во многих местах интернета — гугл в помощь) есть обработка «Загрузка из табличного документа», которая позволяет загружать в справочники/документы/регистры произвольные табличные данные. При достаточно высоком уровне квалификации можно воспользоваться боевой артиллерией — специальной конфигурацией «Конвертация данных 2» (не путать с 3.).
Не подскажете почему выходит такая ошибка? В документации к 1С все слишком запутанно пишут — зарплату ведь надо получать, поэтому в их рукописях вообще не разобраться, война и мир легче заходит чем их туториалы по эксплуатации их далеко не сложной системы.
Максим Кравченко, ну так ведь все написано русским языком 🙂
По моему опыту самыми распространенными причинами могут быть следующие:
1) Указан неправильный путь в настройках обмена с 7.7 Тут или просто опечатки или указан путь не к тому каталогу. Либо указан локальный путь на вашем компе, а обмен происходит на стороне сервера 1С предприятия и этот сервер по вашему пути естественно ничего не видит (распространенная проблема).
2) На стороне компьютера, который пытается обменяться с 7.7 (локальный или сервер) нет полноценно установленной платформы 7.7. Т.е. отсутствует зарегистрированный COM-объект, а к базе 7.7 традиционно подключались с помощью каталога со взломанной платформой, которой не нужны ни ключ, ни какие-либо данные системы.
3) Отсутствуют права доступа к каталогу с базой 7.7 (особенно актуально при работе на сервере, где рабочий процесс rphost работает под служебным пользователем, а каталог базы 7.7 открыт для конкретных людей).
Максим Кравченко, а почему не через IRC или чаты на народовских «чертовых куличках»? 🙂
Нет, я уже повторно на одни и те же грабли наступать не буду. Уже одному неблагодарному дал свой скайп и тот на шею сел.
Если у вас есть общие вопросы, ответы на которые могут помочь остальным — задавайте. Вместе сделаем доброе дело. Никаких тайных переговоров.
P.S. Что бы у людей не пропадало желание давать ответы на этом ресурсе, было бы неплохо отмечать решения или нажимать кнопку «нравится» на наиболее адекватных ответах, даже если они прямо и не помогли.
Максим Кравченко, FAQ невозможен так как чистая 7.7 не существует в природе. Есть целая палитра типовых/отраслевых решений, есть разные версии одной и той же конкретной конфигурации, но ни одно из этого множества не покрывает «из коробки» потребности компаний и все проданные 7.7 после установки годами допиливались. С учетом того, что массово продавать 7.7 перестали еще более десяти лет назад, в конкретно вашей базе от типового функционала могло ничего не остаться.
Одно дело, если вы берете стандартные механизмы переноса, про которые я написал в своем ответе, и переносите понимая, что ответственность за косяки на вас и все нестыковки вы посадите исправлять «девочек». А совсем другое привлекать за деньги специалиста на работу. Вам нужно описать все справочники для переноса, объем информации для переноса (артикулы, штрихкоды, ИНН и пр.), от куда брать недостающую информацию и так далее. Я сейчас не готов браться за ваш проект. Предлагаю зарегистрировать эту задачу на сайтах фрилансеров и провести между ними тендер.
Правила переноса 1с 8
Перенос данных из программ «1С:Бухгалтерия 8 ред.2.0» в «1С:Бухгалтерия 8 ред.3.0»
Предназначен в первую очередь для доработанных конфигураций 1С:Бухгалтерия 8 ред.2.0 (возможные названия в интернете БП 2.0 или БП 8.2) как основа для разработки оригинальных правил переноса в конфигурацию 1С:Бухгалтерия 8 ред.3.0 (возможные названия в интернете БП 3.0 или БП 8.3), пригоден разумеется и для переноса данных между типовыми конфигурациями.
С возможными стратегиями перехода с редакции 2.0 на 3.0 можно ознакомиться здесь.
Переход с 1С:Бухгалтерия 8 ред.2.0 на 1С:Бухгалтерия 8 ред.3.0 рекомендуется выполнять в начале нового периода (года, квартала, месяца) после завершения регламентных операций прошлого периода.
Перенос данных производится при помощи универсальной обработки, выгружающей данные из информационной базы 1С:Бухгалтерия 8 ред.2.0 в файл в формате XML. Полученный файл загружается в информационную базу 1С:Бухгалтерия 8 ред.3.0 при помощи универсальной обработки загрузки данных.
Для переноса данных необходимы следующие файлы:
ACC20_30.xml — правила конвертации данных.
Из информационной базы БП 2.0 в БП 3.0 переносятся:
информация о текущих остатках на счетах бухгалтерского учета информационной базы «1С:Бухгалтерия 8 ред.2.0» на дату конвертации информационной базы
документы информационной базы БП 2.0 за выбранный период
необходимая справочная информация из информационной базы «1С:Бухгалтерия 8 ред.2.0»
— данные из информационной базы 1С БП 8.2 выгружаются в отдельный файл (файл данных);
— полученный файл загружается в информационную базу 1С БП 8.3 .
Установки не требуется, так как используются обработки, встроенные в типовые конфигурации, в 1С:Бухгалтерия 8 ред.2.0 и 1С:Бухгалтерия 8 ред.3.0 .
(О возможности использования специализированной обработки читайте ниже)
В программе 1С:Бухгалтерия 8 ред.2.0 нужно открыть обработку (меню: Сервис — Прочие обмены данными ), выбрать папку, в которой находятся правила переноса (см. рис. 1) и загрузить правила обмена. Рекомендую каждый раз загружать правила обмена принудительно, даже если они автоматически загружаются при старте обработки. Для этого нужно либо перевыбрать файл правил, либо нажать кнопку Перечитать правила обмена . Не нужно включать все правила переноса. Следует использовать только те, которые необходимы для переноса остатков и (или) документов. Все справочники переносятся по ссылкам, по мере необходимости, т.е. только те, которые задействованы в остатках и документах. Это обеспечивает отсутствие «мусора» в новой информационной базе.
Если нужно выгрузить остатки на конец года, например на конец дня 31.12.2014, т.е. правильнее говорить на начало 2015 года, то период выгрузки должен быть 01.01.2015 — ХХ.ХХ.ХХХХ. Документы ввода остатков в БП 3.0 будут датированы 31.12.2014. С 01.01.2015 в БП 3.0 нужно создавать документы, отражающие текущие операции. Если нужны только остатки, то включать надо правила выгрузки данных из раздела Входящие остатки (см. рис.1). Правила выгрузки данных из раздела Документы в этом случае следует отключить (см. рис.3). Период выгрузки например 01.01.2015 — 31.01.2015 означает, что переносится будут документы января 2015 года. Правила выгрузки данных из раздела Документы в этом случае должны быть включены.
Рис. 1 . Обработка для выгрузки данных
В первую очередь рекомендуем перенести учетную политику организации (справочник Организации переносится по ссылкам). При переносе данных можно дополнительно установить параметры (см. рис.2). Для возврата к значениям по умолчанию следует перезагрузить правила обмена.
Рис.2 Установка параметров
Параметр Не учитывать регистр партий НДС определяет прежде всего будет ли заполнятся в БП 3.0 при вводе остатков ТМЦ таблица Данные по счетам-фактурам полученным . Также он влияет на то, как будет заполняться субконто Партии : по данным БУ или по остаткам регистра НДСПоПриобретеннымЦенностям .
Установка параметра позволяет управлять выгрузкой остатков для организаций, использующих УСН . При запущенном учете, при не соответствии данных регистра Расходы при УСН регистру бухгалтерии возможно полезнее будет выгрузить остатки по данным только бухгалтерского учета, без учета регистра УСН , который может добавить массу ошибок. В этом случае в документах ввода начальных остатков в БП 3.0 реквизиты Отражение в УСН и Состояние расхода заполняются значениями по умолчанию.
При установке параметра в значение Да одновременно с документами будут перенесены наборы регистров, связанные с данными документами. В противном случае переносится содержимое документов, а для получения движений документы следует провести в базе БП 3.0 после переноса. Надо понимать, что не для всех движений документов, существующих в БП 8.3 , есть соответствия в БП 8.2 . Поэтому, даже если выбрать вариант переноса документов с движениями, для некоторых видов документов может потребоваться проведение с целью создания всех необходимых наборов регистров.
Рис.3 Перечень документов, которые переносятся в БП 3.0
Перечень справочников и регистров сведений к переносу представлен на рис.4. Если кого-то интересует расширение это перечня, обращайтесь к автору. Правила переноса объектов есть для многих справочников. Оно и понятно, ведь самые разные справочники присутствуют во многих документах и соответственно выгружаются по ссылкам. Сделать из них правила выгрузки не составляет особого труда, можете это делать и самостоятельно. Правило выгрузки справочника нужно в том случае, если есть желание переносить справочник целиком, а не только по ссылкам.
Рис. 4 Перечень справочников и регистров сведений к переносу
Особенности переноса остатков по счетам 76.АВ и 76.ВА
При установке в значение Да параметра Исправлять пересортицу по расчетам с контрагентами можно исправить допущенные в учете ошибки. Что такое пересортица ясно из Рис.5.1: по контрагенту сальдо равно нулю, но по второму субконто суммы не нулевые. Такие остатки переноситься не будут.
Рис.5.1 Пересортица в остатках
Если установить в значение Да параметр Сообщения подробно , то при выгрузке будут выводится поясняющие сообщения (см. рис.5.2).
Рис.5.2 Сообщения при пересортице в остатках
Особенности переноса остатков по счетам учета ТМЦ
Аналогично работает алгоритм исправления ошибок типа пересортица в остатках по ТМЦ . Работает этот алгоритм при установке параметра Исправлять пересортицу по остаткам ТМЦ в значение Да . Пример показан на рис.5.3. Учет по счету 10.03 ведется в разрезе номенклатуры, складов и партий. Остаток по номенклатуре Бензин АИ-92 на складе №4 равен нулю, но если развернуть остатки по партиям, их будет много. Алгебраическая сумма остатков по партиям равна нулю, это и есть пересортица. Такие остатки не стоит переносить, потому что это явная ошибка. Они и не будут переноситься при установленном параметре.
Рис.5.3 Пересортица в остатках ТМЦ в базе источнике БП 2.0
Хуже дела обстоят с остатками по складу №6 . Остаток ненулевой, поэтому алгоритм исправления пересортицы не сработает, остатки переноситься будут. А как будут переноситься, давайте рассмотрим. Сумма -155,29 в перенос не попадет, потому что такой остаток в БП 3.0 ввести невозможно, нельзя ввести нулевое количество и ненулевую сумму, документ ввода остатков не будет проводиться, поэтому не выгружаем. В результате в БП 3.0 попадут оставшиеся две суммы (см. рис.5.4). Остаток перенесся как бы с ошибкой. На самом деле никакой ошибки переноса здесь конечно нет, а есть ошибки учета.
Рис.5.4 Результат переноса в БП 3.0
Использовать или нет описанный алгоритм исправления пересортицы, решать пользователю. Нужно только помнить, что остатки с нулевым количеством не переносятся никогда. По мнению автора это наиболее правильное поведение, по крайней мере это позволяет провести документ ввода остатков и начать сверку. Для более быстрого поиска позиций расхождения остатков между БП 2.0 и БП 3.0 по результатам переноса, можно рекомендовать в источнике отобрать такие проблемные позиции, настроив соответствующим образом оборотно-сальдовую ведомость. Как это сделать см. рис.5.5.
Рис.5.5 Отбор позиций с нулевым количеством
После окончания выгрузки необходимо запустить программу 1С:Бухгалтерия 8 ред.3.0 . Загрузку как первоначально так и при повторных переносах данных или дополнительных переносах следует выполнять с помощью типовой обработки Универсальный обмен данными в формате XML (см. рис.8.1). Открыть ее можно через меню: Все функции — Обработки — Универсальный обмен данными в формате XML . Если в меню нет позиции Все функции , то нужно зайти в Сервис -Параметры и установить флажок Отображать команду Все функции .
После загрузки данных в базу 1С:Бухгалтерия 8 ред.3.0 необходимо провести документы ввода начальных остатков для получения всех необходимых движений. Можно воспользоваться обработкой Групповое перепроведение документов (см. рис.8.2) или провести документы в журнале (меню: Все функции — Документы — Ввод остатков ). Если документы переносились без движений (параметр Выгружать движения документов установлен в значение Нет ), то для получения проводок и записей в регистрах необходимо провести и документы.
Методика конвертации данных .
Конвертация при необходимости может выполняться в несколько этапов, например, сначала справочники, затем документы ввода остатков, потом прочие документы. Возможен повторный перенос информации. Между переносами не следует вносить исправлений в перенесенные данные в 1С:Бухгалтерия 8 ред.3.0 , иначе эти исправления могут пропасть при повторных переносах.
Остатки переносятся посредством документов Ввод начальных остатков .
Подробнее с методикой ввода остатков можно ознакомиться в статье на сайте ИТС фирмы 1С.
Важно ! Перед вводом начальных остатков должны быть заданы параметры учетной политики. Параметры учетной политики организации считываются на дату, следующую за датой ввода остатков. Например если дата ввода остатков 31.12.2013 г., то учитываются параметры учетной политики, установленные на дату 01.01.2014 г. Это позволяет учитывать параметры текущей учетной политики (например: если в 2013 г. организация применяла упрощенную систему налогообложения, а с 2014 г. перешла на общую систему — то при вводе остатков на дату 31.12.2013 г. будут учитываться параметры учетной политики 2014 г). Именно поэтому, как указано выше, в первую очередь рекомендуем перенести учетную политику организации.
Важно ! Если Вы решили начать работать в 1С:Бухгалтерия 8 ред.3.0 раньше, чем перенесли туда остатки, то необходимо предварительно до начала работы в 1С:Бухгалтерия 8 ред.3.0 перенести справочники. Иначе при переносе остатков в непустую базу возможны ошибки.
Важно: есть возможность решения проблемы синхронизации при загрузке в непустую базу — сопоставление объектов.
Порядок работы со специализированной обработкой переноса данных .
Обработка используется только в режиме Файловый . Обработку ПереносДанных_из_БП20_в_БП30.epf следует запустить в информационной базе, куда переносятся данные, т.е. в 1С Бухгалтерия предприятия ред.3.0. В первом окне (см. рис.9) следует указать вариант загрузки данных из информационной базы на платформе 1С:Предприятие:
Загрузить данные непосредственно из информационной базы
Рис.9 Стартовое окно обработки переноса данных
В следующем окне (см. рис.10) необходимо выполнить настройку переноса:
- Когда прерывается трудовой стаж после увольнения С 01 января 2007 года действует несколько другой порядок определения непрерывности трудового стажа гражданина. До этого, если при переходе с одного места работы на другое не проходило 3-х недель, то стаж не прерывался. С 2007 […]
- АНКО Тамбовский Центр Судебных Экспертиз и Исследований, АНО АНКО Тамбовский Центр Судебных Экспертиз и Исследований, АНО зарегистрирована по адресу г.Тамбов, ул.Рабочая, д.37, оф.40, 392008. ДИРЕКТОР организации АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОРГАНИЗАЦИЯ ТАМБОВСКИЙ ЦЕНТР СУДЕБНЫХ […]
- Приказ о графике рабочего времени Образец приказа о графике рабочего времени О графике рабочего времени В соответствии со статьями 100, 103, 104, 73 ТК РФ и Правилами внутреннего трудового распорядка ПАО «Организация», в целях оптимального режима работы предприятия и повышения […]
- В ЦГБ №20 Екатеринбурга, откуда уволили главного врача, назначен исполняющий обязанности общество | Свердловская область | Уральский ФО Исполняющим обязанности главного врача центральной городской больницы №20 Екатеринбурга назначена Алена Тунис. Как передает корреспондент […]
- Закон ома для параллельного Главная Вспомни физику: 7 класс 8 класс 9 класс 10-11 класс видеоролики по физике мультимедиа 7 кл. мультимедиа 8 кл. мультимедиа 9 кл. мультимедиа 10-11 кл. астрономия тесты 7 кл. тесты 8 кл. тесты 9 кл. демонстрац.таблицы ЕГЭ […]
- Закон РСФСР «О конкуренции и ограничении монополистической деятельности на товарных рынках» 22 марта 1991 года N 948-1 (в ред. Законов РФ от 24.06.1992 N 3119-1, от 15.07.1992 N 3310-1; Федеральных законов от 25.05.1995 N 83-ФЗ, от 06.05.1998 N 70-ФЗ, от 02.01.2000 N 3-ФЗ, от […]
Выбрать информационную базу из списка (список такой же как при запуске приложения 1С Предприятие ).
Указать имя и пароль пользователя
Указать какую информацию следует перенести
Дополнительно можно выполнить проверку данных в источнике на предмет корректности переноса
При переносе справочников будут перенесены данные из справочников выбранной информационной базы, для которых есть правила выгрузки. Справочники в этом случае переносятся целиком. Если флажок не установлен, но выбран любой другой вариант переноса, то справочники также будут перенесены, но только в том объеме, который необходим для заполнения данных в перенесенных проводках и документах. При переносе данных можно перенести справочники, документы и остатки на начало года. Варианты переноса можно выбирать в любой комбинации. При переносе остатков будут перенесены данные об остатках по счетах учета по состоянию на 1 января выбранного года по правилам, указанным на рис.1. В 1С:Бухгалтерии 8 будут созданы документы «Ввод начальных остатков» на 31 декабря года, предшествующего выбранному.
Рис.10 Окно параметров переноса
Если выбрана опция проверки данных, то перед загрузкой такая проверка будет произведена и результат проверки будет выведен на экран (см. рис. 11). Если в процессе проверки будут обнаружены ошибки, то процесс переноса будет приостановлен, для того, чтобы дать возможность исправить ошибки. Если нужно выполнить выгрузку и загрузку данных несмотря на ошибки, снимите галочку Проверить данные перед загрузкой или нажмите Продолжить . Список правил проверок постоянно пополняется.
Рис.11 Результат проверки данных перед загрузкой
В процессе выполнения передачи данных из источника в приемник на экране будет обновляться картинка, которая индицирует текущий этап: подключение к информационной базе, выгрузка данных, загрузка данных и т.д. Кроме того, более детальная информация отображается ниже в виде строки, например, «Выгрузка данных: Документы(3 /3)». По окончании загрузки данных запускается процесс проведения загруженных документов и затем проверка загруженных данных. Если в ходе проведения документов или проверки данных возникли ошибки, то по окончании в окне сообщений появятся сообщения об этом. Сообщения об ошибках можно также просмотреть в отдельном окне, нажав на гиперссылку Информация об ошибках (см.Рис.12).
Рис.12 Индикация процесса передачи данных
Фрагмент таблицы, содержащей записи об ошибках, показан на рис.13. Сначала в таблице отображаются сообщения об ошибках, возникших при проведении документов, затем ошибки при проверке. Проверка загруженных данных заключается в сопоставлении оборотно-сальдовых ведомостей, сформированных на дату ввода остатков, в источнике и приемнике. В случае несовпадения сальдо по какому-то счету создается запись об этом. По двойному щелчку на записи в таблице ошибок можно открыть проблемный документ для исправления и проведения вручную. То же самое можно сделать в окне сообщений.
Рис.13 Фрагмент таблицы, содержащей записи об ошибках
После внесения исправлений в базе-приемнике не имеет смысла выполнять перенос той же самой информации из базы-источника повторно, потому что при повторном переносе эти данные вновь запишутся с ошибками. Поэтому старайтесь вносить исправления в источнике, а не в приемнике, или не повторять передачу той же информации. Например, после переноса начальных остатков и исправления всех документов ввода начальных остатков в приемнике при дальнейших переносах не устанавливайте флаг Остатки на начало года .
Обновления бесплатны в течение 6 месяцев после покупки. По окончании периода бесплатных обновлений, Вы можете получать обновления на платной основе (стоимость см. ниже). При этом, если Вы приобрели несколько программных продуктов, в составе комплектов или по отдельности, то Вы вправе рассчитывать на скидку. Вы можете подробнее ознакомиться с системой скидок.
Правила созданы по технологии Конвертации данных
: легко редактируются.
Полностью открыты, нет лицензионных ограничений кроме запрета на тиражирование.
Файл ПереносДемо20_30 .xml представляет собой выгрузку из базы, полученной переносом демонстрационной базы БП 2.0, распространяемой фирмой 1С, в базу БП 3.0. Создайте пустую базу БП 3.0.44.94, можно из шаблона 1С или с помощью файла конфигурации 1Cv8.cf. Установите в параметрах учета в Настройка плана счетов учет запасов по складам и партиям. Загрузите файл демо-базы ПереносДемо20_30 .xml с помощью обработки Универсальный обмен данными в формате XML . В демо-базе показан перенос остатков на 01.01.2009 и документов за период с 01.01.2009 по 31.12.2009.
Правила регулярно обновляются под новые релизы, пригодны для релизов БП 2.0.64.23 и более поздних. Не нужно искать и выбирать нужный вариант правил переноса, они пригодны для любого релиза ИСТОЧНИКА в указанном диапазоне. Если нужны правила для более ранних релизов обращайтесь к автору. Релиз ПРИЕМНИКА должен быть точно таким как в правилах.
29.08.2018 Выделена в отдельное правило выгрузка остатков по разделу Кредиты и займы (счета 66, 67), ранее это было в составе Прочие счета бухгалтерского учета
20.08.2018 Обновление до 2.0.66.59 и 3.0.64.48
03.06.2018 Добавлен перенос документов Отражение зарплаты в регламентированном учете
18.05.2018 Обновление до 2.0.66.54 и 3.0.61.37
23.02.2018 Обновление до 2.0.66.48 и 3.0.58.41
18.01.2018 Обновление до 2.0.66.46 и 3.0.57.17
22.12.2017 Обновление до 2.0.66.42 и 3.0.56.22
03.11.2017 Обновление до 2.0.66.37 и 3.0.53.38
26.09.2017 Обновление до 2.0.66.37 и 3.0.52.35
14.06.2017 Обновление до 2.0.66.29 и 3.0.50.18
05.05.2017 Обновление до 2.0.66.25 и 3.0.49.27
04.04.2017 — добавлено создание счетов-фактур полученных, когда в БП 2.0 есть только номер и дата. Нужно установить параметр Выполнить конвертацию счетов-фактур (создавать новые, если в источнике только номер и дата)
06.02.2017 Обновление до БП 3.0.47.23
26.01.2017 Добавлен перенос документов Отражение начисления НДС и Отражение НДС к вычету
11.01.2017 Обновление до БП 2.0.66.8 и БП 3.0.46.16. Исключен перенос регистра НДСпоОСиНМА. В более ранних версиях, там где он есть в составе конфигурации, он переноситься не будет.
14.12.2016 Обновление до БП 3.0.44.203
07.12.2016 Добавлен перенос документов Корректировка долга
01.12.2016 Добавлен параметр Не учитывать регистр Расходы при УСН , который позволяет управлять выгрузкой остатков для организаций, использующих УСН
21.11.2016 Добавлена выгрузка справочника Пользователи отдельным правилом с созданием в приемнике пользователей ИБ (подробности здесь). Добавлен перенос остатков по РС Работники организаций (кадровых данных). При переносе остатков по счетам 76.АВ и 76.ВА возможна проверка и исправление пересортицы по второму субконто.
08.11.2016 Расширен перечень документов.
28.10.2016 Добавлен перенос документов. Добавлена демонстрация переноса, это результат переноса демо-базы БП 2.0.
26.10.2016 Исправлено создание пустых документов ввода остатков при наличии остатков по счету 10.07
09.09.2016 Обновление до БП 3.0.44.102
23.03.2016 Доработан перенос данных по счетам-фактурам полученным (при переносе остатков ТМЦ)
11.01.2016 Добавлен перенос контактной информации физ.лиц, гражданство, пасп.данные, сведения об инвалидности, статусы физ.лиц. Добавлены правила переноса банк.счетов и счетов учета номенклатуры.
23.12.2015 Обновление до БП 3.0.43.29. Добавлен перенос контактной информации контрагентов и их контактных лиц.
14.12.2015 Созданы правила для БП 3.0.42
В комплект поставки входят: правила переноса «ACC20_30» и обработка ПереносДанных_из_БП20_в_БП30 . В случае если Ваша организация не располагает штатным программистом для проведения работ, мы готовы предложить услуги своего специалиста (программист подключится к Вашему компьютеру через интернет, посредством специальной программы для удаленной работы и произведет нужные работы). Если есть возможность предоставить рабочую базу «1С:Бухгалтерия 8 ред.2.0» , можем перенести данные сами и передать файл «1С:Бухгалтерия 8 ред.3.0 » с перенесенными остатками. Стоимость данной услуги не входит в общую стоимость пакета.
Важно . Переносятся не все документы (для совместимости со старыми релизами БП 2.0). Перед покупкой внимательно ознакомьтесь с перечнем на рис.3.
Перенос данных из программ «1С:Бухгалтерия 7.7» и «1С:УСН 7.7» в «1С:Бухгалтерия 8»
Несколько слов о том как производится перенос данных из типовой конфигурации «Бухгалтерский учет », редакции 4.5 для 1С:Предприятия 7.7 или конфигурации «» (далее по тексту Конфигурации-источник) в типовую конфигурацию «Бухгалтерия предприятия », редакция 3.0 для 1С:Предприятия 8 (версия 3.0.52), далее по тексту именуемую «Конфигурация-получатель».
ВАЖНО! Перенос данных возможен из конфигурации Бухгалтерский учет редакции 4.5 для 1С:Предприятия 7.7 версий 7.70.569 и более поздних или из конфигурации «Упрощенная система налогообложения, ред. 1.3 » версий 7.70.219 и выше.
Переход с Конфигурации-источник на Конфигурацию-получатель рекомендуется выполнять в начале нового периода (года, квартала, месяца) после завершения регламентных операций прошлого периода.
Перенос данных производится при помощи специализированной обработки, выгружающей данные из информационной базы Конфигурации-источника в файл в формате XML. Полученный файл загружается в информационную базу Конфигурации-получателя при помощи универсальной обработки загрузки данных.
ACC_ACC8 .ert — внешняя обработка выгрузки данных во внешний файл из конфигурации «Бухгалтерский учет, ред.4.5 »;
USN_ACC8 .ert — внешняя обработка выгрузки данных во внешний файл из конфигурации «Упрощенная система налогообложения, ред. 1.3 »;
ACC_ACC8 .xml — правила конвертации данных.
USN_ACC8 .xml — правила конвертации данных.
Из информационной базы Конфигурации-источник в Конфигурацию-получатель переносятся:
— информация о текущих остатках на счетах бухгалтерского учета информационной базы Конфигурации-источник на дату конвертации информационной базы;
— текущие документы с датой большей чем дата конвертации информационной базы.
Конвертация выполняется в два этапа:
— данные из информационной базы Конфигурации-источник выгружаются в отдельный файл (файл данных);
— полученный файл загружается в информационную базу Конфигурации- получателя.
Для установки обработки переноса данных следует воспользоваться программой установки setup.exe . После запуска программы (если количество информационных баз 1С:Предприятие велико, то спустя некоторое время) появится диалоговое окно, в котором нужно отметить те информационные базы, куда будет установлена обработка переноса данных. Окно имеет вид, как на рис.1. Если количество информационных баз больше семи, то для навигации используйте кнопки «вверх» и «вниз». Если выбрано несколько информационных баз, то в строке «путь» отражается местонахождение только последней выбранной базы. Эта информация носит вспомогательный характер и используется по желанию для дополнительного контроля со стороны пользователя за результатом работы программы установки, не обращайте на нее особого внимания, программа сама определит, где установлены выбранные Вами информационные базы.
Рис.1 Окно выбора информационных баз при установке
Дополнительно можно указать папку, в которую также будет установлена обработка переноса данных, для этого следует воспользоваться окном выбора папки (нажав кнопку с тремя точками). Полный путь для выбранной папки будет отражен в строке выбора. После нажатия на кнопку «установить» будет произведена установка необходимых файлов в выбранные информационные базы и (или) в выбранную папку. После завершения можно нажать кнопку «детали» и увидеть подробный протокол установки, какие файлы и в какие папки были записаны. В результате в выбранной папке должна получиться примерно следующая картина, см. рис.2.
Рис.2 Файлы, установленные в выбранную папку
В подкаталог ExtForms устанавливается обработка и правила переноса. Необходимо иметь ввиду, что обработка выгрузки ACC_ACC8 .ert и правила выгрузки данных заменяют собой типовую обработку и правила. Если Вы хотите сохранить типовой механизм перехода, устанавливайте новую обработку в отдельный каталог, а не в информационную базу.
Подробнее процесс установки описан на примере установки отчета «Экспресс-проверка ведения учета для конфигурации «1С: Бухгалтерский учет 7.7 «.
В программе «1С:Бухгалтерский учет 7.7 » нужно открыть из дополнительных возможностей обработку «Переход на 1С:Бухгалтерию 8, ред. 3.0 «, выбрать папку, в которой находятся правила переноса (см. рис. 3) и загрузить правила обмена. Не нужно включать все правила переноса. Следует использовать только те, которые необходимы например для переноса остатков, или остатков и документов. Например в группе справочники ни одного правила можно не включать, потому что все справочники переносятся по ссылкам, по мере необходимости, т.е. только те, которые задействованы либо в остатках, либо в документах. Это обеспечивает отсутствие «мусора» в новой информационной базе. Документы тоже не надо включать все. Например, если каких-то документов в Вашей базе нет, или Вы не хотите их переносить, включать это правило не надо.
Рис.3. Обработка для выгрузки данных
Рекомендую имя файла данных устанавливать «C:\v77_v8\Exp77_80.xml», именно эта папка часто используется по умолчанию в программе «1С:Бухгалтерия 8 » при загрузке данных из программ на платформе «1С:Предприятие 7.7 «. При необходимости установите параметры на странице «Параметры «.
В процессе выгрузки данных из конфигурации «Бухгалтерский учет 7.7 » могут встретиться различные ошибки. Правила переноса, представленные здесь, отличаются от типовых тем, что на этапе выгрузки данных выполняют поиск типичных ошибок. Рассмотрим те из них, о которых выводятся сообщения.
Нулевое количество и ненулевая сумма ТМЦ . Ввести в Конфигурации-получателе остаток таким образом, чтобы количество материала было равно нулю, а стоимостная оценка материала не равнялась нулю, невозможно, да и бессмысленно, потому что это ошибка. Поэтому при переносе остатков такие позиции (с нулевым количеством) будут отсутствовать в документах ввода остатков. Следовательно, если ошибки не исправить до переноса данных, то суммы в источнике и приемнике данных при переносе остатков не будут совпадать, что вызовет дополнительные трудности сверки. Поэтому в процессе выгрузки данных из конфигурации «Бухгалтерский учет 7.7 » выводятся сообщения о встретившихся ошибках (см. рис.4). Дополнительно для поиска ошибок можно рекомендовать воспользоваться обработкой «Экспресс-проверка ведения учета», а именно правилом «Отсутствие ненулевой суммы при нулевом количестве по материалам».
Рис.4.1 Сообщения о встретившихся ошибках
Ненулевое сальдо по субконто второго (третьего) уровня , в то время как сальдо на первом (втором) уровне равно нулю. Это довольно часто встречающаяся ситуация ошибочного ведения учета. Типичный пример показан на рис.4.2. Возникает такое состояние как результат «пересортицы» в аналитическом учете. Например, в документах движения денежных средств договор указан, а в документах оприходования ТМЦ договора нет, или наоборот, или договоры есть но разные. Во всех этих случаях существует ненулевое сальдо по договорам, при том, что сальдо по контрагенту равно нулю. Аналогичная картина может сложиться в учете материалов, номенклатуры (когда включен суммовой учет по местам хранения): пересортица между складами, особенно если склады — это материально-ответственные лица.
Рис.4.2 Пример ошибок в учете
Ясно, что это ошибка, и ясно, что не имеет смысла переносить такие остатки. Для того, чтобы исключить перенос такого рода остатков, существует параметр «Не выгружать остатки, если нулевое сальдо на верхнем уровне». Если этот параметр установлен в единицу, то при выгрузке будут выводиться сообщения, показанные на рис. 4.3 (сравните с рис.4.2), а остатки по таким позициям выгружаться не будут. Можно использовать различные комбинации этого параметра с правилами переноса различных остатков. Если переносить не все остатки сразу, а по разделам учета, то можно остатки по различным разделам учета переносить с различным значением параметра.
Рис.4.3. Сообщения об ошибках
Пустые значения договоров или чужие договоры. Проблема похожа на описанную выше, причина та же — пересортица в аналитическом учете по договорам (см. рис.4.4). Но сальдо по контрагенту не равно нулю, поэтому описанное выше правило проверки не сработает. При переносе данных возникнет ошибка при проведении документа ввода остатков, т.к. пустое значение договора не допустимо.
Рис.4.4 Отчет, показывающий ошибку
Для исключения таких ошибок до переноса, на этапе выгрузки данных выдаются сообщения об ошибках (см. рис.4.5). На этом же рисунке видно, что встретилась и другая ошибка: договор не соответствует контрагенту, т.е. владелец договора — другой контрагент. Такие ошибки часто встречаются в доработанных, т.е. нетиповых конфигурациях или в давно созданных базах, когда еще в типовых конфигурациях не было достаточно строгой проверки на соответствие договоров при заполнении документов.
Рис.4.5 Сообщения об ошибках учета
Проверка на пустые значения договоров и чужие договоры производится в том случае, если установлен в единицу параметр «Проверять договоры на пустое значение и соответствие контрагенту «. Дополнительно для поиска ошибок можно рекомендовать воспользоваться обработкой «Экспресс-проверка ведения учета», а именно правилами «Отсутствие незаполненной аналитики по договорам» и «Соответствие контрагентов и договоров «.
Есть и другие проверки на ошибки, для уточнения свяжитесь с нами (контакты внизу страницы).
Покажем как можно переносить данные частями, а не целиком, на примере выгрузки документов отдельного вида или даже отдельных экземпляров документов выбранного вида. Пометим только одно правило выгрузки данных «Платежное поручение » (см. рис.5). Это позволит выгрузить документы только вида «Платежное поручение «. Если при таких параметрах нажать на кнопку «Выгрузить «, то выгружены будут все документы вида «Платежное поручение «, находящиеся во временном интервале с «Дата начала » по «Дата окончания «. Нажмем кнопку «Установить ПВД «, после этого появится надпись «Отбор данных для Платежное поручение «.
Рис.5 Как установить правило выгрузки данных определенного вида
Далее нажмем кнопку «Добавить условие», появится возможность выбрать реквизит отбора (см. рис.6.1), чаще всего это — «ТекущийДокумент «, что позволяет выбрать отдельный документ из списка документов данного вида. Можно, используя другие реквизиты отбора, получить выборку по группе документов, например отобрать документы по дате. Во всех случаях, отбор документов производится внутри временного интервала, заданного параметрами «Дата начала » и «Дата окончания «.
Рис.6.1 Как выбрать отдельный документ
Важно! «1С» ), которая в некоторых конфигурациях не позволяет производить отбор документов при выгрузке по реквизитам отбора. Это связано с тем, что в типовых правилах отбор документов производится запросом без указания периода. Такие запросы работают не всегда.
Похожим образом можно выгружать справочники, не целиком весь справочник, а выполнив отбор по какому-либо реквизиту. Сначала выбираем нужное правило выгрузки данных, затем последовательно нажимаем кнопки «Установить ПВД » и «Добавить условие «. Для примера на рис.6.2 показано, как можно выгрузить только тех сотрудников, с которыми на момент перехода с программы «1С:Упрощенная система налогообложения, ред. 1.3 » на «1С:Бухгалтерия предприятия, редакция 3.0 » (или, как часто говорят пользователи, переход с бухгалтерии 7.7 на 3.0) установлены трудовые отношения.
Рис.6.2 Как выбрать группу элементов справочника
Важно! В предлагаемых правилах переноса данных исправлена ошибка типовых правил (от фирмы «1С» ), которая приводит к неправильному отбору элементов справочника при выгрузке по периодическим реквизитам справочника, т.е. таким у которых на различные даты устанавливаются различные значения. Это связано с тем, что в типовых правилах отбор элементов справочника производится запросом без указания периода.
Отбор по периодическим реквизитам справочника производится на дату параметра «Дата окончания «.
Можно использовать комбинацию правил выгрузки данных и отборов. Правила, для которых установлены отборы, будут помечены как » [ ОТБОР ] «. Для того, чтобы увидеть или отредактировать отбор конкретного правила выгрузки данных, нужно дважды щелкнуть мышью по этому правилу в списке правил или, выбрав его, нажать кнопку «Установить ПВД «.
Важно! Если выгрузка объектов получается пустой или неполной, нужно проверить не установлен ли режим синхронизации с 1С:Бухгалтерией 8. Если это так, то выгружаться будут только объекты, измененные после выполненного переноса (Справочник.ПараметрыСинхронногоУчета хранит параметр ПозицияПоследнегоВыгруженногоДокумента, который проверяется при выгрузке функцией ПроверитьНаВозможностьВыгрузки). Полноценная работа в режиме синхронизации становится невозможной. Проверка режима синхронизации производится после загрузки правил обмена. Если режим установлен будет сформировано окно предупреждения (см. рис.6.5) и будет предложено отключить режим синхронизации.
Рис. 6.5 Окно предупреждения о режиме синхронизации
Дополнительные отличия от типовых правил
Исправлена ошибка переноса ПТиУ со старыми видами поступления: если в документах ПоступлениеТоваровИУслуг вид поступления равен 2 (устаревшее значение) и нет счета-фактуры поставщика, возникает ошибочная конвертация этого документа в БП 3.0 в документ возврата от покупателя.
Исправлена ошибка при переносе ручных операций, имеющих субконто Подразделение, в версию БП ПРОФ. Такая операция не записывается в БП, возникает ошибка: «Поле Подразделение должно быть пустым». Это связано с тем, что правила рассчитаны на работу с версиями КОРП, однако в ПРОФ измерения ПодразделениеДт и ПодразделениеКт регистра бухгалтерии должны быть пустыми.
Исправлена ошибка, приводящая к дублированию групп справочника Договоры и, как следствие, к дублированию элементов этого справочника (т.к. поиск при загрузке производится с учетом родителя) . Проиллюстрировано это рисунком 6.6.
Рис.6.6 Результат переноса справочника Договоры типовыми правилами
Здесь в колонке Родитель (группа справочника) с наименованием 2015 присутствуют две разных группы справочника с одинаковым наименованием (в источнике группа одна), поэтому и договоры дублируются.
Исправлена ошибка переноса банковских документов при переводе денег с одного расчетного счета на другой. В БП 3.0 в этом случае создается документ Списание с расчетного счета с видом операции Перевод на другой счет организации, который не проводится из-за того, что не заполнен реквизит Счет получателя . Кроме того неверно заполняются реквизиты Счет учета и Счет дебета . Это проявится, если они разные, например 55 и 51, тогда их нужно поменять местами. Исправлена ошибка не заполнения реквизита Вид обязательства в документах по перечислению налогов. Все перечисленное выше относится к релизу 3.0.43.215.
Переносится реквизит Основной договор справочника Контрагенты .
Изменено правило выгрузки справочника Номенклатура , теперь способ отбора данных — стандартная выборка, что позволяет выполнять отборы элементов справочника по реквизитам (в типовых правилах УСН 7.7 — БП 3.0 это невозможно). При переносе справочника Номенклатура , переносятся и Цены номенклатуры по ссылкам, т.е. цены только переносимых элементов номенклатуры. Для включения такой возможности нужно установить в единицу значение параметра Выгружать цены при выгрузке номенклатуры .
Исправлена ошибка в типовых правилах «УСН 7.7 — БП 3.0» при переносе остатков по расчетам с контрагентами: вид договора всегда устанавливался в значение Прочее . Теперь — в зависимости от вида остатка, по разделу учета «РасчетыСПоставщикамиИПодрядчиками » вид договора = «С поставщиком «, по разделу учета «РасчетыСПокупателямиИЗаказчиками » вид договора = «С покупателем «, в остальных случаях вид договора = «Прочее «.
Исправлена ошибка в типовых правилах «УСН 7.7 — БП 3.0» при переносе остатков по расчетам с контрагентами: сумма взаиморасчетов записывалась в два реквизита документа ввода начальных остатков Сумма и СуммаКт . Из-за этого документ ввода начальных остатков не проводился.
Счет СПокупателем » (в типовых правилах «Прочее «). Устанавливается значение реквизита «Статус оплаты «, это важно для правильного выбора счета на оплату покупателю в банковских платежных документах в Конфигурации-получателе.
При переносе документов вида «Платежное поручение » вид договора устанавливается в значение «СПоставщиком » (в типовых правилах «Прочее «).
Исправлена ошибка в типовых правилах «УСН 7.7 — БП 3.0» при переносе мест хранения: не заполняется реквизит «Тип склада «.
Добавлен параметр «Обмен с контролирующими органами включен «: если его значение равно 1, то реквизит ВидОбменаСКонтролирующимиОрганами элемента справочника «Организации » устанавливается в значение «ОбменВУниверсальномФормате «, иначе в «ОбменОтключен » как в типовых правилах. Это важно при повторных (регулярных) переносах, чтобы не портить настройку ЭДО.
Изменено правило поиска загруженных элементов для справочника «Контрагенты «: сначала поиск производится по ИНН и КПП (если эти значения заполнены), затем только по ИНН и наконец по Наименованию . Во всех трех случаях в поиске участвует признак группы (ЭтоГруппа) и сама группа (Родитель). Это важно при повторных (регулярных) переносах, чтобы не создавать дубли для контрагентов с измененными ПОСЛЕ загрузки наименованиями.
При переносе контрагентов заполняется реквизит СтранаРегистрации значением «Россия». Это необходимо для того, чтобы после загрузки справочника контрагентов в программу «1С Бухгалтерия 8» не пришлось вручную заполнять обязательный реквизит СтранаРегистрации . Если он не заполнен, то в форме элемента справочника «Контрагенты » будут доступны реквизиты «Налоговый номер » и «Рег. номер «, а реквизиты «ИНН » и «КПП » будут скрыты.
В правила переноса «УСН 7.7 — БП 3.0» добавлено правило выгрузки данных для переноса справочника «Сотрудники» (в типовых правилах переносится только справочник физических лиц).
В правила переноса «УСН 7.7 — БП 3.0» исправлено правило переноса регистра сведений ТекущаяТарифнаяСтавкаСотрудников.
Особенности переноса платежных поручений на уплату налогов
У платежных поручений с видом операции Перечисление налога должны быть заполнены дополнительные реквизиты: КБК — код бюджетной классификации, статус составителя и т.д. Структуры этих реквизитов в Бух 7.7 (УСН 7.7 ) и в БП 3.0 не совпадают. В частности в БП 3.0 часть этих реквизитов вынесена в отдельный справочник , ссылка на который содержится в платежном поручении. Справочник Виды налогов и платежей в бюджет содержит в себе ряд поставляемых элементов, которые появляются в информационной базе например при редактировании учетной политики. При переносе данных эти элементы также появятся при загрузке учетной политики. При выгрузке-загрузке платежных поручений элемент справочника Виды налогов и платежей в бюджет ищется по КБК для подстановки в реквизит платежного поручения Налог . Поэтому рекомендуется после переноса учетной политики проверить все ли необходимые налоги в справочнике появились, при необходимости дополнить. При сопоставлении (синхронизации) КБК в платежных поручениях в источнике и приемнике не учитываются четыре разряда КБК, разряды 14-17, код подвида дохода: налог, пени, штраф и т.д. В справочнике Виды налогов и платежей в бюджет эти разряды заполнены нулями. При добавлении новых элементов в справочник разряды 14-17 также следует заполнять нулями.
Перенос информационных баз большого размера.
Прежде всего, при переносе информационных баз большого размера может очень много времени занимать процесс выгрузки данных. Такое случается в том случае, если существует большое количество остатков по одному разделу учета, например остатков товаров. Для сокращения времени выгрузки можно применить прием разбиения одного документа «Ввод начальных остатков » на несколько. Если установить значение параметра «Количество строк в документе ввода остатков » отличным от нуля (см. рис.6.3), то выгрузка данных в один документ будет ограничена заданным значением. Это может очень существенно (в несколько раз) снизить время выгрузки.
Рис.6.3 Установка параметров при переносе данных с ограничением размера документа «Ввод начальных остатков »
Примечание: значение параметра ограничивает количество строк таблицы проводок, выгружаемых в один документ «Ввод начальных остатков », а не задает количество строк самого документа. Поэтому количество строк документа будет отличаться от значения параметра, это не ошибка. При разбиении документа «Ввод начальных остатков » на несколько документов, в комментарии каждого документа в конце строки будет добавляться постфикс: «-1», «-2» и т.д.
ВАЖНО! Описанный алгоритм разбиения одного документа «Ввод начальных остатков » на несколько используется только для сокращения времени выгрузки данных, все документы выгружаются в один файл, т.е. перенос данных происходит в один прием, комментарии (постфиксы) формируются автоматически, задается только один параметр. Но этот прием не решает проблему нехватки памяти, о которой пойдет речь ниже.
При переносе информационных баз большого размера может возникнуть проблема нехватки оперативной памяти: при попытке выгрузки программа завершится с соответствующим сообщением об ошибке или без сообщения. Пытаться заменить компьютер на более мощный бесполезно. В этом случае следует выгружать данные частями, разбивая их на порции. Для этого необходимы правила переноса с поддержкой указанного режима. Рассмотрим как следует производить выгрузку. Во-первых, перенос данных следует выполнять, используя только одно правило выгрузки (см. рис.6.4). Если и по одному правилу перенос невозможен, то разбиваем на части, указывая номер порции начальный и конечный. В каждой порции будет информация на заданное количество значений аналитики первого уровня, например остатков по товарам, т.е. заданное количество значений остатков по счету «41». Зная общее количество аналитики по счету несложно подсчитать количество порций. Сколько данных без проблем переносится за один раз (в одну часть информации) нужно определять опытным путем, как правило, при выгрузке остатков счетов проблемы переноса появляются при количестве остатков в несколько тысяч и более. Хотя для экономии времени выгрузки данных можно рекомендовать разбиение на части даже в том случае, если выгрузить за один раз удается все остатки по разделу учета. Время выгрузки зависит от размера порции данных не пропорционально, не линейно. Поэтому разбив например десять тысяч остатков по товарам на десять частей по тысяче, можно сократить время выгрузки в разы. Если переносим первую порцию, номер порции начальной можно не указывать, если последнюю порцию, то можно не указывать номер порции конечной.
ВАЖНО! При переносе данных частями обязательно нужно указывать в параметрах постфикс, который участвует в формировании комментария документа «Ввод начальных остатков ». Изменяя номера диапазона порций нужно не забывать изменять постфикс, иначе при загрузке в Конфигурацию-получатель документы с одинаковыми комментариями (постфиксами) перезапишутся. Имя файла данных при этом не имеет особого значения. Можно применить тактику последовательного переноса: выгрузить — загрузить, выгрузить — загрузить и т.д. Имя файла данных в этом случае можно не изменять. Можно избрать тактику: сначала все выгрузить, потом все загрузить. В последнем случае имя файла данных при каждой выгрузке придется изменять. Еще раз пример. Если количество остатков по разделу учета (например товаров) допустим 10000 разбиваем на части по тысяче, то получится 10 порций. Каждая часть должна иметь уникальный постфикс: «-1», «-2», «-3», «-4». Если выгружаем все остатки товаров, а затем все загружаем, то файлы данных также должны быть уникальны, например: «41_1», «41_2», «41_3», «41_4». Параметры «Номер порции начало» и «Номер порции окончание» должны принимать значения: 0, 1000; 1001, 2000; 2001, 3000; 3001, 4000.