Предыстория: как-то меня попросили осуществить переход с УСН на ОСН, отказаться в силу ряда причин я не мог (хотя и не люблю подобные работы). В наличии была только немного доработанная обработка "TranRef". С помощью этой обработки, кучи обработок, написанных на скорую руку, ручной корректировки результата (благо база была небольшой) и "какой-то матери" работу я выполнил и вздохнул с облегчением. Однако, не надолго: на горизонте забрезжила перспектива аналогичной работы еще по полудюжине баз (результат так называемой оптимизации расходов на налоговые отчисления). Пришлось заняться проблемой серьёзно. От обработки, выполняющей конвертацию "одной кнопкой" сразу отказался, поскольку все конфигурации были серьёзно изменены и не совпадали. Решил сделать отдельные обработки по переносу справочников и документов по идеологии "TranRef. Начал с малого, но увлёкся и, в результате, потратил на них около ста часов, зато перевод на ОСН этих баз не занял много времени и сил.
Предлагаемая методика и инструменты успешно применялись и мной и моими знакомыми (не программистами) и впоследствии.
Недавно я выложил эти обработки на сайте, однако особой популярностью они не пользуются, возможно, потому что по моему недосмотру на сайт попала версия с запароленным кодом (здесь этот казус я исправляю, обработки полностью открыты).
Итак, начнём.
Азбучная истина, но считаю своим долгом упомянуть: оставьте в покое рабочую базу данных и все операции выполняйте в её копии.
- Создайте копию рабочей базы данных (эту копию будем называть исходной базой).
- Выполните свертку исходной базы на дату перехода на ОСН.
- Создайте пустую базу ОСН (будем называть её новой базой).
- Откройте обработку "Перенос справочников" в исходной и новой базах, выберите общий каталог обмена, укажите режим выгрузки периодических реквизитов в обработке исходной базы и дату загрузки периодических реквизитов в обработке новой базы (требуется в случае, если выгрузка периодических реквизитов выполняется одним значением).
Распечатайте список непустых справочников в исходной и всех справочников в новой базе.
Примечание: если история периодических реквизитов не переносится, то я рекомендую выгрузку выполнять на текущую
(или более позднюю) дату, а загрузку - на дату свёртки (или более раннюю). - Проанализируйте распечатанные списки и определите, какие справочники надо переносить, а какие не стоит (например, "Налоги и отчисления", "ставки налогов" принципиально различаются и лучше оставить их заполненными по умолчанию процедурой первого запуска).
- Сравните наполнение непустых в новой базе справочников с аналогичными в исходной (справочники типа "Варианты расчета налогов", "Единицы измерения" и т.п. и синхронизируйте их по коду (если заниматься этим лень, то просто удалите все элементы этих справочников, предварительно почистив константы (окончательно, простой пометки на удалений недостаточно), удаление можно выполнить этой же обработкой на закладке "Сервис").
- Составьте (или хотя бы прикиньте) порядок переноса справочников. Здесь требуются некоторые познания в конфигурациях обрабатываемых баз.
Очевидно, что подчиненные справочники надо переносить после переноса справочника-владельца (эта информация есть в распечатанном в п.4 списке), справочники, чьи реквизиты содержат другие справочники должны загружаться позже (например, сначала "единицы измерения" а потом "номенклатура").
Возможные коллизии, связанные с взаимовлиянием справочников, решаются с помощью переноса в режиме "Догрузить" (см. описание обработки (в форме)).
Некоторые справочники ссылаются на бухгалтерские счета (например, счет затрат в основных средствах), учитывайте возможные субконто таких реквизитов в определении порядка переноса. Коль скоро речь зашла о счетах в реквизитах справочников: именно для таких ситуаций предусмотрена таблица соответствия счетов на закладке "Дополнительные настройки". - Выполните последовательный перенос справочников из исходной базы в новую (порядок работы с обработкой описан в ней же), после переноса очередного справочника делайте отметку в распечатанных ранее списках.
Перенос некоторых справочников имеет особенности, например, "номенклатура" переносится дважды (в справочник "номенклатура" (при выгрузке устанавливается условие "ТипНоменклатуры" не равен "Материалы") и в справочник "Материалы" (при выгрузке устанавливается условие "ТипНоменклатуры" равен "Материалы"), справочник "Статьи затрат" без всяких условий переносится трижды (при необходимости): в "Статьи затрат на производство", "Статьи общепроизводственных затрат" и "Статьи общехозяйственных затрат", реквизиты с видом, несуществующим в исходной конфигурации переносятся наиболее распространённым значением, которое предварительно создаётся в новой базе вручную (например, "Основное подразделение" или "счет учета материалов"), справочник "Виды деятельности", видимо, переносится в справочник "Виды номенклатуры" и т.п. - Догрузите ранее пропущенные реквизиты справочников с перекрёстными ссылками (см. пример по договорам в описании обработки).
- Откройте обработку "Перенос документов" в исходной и новой базах, выберите общий каталог обмена, задайте период выгрузки документов (для новой базы - это период печати, удаления, перенумерации).
Распечатайте список непустых видов документов в исходной и всех видов документов в новой базе. - Проанализируйте распечатанные списки и определите, какие виды документов надо переносить, а какие не стоит (например, "Закрытие месяца" принципиально различаются и их следует сформировать вручную).
- Составьте (или хотя бы прикиньте) порядок переноса видов документов. Здесь требуются некоторые познания в конфигурациях обрабатываемых баз.
Виды документов, чьи реквизиты содержат ссылку на другие виды документов, должны загружаться позже (например, сначала "РасходнаяНакладная" а потом "СчетФактура") (эта информация есть в распечатанном в п.4 списке).
Многие документы ссылаются на бухгалтерские счета (например, ручная операция, выписка и т.п.), для таких документов заполняйте таблицу соответствия счетов на закладке "Дополнительные настройки". - Выполните последовательный перенос видов документов из исходной базы в новую (порядок работы с обработкой описан в ней же), после переноса очередного вида документов делайте отметку в распечатанных ранее списках.
Перенос некоторых документов имеет особенности, например, "ПоступлениеМПЗ" переносится дважды (в документ "Поступление товаров" и в документ "поступление материалов" (при выгрузке устанавливается соответствующее условие на разыменованное поле "ТипНоменклатуры" реквизита "Номенклатура"), реквизиты с видом, несуществующим в исходной конфигурации переносятся наиболее распространённым значением, которое предварительно создаётся в новой базе вручную (например, "Основное подразделение"), реквизиты с объектным типом в исходной базе и строковым в новой переносятся основным представлением, ВАЖНО: реквизиты типа "Версия объекта" переносятся значением, соответствующим константе "номер релиза" новой базы. - Проведите перенесенные документы.
- Проведите анализ результата переноса (хотя бы по оборотно-сальдовой ведомости).
PS: Документы "Операция" (за исключением операций свертки остатков) могут переносится сразу в документ "Бухгалтерская справка" (с последующим заполнением закладки налогового учета ручками) или в операцию же с последующим преобразованием их в бухгалтерскую справку прилагаемой обработкой.
PPS: Сразу отвечу на возможные вопросы:
- Да, достаточно муторно, особенно по первому разу, зато универсально. Можно, конечно, потратить ещё сотню часов и описать все настройки жестко, а через полгода сменяться (и неоднократно) релизы и УСН и ОСН. Спрашивается, за что боролись?
- Да, стопроцентного переноса не получится (слишком разные конфигурации, в частности по плану счетов), какие-то документы придётся подправить ручками...
- Как и обещал в аннотации я, надеюсь, достаточно подробно описал переход с УСН на ОСН. Возможен и обратный переход, но здесь свои приёмы, которые пытливый пользователь может придумать сам, например, справочники "номенклатура" и "материалы" надо переносить в один справочник "номенклатура", для чего один справочник (или оба) в общем случае надо перенумеровать (на закладке "Сервис"), чтобы коды оказались уникальными в обоих справочниках (для этого при перенумерации используйте поле "начальный код").
- При переносе справочников без кодов (этим зачастую грешит "Торговля и склад") используйте идентификацию по наименованию, а если это невозможно, то придется лезть в конфигуратор и временно назначать неуникальный код с последующей перенумерацией.