Немного садомазохизма или перенос истории в 1С

Заказчик:

— Вы знаете, мы тут с коллегами посовещались и решили не просто начать работу в новой 1С. Мы хотим с вашей помощью перенести в нашу новенькую 1С всю историю за последний год, хотя что там год, за пять… а лучше за все время работы предприятия. Мы посоветовались с нашим айтишником, он говорит, что это просто. Необходимо чтобы вы сделали нам обработочку, и все, а сервера у нас мощные, раз-два и все готово.

Я:

— О, Боже, только не это…

Как вы поняли, мои дорогие читатели, только что я привел пример диалога с заказчиком, который надумал перенести историю в свою 1Ску. После моей реплики: «О, Боже, только не это», я прикладываю все возможные и невозможные усилия для того, чтобы переубедить клиента и предупреждаю его о том, что весь этот процесс будет схож с садомазохизмом.

Кто-то скажет: «Заказчик всегда прав», «Хозяин-барин». Люди готовы платить деньги – делай, что просят! Так да не так. Все эти поговорки верные, но точно не в этом случае.

Как показывает мой огромный опыт работы в сфере 1С после запуска (и выверки истории) все клиенты, ВСЕ БЕЗ ИСКЛЮЧЕНИЯ, настаивавшие на переносе истории говорят:

  • Если бы мы знали, через что нам придется переплыть, мы бы ни за что на это не пошли;
  • Кто вообще настоял на переносе истории? Я? Нет, я не мог. Нужно найти виноватого и срочно его наказать за все мучения.
  • Почему вы меня не переубедили, вы же профессионалы в области 1С. Вы же 100 процентов знали, что будет плохо? Что? Вы меня отговаривали? Значит недостаточно убедительно отговаривали.

Итог всегда один – измучанный и недовольный клиент.

Я подумал, что стоит найти немного времени в своем плотном графике, дабы описать все «прелести» переноса истории в 1С и постараться быть максимально убедительным. Но тут мне попалась статья, которую написали уже за меня. Несмотря на то, что в блоге я размещаю материал исключительно авторского содержания, эту статью я решил разместить в своем блоге, так как могу подписаться под каждым ее словом. В данном случае – даже добавить нечего. Все доступно и понятно написано, а главное – отражает все мои мысли по этому поводу. Единственное, оригинал статьи заточен под российское законодательство, а у нас в Донецке дела обстоят иначе и есть расхождения, поэтому буду делать авторские ремарки.

Простыми словами о том, что такое «загрузка данных в 1С»

Загрузка начальных остатков

• Справочники (клиенты, товары, статьи затрат, банковские счета и так далее) выгружаются, а затем загружаются в новую систему.

Скорее всего структура и состав справочников поменяется при переходе. Почти всегда вместе с внедрением новой системы, хочется «навести порядок».

Отдельный маленький этап проекта – это проработка НСИ (нормативно справочной информации), выработка регламента работы с НСИ и правил мэппинга – соответствия старых справочников, новым.

• Делается срез остатков на момент перехода (рассчитываются остатки товаров на складах, остатки партий и их себестоимость, взаиморасчеты, остатки денег). Все это на «дату Ч».

Данные по остаткам переносятся в новую систему входящими остатками (в зависимости от типа остатков, выбирается правильный вид документа для ввода).

При этом учитывается новая структура справочников (новые, объединенные или наоборот разобранные позиции, новые папки, свойства, характеристики)

Работа важная, кропотливая, требующая точности и проверки. Но она конечная и ее можно выполнить хорошо в короткий срок.

Перенос истории

1. Естественный (видимый заказчику) процесс – это перенос всех документов выбранных типов из старой базы в новую. Может показаться что это просто большая работа.

Один раз надо запрограммировать выгрузку и загрузку (за это, так и быть, клиент готов заплатить). А потом просто запустить нужные обработки, чтобы они «сами» все сделали, и за 5 лет документы перенесли.

Тут уже есть маленькая проблема – если мы хотим добиться, например, чтобы у нас были корректные движения товаров в новой системе, из старой системы нужно забрать всё, что меняло товарные остатки в течение этих 5 лет.

Очень может быть, что за 5 лет среди документов, которые подвигали остатки товаров, оказались какие-то очень неожиданные виды документов (не используемые в ежедневной деятельности). Например, ручные исправления, сторно и корректировки, «хитрые» возвраты и так далее.

Скорее всего никто про них не знает и не думает, в выгрузку они не попадут, и будут обнаружены после расследования «почему же у нас не совпадают отгрузки в штуках за 5 лет».

Поверьте, просто перенос нескольких сот тысяч, а то и миллионов, документов, точно повлечет за собой несоответствие в данных. Даже если оно небольшое, его все равно надо найти и обезвредить.

2. Настоящая «бомба замедленного действия» в другом.

Документы нужны не просто так. Документ – это отражение события в физическом мире. Нужны те движения (изменения в данных) которые они сделали. Например, мы оформили реализацию. Документ посчитал и зафиксировал себестоимость проданного товара, сформировал движения по налогам, проверил был ли аванс, зачел его, возможно частично, или «повесил» на покупателя долг.

В старой учетной системе, расчетные механизмы были одни, и делали одни движения.

В новой 1С, расчетные механизмы другие. И с огромной долей вероятности, и движения, которые они сделают, будут другие.

Новая система где-то в глубине по-другому округлит четвертый знак после запятой при расчете «налог с оборота в сумме». В миллионах отгрузок у вас будет несколько сотен документов, где эти «копейки» разойдутся, на общую сумму в пару десятков тысяч рублей.

Когда вы найдете эту ошибку (кстати, после того как вы ее найдете, что вы с ней будете делать? Не менять же механизм округления всей 1С, чтобы было «как раньше»?), и проведете документы заново, вы увидите, что она исправилась… Но что-то еще не совпадает. Успехов в поисках…

Таким образом, после того как весь массив документов за 3-5-10 лет будет проведен в новой системе… Вы действительно надеетесь увидеть ту же себестоимость продукции, тот же финрез, те же отчеты о продажах и взаиморасчетах?

14 причин ненависти к переносу истории

Что помешает перенести весь массив данных из старой системы в новую 1С, и жить счастливо.

  1. Разный подход к контролю уникальности ИНН, контрагентов, номенклатуры, договоров.
  2. Разный подход к построению НСИ, например, то, что в 1С разумно занести характеристиками (размеры, цвета), единицами измерения (штуки), занесено в комментарий или прямо в название.
  3. Продажи с нулевой ценой (типовые 1С конфигурации не разрешают, так как это нарушение законодательства)
  4. Продажи в минус, отсутствие контроля остатков и резервов (1С контролирует, старая система может и нет)
  5. Другой подход к занесению дополнительных расходов, и их распределению.
  6. Разное число знаков после запятой в ценах, суммах, количествах. Разные механизмы округления.
  7. Разные подходы к расчету курсовых разниц.
  8. Разный алгоритм расчета и округления НДС, который применялся в Украине и который сейчас в Донецке отсутствует как таковой.
  9. Отсутствие в старой системе реквизитов, которые являются обязательными в новой (например, договоры в ряде операций).
  10. Перемещения в старой системе с ручной ценой, «открытой» себестоимостью. 1С при перемещении считает себестоимость сам.
  11. Прямой выбор списываемой партии при продаже в старой системе (не FIFO и не среднее).
  12. Документы, которым нет аналога в 1С.
  13. Явные ошибки в данных, не контролируемые в старой системе: суммы без количества, количества без сумм.
  14. В источнике аналитика «для информации», а в приёмнике она же для учета. Например, «серии», «места хранения».

Был ли я достаточно убедительным?

Мне все еще не удалось отговорить вас переносить историю? ОК, вы клиент, и ваше желание – закон. Особенно, если оно подкреплено бюджетом.

Приготовьте деньги

Конечно же, перенос истории за период, это не только «сделать пару (десятков) обработок», которые выгрузят и загрузят данные.

Это так же работа того, кто будет сверять каждый год, каждый месяц, каждый день. В разрезе всех видов данных. Искать расхождения и ошибки. Анализировать их причины, и вносить новые и новые требования в ТЗ на перенос данных. Эта работа, несомненно, стоит денег, и она тем дороже, чем больший массив нужно проверить. Чем больший объем данных должен «совпасть».

Приготовьте время

Сверка данных за период — это огромная работа, в которой придется участвовать специалистам клиента. Так как во всех найденных случаях расхождений, скорее всего будет необходимо понимание ассортимента, особенностей оформления движений товара и денег в старой системе, для принятия решения что в каждом конкретном случае делать.

Просто заплатить подрядчику, и больше не участвовать в наведении порядка в истории, не получится. Чем быстрее вы хотите получить результат, тем больше вашего участия понадобится. Так как без вас подрядчик сможет найти проблемы в данных, но не сможем выработать решения, «что с этим делать».

Забудьте про сжатые сроки

Какие бы мощные у вас не были сервера, историю придется переносить не раз, не два, и не десять раз. Десятки, а то и сотни итераций:

  1. Перенос
  2. Проведение документов
  3. Проверка, поиск ошибок
  4. Нашли, исправили
  5. И снова перенос

Каждый шаг требует и времени людей, и машинного времени. Сделать быстро не получится. Проект растянется во времени (иногда задержка может быть непредсказуемой, если при каждой итерации загрузки выясняются все более глобальные расхождения в старой и новой системе).

Ну и что вы предлагаете?

Вы, наверное, думаете – ну хорошо, он убедительно рассказывает о том ужасе, который предстоит пережить, перенося историю. Но что, если нам по-настоящему надо? Неужели нет вариантов?

Это сложно. Но не невозможно. Нет нерешаемых задач, есть недостаточные сроки и бюджеты. Если без истории никак – можно и перенести, просто стоит реально оценивать сложность и объем этой задачи.

Использование старой базы офлайн. Если вам один раз в год нужно построить годовой план с учетом предыдущих 5 лет, может быть можно 1 раз в год заглянуть в старую базу, и взять из нее статистику? Сформировать и выгрузить отчеты, и загрузить их простыми загрузками из excel в новую 1С. Да, это не очень удобно. Но сэкономит несколько месяцев каторжного труда.

Использование старой базы онлайн. Иногда (это зависит от того, как технически реализована старая учетная система), к ней можно подключаться и брать из нее данные тогда, когда они нужны пользователю. Не буду загружать лишними техническими подробностями, но иногда это возможно – пользователь строит отчет, а отчет часть данных берет из текущей 1С базы, а часть из старой, подключаясь к ней «налету».

Перенести не документы движения (товаров, денег), а сводные аналитические данные. Вам нужен объем продаж в штуках для прогнозирования спроса? Сформировать в старой базе отчет об объеме продаж с нужными разрезами аналитики, в новую базу загрузить «историю продаж в штуках». Не очень типовой механизм, но можно реализовать. Без всяких себестоимостей, курсовых разниц и типов цен. Только штуки, только для анализа статистических закономерностей.