В оптовой торговле часто возникает ситуация, когда часть товара находится в наличии, а остальное необходимо закупать под конкретного клиента. В типовой конфигурации 1С:Упрощенка 7.7 (построенной на бухгалтерском компоненте) штатный функционал для работы с заказами отсутствует. Это вынуждает менеджеров вести учет «вручную» или в сторонних таблицах. В данной статье мы подробно разберем, как автоматизировать этот процесс, перейдя от ручного труда к системному учету.
Для начала проанализируем ситуацию: конфигурация «Упрощенка» предназначена для ведения бухгалтерского и налогового учета. В отличие от 1С:Торговля и Склад 7.7, здесь нет понятия «Регистры», которые позволяют мгновенно получить остатки в разрезе резервов. Бухгалтерские итоги работают медленнее и не всегда подходят для динамичного торгового процесса. Однако, используя гибкость платформы 7.7, мы можем внедрить необходимые механизмы.
Рассмотрим метод, который позволяет минимально вмешиваться в типовые механизмы проведения документов. Мы можем завести специальные забалансовые счета, которые будут служить нам своего рода «виртуальными регистрами».
Разберем по шагам, как это реализовать:
ЗК («Заказы клиентов»).ЗК три субконто: Контрагенты, Номенклатура и Договоры (или Документы).ЗП («Заказано поставщикам»).При такой схеме, когда менеджер принимает заказ, программа делает проводку по дебету счета ЗК. Как только товар поступает на склад или отгружается, проводка сторнируется. Проанализируем преимущество: мы всегда можем построить стандартную Оборотно-сальдовую ведомость по счету ЗК и увидеть, какой товар и под какого клиента мы ждем.
Выясним, как автоматизировать процесс разделения позиций в самом документе. Вместо того чтобы сразу создавать Реализацию, внедрим новый объект метаданных — документ ЗаказПокупателя.
Алгоритм работы документа должен быть следующим:
41 (или 10).БухгалтерскиеИтоги.Посмотрим на пример логики формирования дефицитной ведомости:
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(Субконто.Номенклатура, ТекущийТовар, 2);
БИ.ВыполнитьЗапрос(ТекущаяДата(), ТекущаяДата(), "41.1");
ОстатокНаСкладе = БИ.СКД("К");
Если ОстатокНаСкладе < КоличествоВЗаказе Тогда
НужноЗаказать = КоличествоВЗаказе - ОстатокНаСкладе;
// Записываем дефицит в список или новый документ
КонецЕсли;
Чтобы менеджеру было удобно работать, мы можем раскрасить строки в табличной части заказа. Для этого в 1С 7.7 часто применяется внешняя компонента FormEx. Проанализируем ситуацию: если товара достаточно — строка зеленая, если товара нет — красная, если товар есть частично — желтая.
Это позволяет избежать ошибок при формировании накладных. Менеджер сразу видит, какие позиции уйдут со склада, а какие попадут в «Заявку поставщику».
Вместо изменения типовых документов, рассмотрим создание внешней обработки РабочееМестоМенеджера.ert. Это наиболее безопасный способ с точки зрения будущих обновлений конфигурации.
В этой обработке мы реализуем:
Реализацию на то, что есть в наличии, и документ ЗаявкаПоставщику на остаток.Если справочник номенклатуры в фирме насчитывает тысячи позиций, стандартные БухгалтерскиеИтоги могут работать медленно при массовой проверке остатков. В этом случае профессионалы рекомендуют использовать компоненту 1С++.
Выясним причину: прямые SQL-запросы к базе данных DBF или SQL позволяют получить остатки в десятки раз быстрее. Это критично для оптовой компании, где скорость обработки заказа напрямую влияет на лояльность клиентов.
Рассмотрим альтернативные предложения, прозвучавшие в обсуждении. Переход на 1С:Управление торговлей 11 или ТиС 7.7 оправдан, если ваша фирма планирует масштабный рост. Однако для небольшого бизнеса на «упрощенке» такой переход может быть избыточным из-за сложности настройки и стоимости лицензий.
В качестве промежуточного варианта разберем 1С:Управление нашей фирмой (УНФ). В ней функционал работы «под заказ» является базовым и не требует доработки. Вы можете вести оперативный учет в УНФ, а данные для налоговой отчетности выгружать в текущую Упрощенку 7.7.
Для автоматизации вашей задачи в рамках текущей 1С 7.7 Упрощенка мы рекомендуем:
ЗаказПокупателя для фиксации первичной потребности.Заказ на отгрузку (из наличия) и закупку (под заказ).Такой подход позволит вам избавиться от ручного труда и минимизировать человеческий фактор при формировании заказов поставщикам.