Переход со старых версий программного обеспечения на новые стандарты учета — всегда ответственный и трудоемкий процесс. Особенно часто с трудностями сталкиваются при миграции с платформы 1С 7.7 (в особенности если конфигурация была существенно доработана или написана с нуля) на современную конфигурацию 1С:Розница 2.2 (или её развитие 2.3).
В этой статье мы подробно разберем, как правильно организовать перенос справочников, остатков ТМЦ и цен, выясним, почему в Рознице 2.2 нет специализированного документа «Ввод начальных остатков» для товаров, и разберем наиболее эффективные сценарии загрузки данных.
---
При первом знакомстве с конфигурацией «1С:Розница» редакции 2.2 многие пользователи и даже опытные внедренцы безуспешно пытаются найти в интерфейсе документ с названием «Ввод начальных остатков». Логика подсказывает, что для старта системы должен быть предусмотрен специализированный инструмент, как это сделано, например, в «1С:Бухгалтерии» или «1С:Управлении нашей фирмой» (УНФ), а также в более поздней редакции «1С:Розница 3.0».
Однако в архитектуре 1С:Розница 2.2/2.3 разработчиками штатно заложено иное проектное решение. Роль документа ввода остатков здесь выполняет стандартный складской документ ОприходованиеТоваров (находится в разделе Склад — Складские операции). Именно он формирует необходимые движения по количественным и стоимостным регистрам учета.
---
Часто возникает вопрос: почему при проведении документа ОприходованиеТоваров программа настойчиво требует заполнить цену номенклатуры, если этот документ, казалось бы, фиксирует только физическое наличие товара на складе? Разберем причины более детально:
Дт 41.01 - Кт 91.01 (прочие доходы). Бухгалтерский учет не терпит отсутствия суммовой оценки — без цен документ просто не проведется на стороне бухгалтерии.Поэтому фиксация реальной закупочной цены в оприходовании — это обязательное условие для ведения корректного учета.
---
Поскольку исходная база 1С 7.7 является нетиповой (самописной), воспользоваться встроенными стандартными правилами обмена (например, для конфигурации «Торговля и склад 9.2») напрямую не удастся. Рассмотрим по шагам универсальный и наиболее надежный способ загрузки данных через промежуточные файлы формата Excel.
В исходной базе 7.7 необходимо сформировать и выгрузить в таблицу Excel ведомость остатков. Для этого можно написать простейший отчет или воспользоваться универсальной обработкой выгрузки табличных частей. Нам понадобятся следующие колонки:
Перед загрузкой данных обязательно настройте структуру предприятия в новой базе:
Для импорта самих позиций воспользуемся стандартной обработкой «Загрузка данных из табличного документа» (ее можно открыть через главное меню: Все функции — Обработки или настроить доступ через администрирование).
Проанализируем процесс настройки:
Номенклатура.ШтрихкодыНоменклатуры.Создаем новый пустой документ ОприходованиеТоваров. Нам необходимо заполнить его табличную часть товарами, количеством и ценами закупки из нашего Excel-файла.
Для автоматизации этого процесса в документе предусмотрена кнопка «Заполнить — Загрузить из внешнего файла» (или мы можем снова использовать универсальную обработку «Загрузка данных из табличного документа», выбрав в качестве цели загрузки табличную часть созданного документа оприходования).
После успешного заполнения табличной части проводим документ. С этого момента на складе числится товар по соответствующей себестоимости.
Чтобы начать продажи на кассах, нам нужно зарегистрировать розничные цены. На основании проведенного документа ОприходованиеТоваров создаем документ УстановкаЦенНоменклатуры.
Если в оприходовании были указаны цены закупки, а в правилах ценообразования настроена автоматическая наценка, программа сама рассчитает розничные цены. Если же розничные цены в вашей старой базе были произвольными и не подчинялись единому правилу наценки, загрузите их напрямую из сохраненного Excel-файла в документ установки цен, используя поиск по артикулу или штрихкоду.
---
Среди практикующих специалистов по внедрению 1С очень популярен альтернативный метод ввода остатков, который позволяет значительно сократить количество кликов и исключить путаницу с последовательностью проведения документов. Рассмотрим эту схему подробнее.
Вместо складского оприходования используется документ ПоступлениеТоваров:
ПоступлениеТоваров от имени этого контрагента на нужный склад.УстановкаЦенНоменклатуры. Программа автоматически подтянет все цены закупки и позволит мгновенно рассчитать и зафиксировать розничные цены для кассовых узлов.КорректировкаДолга или игнорируется, если расчеты с поставщиками в Рознице вести не планируется.---
Если позиций в базе много (десятки тысяч) и ручной перенос через Excel занимает слишком много времени, оптимальным решением будет написание правил обмена в среде «1С:Конвертация данных 2.0» или создание небольшой внешней обработки для прямого COM-соединения с базой 1С 7.7.
Рассмотрим пример кода на встроенном языке 1С, который иллюстрирует программное создание документа оприходования и заполнение его табличной части из внешнего источника данных:
// Создание документа Оприходование товаров
НовыйДок = Документы.ОприходованиеТоваров.СоздатьДокумент();
НовыйДок.Дата = КонецДня(ТекущаяДата() - 86400); // Вводим остатки вчерашним днем
НовыйДок.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", "7700000000");
НовыйДок.Магазин = Справочники.Магазины.НайтиПоНаименованию("Основной магазин");
НовыйДок.Склад = Справочники.Склады.НайтиПоНаименованию("Торговый зал");
// Предположим, у нас есть ТЗДанных, полученная из 1С 7.7
Для Каждого СтрокаДанных Из ТЗДанных Цикл
НоваяСтрока = НовыйДок.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", СтрокаДанных.Артикул);
НоваяСтрока.Количество = СтрокаДанных.Количество;
НоваяСтрока.Цена = СтрокаДанных.ЦенаЗакупки;
НоваяСтрока.Сумма = СтрокаДанных.Количество * СтрокаДанных.ЦенаЗакупки;
КонецЦикла;
Попытка
НовыйДок.Записать(РежимЗаписиДокумента.Проведение);
Сообщить("Документ оприходования успешно проведен!");
Исключение
НовыйДок.Записать(РежимЗаписиДокумента.Запись);
Сообщить("Не удалось провести документ: " + ОписаниеОшибки());
КонецПопытки;
---
Успешный запуск магазина не ограничивается только товарами. Проанализируем, какие еще данные обязательно нужно внести в систему перед началом работы торговой точки:
ПриходныйКассовыйОрдер (ПКО) с видом операции «Прочий приход денежных средств». Это необходимо для того, чтобы кассиры могли производить выдачу сдачи при первых продажах.ВводОстатковПоНакопительнымДисконтнымКартам. Без этого клиенты потеряют свои накопленные скидки, что может негативно сказаться на лояльности.Используя предложенные методики и подходы, вы сможете перенести все необходимые данные из старой нетиповой конфигурации 1С 7.7 в 1С:Розница 2.2 максимально быстро, избежав при этом критических ошибок в учете себестоимости и ценообразовании.