Перенос подсистемы "Скидки и наценки" из УТ 11.4.6 в УТП для Украины (УТ 10, УПП 1.3, УТ 2.3. для Украины и в другие подобные конфигурации)

Публикация № 1013997

Программирование - Практика программирования

УТ 11 11.4 УТП УПП Розница Скидки (наценки) Бонус Бонусы Бонусные баллы Учет бонусов УТ11 УТ10 наценки Сегменты номенклатуры Подарочные

0
Статья, описывающая реальный опыт перенос подсистемы "Скидки и наценки" из конфигурации УТ 11.4.6 в конфигурацию УТП 1.2.50 для Украины. Поскольку ряд конфигураций предыдущего поколения имеют одинаковую структуру данных, следовательно данный пример можно применить и к конфигурациям: УТ 10, УПП 1.3, УТ 2.3. для Украины и им подобным.

Предисловие

Создавая данную публикацию, я хотел рассказать про то, что что невозможное - возможно. А тем кто хотел начать, но сомневался стоит ли начинать такой путь, добавить уверенности в своих силах и подтвердить, что данное решение вполне реальное. 

К слову, мне уже неоднократно приходилось скрещивать ежа с ужом, и это приносит мне огромное удовольствие.  Особенно запоминаются те моменты, когда начинаешь проверять работу скрещенных механизмов в пользовательском режиме, а до этого долго приходилось переносить структуры и модули без возможности их пощупать в работе т.к. точно знаешь что «еще не взлетит». Но в тот момент, когда у тебя программа начинает работать как нужно, чувствуешь жар и ощущаешь себя Виктором Франкенштейном с его - "It's alive".

Только до этого мне приходилось скрещивать конфигурации, так сказать одного поколения. Началось это еще с 7-ки. Там я объединял Бух и ЗиК. или ПуБ и ЗиК, или Бух с некоторыми отраслевым конфигурациями. Далее история продолжалась на 8.1 и 8.2. Там тоже приходилось скрещивать Бух. с различными отраслевым конфигурациями. Один раз даже пришлось скрещивать Бух с CRM Проф и Управление автотранспортом. Каждый раз это были незабываемые эмоции и тонны новой информации.

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

Для этого всегда приходится использовать подписки на события объектов и событий форм. Измененные объекты всегда копировать и применять префиксы и т.д. Но для этого приходится выполнять массовые переименования переменных, процедур и функций в текстах модулей перенесенных объектов.

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

Но в этот раз пришлось переносить несколько подсистем из конфигурации нового поколения УТ 11.4.6, в конфигурацию предыдущего поколения УТП, работающую на обычных формах, а именно:

  • Управление сегментами номенклатуры и партнеров.
  • Управление скидками.
  • Отправка SMS.
  • И частично, управление розничными продажами.

Для справки.

УТП - управление торговым предприятием для Украины.

Конфигурация выпускается в Украине, Беларуси и кажется в Казахстане.

Представляет из себя симбиоз двух конфигураций: бухгалтерии и управления торговлей, которые по своей структуре идентичны УТ 10.3. и БП 1.6.

А если совсем просто, то выложенные на Инфостарте отчеты и обработки для УТ 10.3., приспокойно взлетят на УТП вовсе без доработок, или с минимальными доработками.

УТП мой заказчик использует для бух.и оперативного учета.

УТ 11 для складского учета и складской логистики,  в т.ч. рабочее место кладовщика для работы с ТСД. 

Все необходимые лицензии на УТП и УТ куплены. 

 

Еще хочу отметить, что я участвовал в нескольких встречах у трех различных заказчиков, которые обсуждали подобную задачу -  переноса подсистемы скидок из УТ11 в УПП и УТ 10. Двое из них до этого искали на нее исполнителей, и реально пытались просчитать стоимость объемы работ. Но все их подрядчики заявляли, что это сделать невозможно. Говорили что конфигурации слишком разные. И как это не странно я с ними согласен. Это действительно невозможно сделать за те деньги и сроки, которые как правило, заказчики готовы выделять на подобные проекты.

Далее речь пойдет о процессе объединения, и связанных с ним технических нюансах. Поэтому для тех, кому хочется увидеть только результат, предлагаю сразу перейти в раздел "Что из этого получилось".

На всякий случай о лицензировании: 

Лицензирование разработки в системе "1С:Предприятие 8"
http://v8.1c.ru/predpriyatie/questions_licence.htm#lrvs1cpp

Вопрос:

61.    Какие условия необходимо соблюсти разработчику для поставки пользователю своей конфигурации, в которой заимствованы фрагменты типового решения фирмы "1С"? Для "1С:Предприятия 7.7" требовалось, чтобы пользователь имел любой легально приобретенный продукт, содержащий типовую конфигурацию и те компоненты, которые используются в конфигурации.

Ответ:

В "1С:Предприятии 8" деления по компонентам нет. В указанном случае, чтобы не нарушался закон "Об авторском праве и смежных правах", пользователь должен иметь лицензию на использование Основной поставки, содержащей ту конфигурацию, которая взята за основу разработчиком, а также, в соответствии с Лицензионным соглашением на "1С:Предприятие 8", клиентские лицензии "1С:Предприятия 8" по количеству одновременно работающих пользователей. Клиентские лицензии могут использоваться для одновременной работы пользователей с любыми конфигурациями, как фирмы "1С", так и других разработчиков.

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

 
 Предистория
 
 Поставленные задачи
 
 Как выполнялся перенос объектов
 
 Что из этого получилось

 В первую очередь были решены следующие задачи:

  • Возможность работать с отложенными чеками в РМК (в рабочем месте кассира).
  • Дать маркетологам информацию о среднем чеке.

Для этого из конфигурации 1С:Розница 1.0. в документ «Чек ККМ» было добавлено поле «Статус чека» с вариантами:

  • Отложенный
  • Аннулированный
  • Пробитый
  • Архивный

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

Статус чеков ККМ

 

Для анализа среднего чека и статистики из розницы 1.0 были перенесены следующие отчеты:

  •  
     Отчет по чекам ККМ
  •  
     Статистика чеков ККМ
  •  
     Статистика чеков ККМ по дням недели
  •  
     Статистика чеков ККМ в разрезе рабочего времени (интервал в часах)

Благодаря тому что конфигурации УТП и Розница 1.0 являются программами одного поколения, и имеют схожую структуру, то отчеты взятые из 1С:Розница 1.0. заработали в УТП почти без доработок.

Когда перенесли и сформировали отчеты по чекам, увидели что они умеют использовать данные счетчиков посетителей. В итоге из розницы 1.0 забрали и эту функцию.

 
 Механизмы загрузки данных из счетчиков посетителей тоже перенеслись с незначительными доработками

 

После этого перенесли из Розницы 1.0. функцию "Отложить чек" и "Продолжить отложенный чек".

 
 Для этого перенесли форму выбора отложенного чека и пару процедур для РМК

 

И наконец, самой сложной оказалась задача сделать возможность возвращать товар, проданный в предыдущие дни, при помощи чека на возврат из РМК.

 
 Для этого потребовалось доработать документы "Чек ККМ", "Отчет о розничных продажах" и обработку "Закрытие кассовой смены".

 

После этого начался перенос подсистемы скидок из УТ 11.4.6 в УТП. И вот что удалось перенести и заставить работать.

 
 Для быстрого доступа к объектам с которыми пришлось работать было создано меню "Скидки 11.4".
 
 Справочник "Скидки (наценки)"
 
 Справочник "Условия предоставления скидок"
 
 Справочник "Бонусные программы лояльности"
 
 Справочник "Правила начисления и списания бонусных баллов"
 
 Справочник "Сегменты номенклатуры"
 
 Справочник "Сегменты контрагентов"
 
 Документ "Начисление-списание бонусных баллов"
 
 Прочие вспомогательные справочники

 

Кроме того были изменены и несколько штатных справочников в УТП.

 
 Справочник "Виды дисконтных карт"
 
 Справочник "Информационные карты"