Отраслевые
и специализированные
решения
1С:Предприятие

ООО "Паритет"

Москва, Декабрь 2016


Партнер, осуществивший внедрение/проект
Отдел продвижения экономических программ
Отрасль / Функциональная задача

Предыстория чтобы всем было понятно, о чем идет речь!

Добрый день меня зовут Сергей Гончаров, я являюсь начальником IT-отдела компании ООО "Паритет", моё профильное направление — это Разработка и поддержка продуктов 1С, помимо руководства отделом.

Компания, в которой я работаю, занимается производством тканей для различных нужд и экспортирует продукцию по всей России, СНГ, за рубеж. Предприятие было остановлено в 90-е годы и начало медленно, но верно возрождаться в начале 2000-х, что не могло не сказаться на производстве и на развитии инфраструктуры, и автоматизации различных производственных и бизнес процессов. Автоматизации просто не было - весь учет велся по старинке на так называемых портянках. К большому сожалению у меня нет фотографий с ними, которые можно было бы выложить. Это были старые приходно-расходные бланки еще отпечатанные в типографии РСФСР, приложу картинку чтобы вы примерно понимали, что это такое.


Ну вот в общем что-то подобное, я думаю, что кто постарше тот понимает, о чем я говорю, подразумевая портянку! После того как руководство поняло, что необходимо как-то приводить все в порядок и начать какую-никакую автоматизацию, была предпринята слабая попытка внедрить хоть какую-то систему учета.

Пригласили знакомого программиста-любителя, который наваял буквально за месяц подобие CRM (хотя и CRM данное самодельное чудо вряд ли можно назвать), использовавшее базу данных Microsoft Access и прилепленную форму, написанную предположительно на Visual Basic, а может и на С++


Понятное дело, что о никаких регистрах или справочниках, а тем более об организации базы данных SQL с выгрузкой остатков в Интернет-Магазин речи и не шло. Программист работал удаленно и на аутсорсинге, что вносило свои коррективы в дописывание функционала программы и ее последующей поддержке.

Основные недостатки программы и для чего нужно было городить 1С

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

Справочник номенклатуры и документ Реализация выглядят так:



Как обычно в таких случаях бывает задачи растут, квалификации фрилансеров в определенный момент начинает не хватать, появляются какие-то недопонимания организационные, финансовые. На данном этапе разработки уже следует привлекать первоклассных специалистов для интенсивного развития CRM системы, как следствие это влечет существенное увеличение бюджета проекта. Вот на фоне этих событий и привлекли меня Программиста 1С, так как у меня уже за плечами был стаж работы в 1С:Франчайзи и опыт автоматизации, правда не производственных, а торговых процессов. Понятно, что я не мог без боли смотреть на недорожденный проект и склонял руководство к использованию все-таки более прогрессивных продуктов 1С, да и разбираться в базе данных Access и самописной оболочке как-то уже не хотелось, что-то подобное я рисовал будучи студентом 2-3 курса в качестве курсовика на специальности АСиУ (ныне Программная Инженерия).

И вот была сделана ставка на 1С!

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

Когда руководители все-таки решились на рискованный шаг, нужно было назначать ответственного специалиста, которого в штате не было, этим специалистом пришлось стать мне. Фрилансер-Руководитель IT-отдела на аутсорсинге! Как вам такое? Не, ну а что? Прикольно! К 8:00 на работу не нужно! Можно спать до обеда, прикрываясь тем, что ты всю ночь сидел за компом и работал (на самом деле смотрел видюшки на YouTube, но это не важно)

Первые сложности и пути их обхода!

За основу все-таки было решено взять старую добрую конфигурацию 1С:Управление Торговлей 10.3. Предполагалось для начала автоматизировать два простых процесса приход и расход, поступление и реализацию, а потом уже наслаивать дружелюбный интерфейс, проверку дублирующей номенклатуры, резерв, заказ, ордерную схему работы склада, поступление денежных средств, списание средств расходуемых при производстве. Вроде все просто как на оптовом складе или магазине, в которых я уже когда-то внедрял 1С.

Основная проблема, с которой я как программист столкнулся - это очень длинная, просто километровая номенклатура, которая присуща текстильной продукции, содержащая большое количество характеристик. Честно говоря я видел номенклатуру у текстильных комбинатов и она была короче, но доводы как-то укоротить номенклатуру были не убедительны! Ну и ладно! Подумал я, так как для программистов не существует нерешаемых задач, в основном все упирается в готовность оплачивать услуги специалиста, который будет решать сложные задачи.

В качестве примера привел выгрузку по остаткам одного из видов нити!


Пути обхода и решения - стандартные и не стандартные (Изобретение велосипеда!)

Было несколько вариантов как решить вопрос с номенклатурой. Первый - это просто в тупую использовать километровую номенклатуру с различными вариациями характеристик, но тогда справочник номенклатуры занимал бы и грузил всю базу, что даже всякие там SQL-и и OLAP-ы бы не помогли. Был второй более прогрессивный вариант - это взять какую-то основу начальной номенклатуры и прицеплять как конструктор к ней характеристики, благо функционал 1С:УТ позволяет это делать, и вести учет по характеристикам

Этот вариант отставили в сторону, так как номенклатура, состоящая на 95% из характеристик будет усложнять ведение складского учета, как следствие усложнения будут негативно сказываться на производительности сотрудников и увеличении нагрузки на IT-Отдел, который уже к тому времени продолжал расти и помимо меня состоял из 3-х сотрудников: одного программиста, админа и эникейщика, но работали мы все дружно! Друг друга в беде не оставляли.

Для решения данной задачи пришлось пойти нестандартным путем, снять конфигурацию с поддержки с возможностями внесения изменений (ну наверно для матерых программеров это вообще стандартная история), ну в общем не суть!

Осуществлять процесс формирования номенклатуры не в справочник (как это всегда бывает), а в регистр сведений путем записи документом, который в свою очередь является производственным процессом в регистр и последующим чтением из регистра следующим документом, который является следующим процессом в цикле производства, и в конечном итоге использование сформировавшихся записей в регистре как номенклатуры для табличных частей документов поступления, перемещения, реализации, ордеров, и.т.п. Которые в свою очередь будут делать процессы движения уже по регистрам накопления, из которых уже можно будет формировать отчеты по остаткам и продажам для упрощения производственных процессов путем создания документа для того, чтобы отразить результат. Было сделано штрихкодирование характеристик, из которых на каждом процессе собирается длинная номенклатура. Документы были определены соответствующим процессам условно, но 1С это одна сплошная условность, тем более в решении нестандартных задач! Не? не понятно? Тогда я нарисую!

А вот и сама схема, прошу прощения за то, что я не Пикассо и умею рисовать только в Paint, но я думаю, что схема будет более менее наглядна и понятна.


То есть каждый документ берет запись из регистра, дописывает в нее свою характеристику и делает запись в регистре, таким образом формируется номенклатура из записей в регистре, которая уже используется стандартными типовыми документами в 1С (хотя они уже нетиповые). В общем пришлось дописывать регистр, над которым мы с коллегой поломали голову не одну ночь, и дописали доки что бы они использовали не справочники а регистры запросами, на на вопрос: "А можно ли было сделать что-то попроще?" я отвечу: "Может и можно было, но в данный момент пришла в голову именно эта идея, тем более каждый программист знает, что выборка из справочника работает медленнее любого запроса из регистра, ну а попутно при создании сего чуда мне пришлось пройти курсы по оптимизации и написания оптимальных запросов. А уже научить 1С:УТ читать номенклатуру из регистра было несложной задачей."

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

Сергей Гончаров

Автоматизированы следующие функции:

  • Анализ данных и прогнозирование
  • Планирование потребности в материалах
  • Управление данными о технологии производства (маршрутные карты)
  • Управленческий учет
  • Учет затрат на производство
  • Учет производственных заказов