Поскольку ряд конфигураций предыдущего поколения имеют одинаковую структуру данных, следовательно данный пример можно применить и к конфигурациям: УТ 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С", так и других разработчиков.
Так как массовое тиражирование данной разработки не планируется, а у конечного пользователя имеются все необходимые лицензии, данная статья не нарушает лицензионного соглашения.
Предистория
Как это часто случается, данная задача появилась у одного из моих клиентов, который использует в работе конфигурацию УТП с доработками. Переходить на новую торговлю желания у руководства компании нет, а использовать современные технологии — есть.
Вообще данная задача «висит» надо мною уже 2 года. Три раза я начинал перенос подсистемы скидок из различных программ в УТП, но проект останавливался по разным причинам. То из-за нехватки свободного времени у меня, то заказчик отказывался от проекта из-за смены руководства, то из-за нехватки финансирования.
Первый раз я переносил подсистему скидок из Розницы 1.0. Конфигурации очень схожи по структуре, и перспективы успешного завершения были очень хорошие. Но вдруг фирму перепродали, и новое руководство остановило проект на неопределенное время. На момент остановки, проект был завершен на 70%. Со мною рассчитались за выполненный объем, и попросили подождать. Закончилось все тем, что в задачу добавили новые условия, которые кардинально изменяли суть проекта. Кроме того заказчик решил взять программиста 1С себе в штат.
Второй раз я пытался перенести подсистему скидок из Розницы 2.0. Несмотря на то, что розница 2.0 работала уже на управляемых формах, по структуре она оказалось очень похожей на конфигурации предыдущего поколения типа УТ 10. Работа остановилась на 10-20 процентах, т.к. в задачу добавили еще одно новое условие — нужно было внедрить учет бонусных баллов, причем в первую очередь. Проект был снова остановлен, текущие работы стали менее приоритетными. Но после предварительного расчета стоимости разработки подсистемы учета бонусных баллов, заказчик отказался от проекта из-за нехватки финансирования. Короче — денег не дали.
К слову, за это время у заказчика было несколько штатных программистов. Но что-то не сложилось.
Третий раз я пробовал перенести подсистему скидок из УТ 11.2., но это уже была моя личная инициатива. Этому же заказчику нужен был и учет бонусов, и разные варианты скидок и еще много чего, а от меня ожидали предварительный бюджет.
Можно было взять первый и почти готовый проект, основанный на 1С:Розница 1.0, и добавить в него недостающие возможности. Но к этому времени я уже знал о недостатках, проблемах и ошибках подсистемы скидок в рознице 1.0 и психологически настроен был негативно. Кроме того, с тех времен прошел год, и в рабочую базу клиента уже было добавлено много других доработок.
В итоге, для того чтобы предварительно оценить объем работ, я начал перенос подсистемы скидок из УТ 11.2. Потратив примерно 20 часов, я разобрался в подсистеме скидок в УТ 11 и очевидным стало огромное различие в архитектуре двух конфигураций. Это не вселяло в меня надежду на успех, и кроме того, на тот момент я участвовал в другом проекте, и на этот времени почти не было. И снова произошел случай — у заказчика ушел директор по рознице, и почти все его подчиненные. В итоге все опять остановилось.
И вот настал тот момент, когда у этого же клиента появился руководитель, который снова поднял этот вопрос. Напомню — это уже четвертый раз. Скажу честно, что я очень неохотно и скептически относился к этой задаче. Уговаривал клиента перевести магазины на УТ 11, и не морочить голову "ни себе ни людям". Но клиент просто наотрез отказывается уходить от УТП. В программе, кроме розничных магазинов, работают и бухгалтера и интернет магазин, и много чего еще было сделано за 7 лет, и никто не хочет переезжать на новые рельсы. Под натиском коллектива хозяева пошли на поводу общественного мнения, и переводить розничные продажи в УТ 11 отказались.
На этом присказка закончилась и началась работа.
Поставленные задачи
Список поставленных задач, которые нужно было решить в УТП состоял из:
- Кардинально и качественно расшить возможности подсистемы предоставления скидок.
- Внедрить учет бонусных баллов.
- Внедрить учет подарочных сертификатов.
- Реализовать отправку СМС из 1С.
- Реализовать возможность работать с отложенными чеками в РМК (рабочем месте кассира)
- Дать маркетологам информацию о среднем чеке.
После анализа поставленных задач, стало понятно, что порядок их придется немного изменить.
Подсистему скидок, бонусов и сертификатов было решено брать из УТ 11.4.6. Оттуда же решено брать и подсистему отправки СМС.,
Для задачи по среднему и отложенному чеку было решено использовать конфигурацию 1С:Розница 1.0. Кроме того, для этой задачи необходимо было доработать в УТП закрытие кассовой смены для того, чтобы чеки не удалялись а архивировались, и оставались в базе.
Как выполнялся перенос объектов
Первое что было сделано для работы управляемых форм в обычном приложении — это в конфигураторе была включена соответствующая настройка, и изменен режим совместимости до версии 8.3.6., который в последующем пришлось поднять до 8.3.8.
План работ:
- Перенос объектов метаданных.
- Поиск и замена ссылок на существующие в УТП объекты метаданных в формах и реквизитах.
- Перенос текстов модулей.
- Поиск и замена ссылок на существующие в УТП объекты метаданных в текстах модулей.
- Восстановление потерянных связей полей.
- Доработка новых механизмов, согласно требований заказчика.
Поскольку основным справочником подсистемы скидок в УТ 11.4., является справочник "Скидки (наценки)", то в первую очередь анализ был начат именно с него.
Сперва были проанализированы все реквизиты, и в УТП были перенесены все объекты, на которые эти реквизиты ссылались (перечисления, определяемые типы и т.д.). Поля ссылающиеся на справочник или документ пропускались.
После это анализировалась каждая форма, обрабатываемого справочника. Просматривались свойства всех элементов, параметров, динамических списков и команд. Если в них были ссылки на перечисления и другие простые типы, они тоже сразу копировались из УТ 11.
После того как поля с простыми типами были обработаны, справочник копировался из УТ 11 в УТП.
После этого анализировались и обрабатывались все сложные поля, ссылающиеся на другие справочники, документы, ПВХ и т.д. Кроме того, если в анализируемом поле была ссылка на объект из УТ11, для которого в УТП есть свой аналог, сразу же выполнялась замена типа значения на имеющийся в УТП объект.
Таким образом, в ручном режиме были перенесены и обработаны все необходимые объекты (перечисления, документы, справочники, регистры, констант, функц. опции, общие формы, определяемые типы и др.). Технически перенос структуры состоял из анализа каждого свойства каждого объекта, и переноса его связей.
После этого выполнялся ручной проход всех текстов всех модулей для каждого перенесенного объекта, с целью закомментировать текст модуля каждой процедуры и функции, но оставить сам вызов. Текст модуля в динамических списках также был закомментирован.
В процессе переноса, каждый раз делались неоднократные сравнения текущей структуры УТП с cf файлом УТ11, чтобы обнаружить потери связей в полях форм, в параметрах выбора и т.д. Вручную выполнялось восстановление этих связей.
После того как были перенесены все необходимые новые объекты, стал вопрос с переносом тех объектов, которые уже есть в УТП, но имеют другое название в дереве метаданных. Например справочник "Информационные карты" в УТ 11 называется "Карты лояльности", а справочник который в УТП имеет название "Виды дисконтных карт", в УТ 11 называется "Виды карт лояльности". Кроме того, структура этих справочников сильно отличается в УТП и УТ 11.
Для таких объектов, из УТ 11 были перенесены недостающие реквизиты, управляемые формы и модули менеджера и объекта.
После чего текст перенесенных процедур и функций был закомментирован, аналогично выше описанному способу.
Когда работа по переносу структуры была завершена, началась работа с алгоритмами. Тексты модулей были раскомментированы и оптимизированы для работы в среде УТП.
Данная работа проходила по следующему сценарию:
- Для каждого нового или измененного объекта открывался текст модуля объекта.
- Вручную выполнялся проход каждой процедуры-функции, и раскомментировался текст внутри.
- Далее проверялась каждая строка раскомментированного модуля и подвергалась анализу.
- Процедуры и функции, связанные с переопределением методов, обратно комментировались.
- В УТ 11.4.6. имеются вызовы процедур которые ссылаются на процедуры общих модулей, текст которых пустой. Это сделано специально для работы расширений сторонних разработчиков. Данные вызовы в УТП закомментированы т.к. для нормальной работы с расширениями нужно, чтобы режим совместимости был 8.3.9 и выше.
- Процедуры и функции связанные с динамически подключаемыми командами тоже комментировались обратно.
- Для тех процедур и функций, которые ссылались на общие модули, было выполнено копирование общих модулей из УТ 11 в УТП.
- После копирования каждого общего модуля, весь его текст был закомментирован, в т.ч. и названия процедур и функций.
- После этого раскомментировалось объявление (название) только той процедуры-функции, которая вызывалась из проверяемого справочника или документа.
- В самом конце были обработаны тексты процедур-функций общих модулей, вызовы которых были раскомментированны.
- Если в тексте процедуры-функции общего модуля были вызовы на процедуры-функции других общих модулей, описанная выше операция повторялась.
- Сперва переносился общий модуль.
- Далее весь текст общего модуля комментировался.
- Далее раскомментировался только вызов нужной процедуры-функции
- Потом раскоментировался текст самой процедуры
- Выполнялся построчный и пошаговый анализ программного кода.
Местами приходилось сразу изменять текст запросов и модулей, подгоняя их под структуру УТП.
Далее начался этап отладки работы подсистемы в пользовательском режиме.
На этом этапа пришлось изменять тексты модулей динамических списков, модулей объектов, общих модулей, схем заполнения, добавлять недостающие картинки, элементы стилей и т.д. — в общем все то, что начинает компилироваться и использоваться в рабочих условиях.
Когда все это заработало, был доработан документ "Чек ККМ". В него были добавлены недостающие поля и табличные части для учета бонусов и т.д. Кроме того в форму документа (не РМК) была добавлена кнопка "Рассчитать скидки", и функция для запуска процедуры расчета скидок, чтобы отладить алгоритм расчета и заполнения документа скидками. Заодно эта функция позволяла протестировать такие виды скидок как: «Показать сообщение» и «Выдача и замена карты лояльности».
Когда и это было сделано, и функция расчета скидок заработала, была изменена форма РМК кассира и алгоритм закрытия кассовой смены.
К слову, очень интересно было совмещать программный код для управляемых форм работающий в режиме работы без модального открытия форм, с кодом работающим в обычном приложении. И оказалось что все замечательно работает.
Когда данный процесс был завершен, настала очередь этапа нормализации структуры базы — т.е. удаление тех механизмов, для которых в УТП нет назначения, и изменение тех, для которых в УТП есть свои аналоги.
Например, подсистема скидок в УТ 11 использует для своих целей, как справочник "Контрагенты" так и справочник "Партнеры". Но в УТП есть только один справочник "Контрагенты", а справочник "Партнеры" отсутствует.
При переносе подсистемы скидок из УТ 11 в УТП, все ссылки на справочник "Партнеры" были заменены на справочник "Контрагенты". Это так же коснулось и сегментов партнеров, которые в УТП "превратились" в сегменты контрагентов.
От переноса модели учета по партнерам было решено отказаться, т.к. в этом нет никакой необходимости в УТП. Кроме того, это привело бы к необходимости изменять в УТП подсистему учета взаиморасчетов, а это уже является избыточным.
В итоге мой «франкенштейн» ожил и начал ходить.
Как выполнялся перенос.
Что из этого получилось
В первую очередь были решены следующие задачи:
- Возможность работать с отложенными чеками в РМК (в рабочем месте кассира).
- Дать маркетологам информацию о среднем чеке.
Для этого из конфигурации 1С:Розница 1.0. в документ «Чек ККМ» было добавлено поле «Статус чека» с вариантами:
- Отложенный
- Аннулированный
- Пробитый
- Архивный
А так же перенесены некоторые доработки в механизм закрытия кассовой смены для того, чтобы чеки не удалялись а «архивировались».
Для анализа среднего чека и статистики из розницы 1.0 были перенесены следующие отчеты:
-
Отчет по чекам ККМ
-
Статистика чеков ККМ
-
Статистика чеков ККМ по дням недели
-
Статистика чеков ККМ в разрезе рабочего времени (интервал в часах)
Благодаря тому что конфигурации УТП и Розница 1.0 являются программами одного поколения, и имеют схожую структуру, то отчеты взятые из 1С:Розница 1.0. заработали в УТП почти без доработок.
Когда перенесли и сформировали отчеты по чекам, увидели что они умеют использовать данные счетчиков посетителей. В итоге из розницы 1.0 забрали и эту функцию.
Механизмы загрузки данных из счетчиков посетителей тоже перенеслись с незначительными доработками
Нашли счетчики которые умеют выгружать данные в автоматическом режиме в файлы. Нашли продавца. Все поставили за пару недель и настроили — короче работает.
После этого перенесли из Розницы 1.0. функцию "Отложить чек" и "Продолжить отложенный чек".
Для этого перенесли форму выбора отложенного чека и пару процедур для РМК
Тоже оказалось ничего сложного. Все заработало, как будто так и было изначально.
И наконец, самой сложной оказалась задача сделать возможность возвращать товар, проданный в предыдущие дни, при помощи чека на возврат из РМК.
Для этого потребовалось доработать документы "Чек ККМ", "Отчет о розничных продажах" и обработку "Закрытие кассовой смены".
Для чека изменений было не много, но вот с отчетом о розничных продажах пришлось повозиться. Причем после решения данной задачи оказалось, что доработок в документе нужно минимум — в трех местах по десятку строк кода. Но для того чтобы найти эти места в алгоритме проведения, в которые нужно было внедриться, пришлось потратить несколько десятков часов.
Дело в том, что штатный алгоритм проведения отчета о розничных продажах сперва списывает товар при продаже, а только потом регистрирует поступление товара от операции возврата.
Получается, если на остатке было 0 (ноль) шт. и товар был возвращен покупателем, но в тот же день был продан другому покупателю, то при проведении документа мы получим сообщение об ошибке о том, что товара нет в наличии. Так как штатный алгоритм хочет первым делом провести операцию продажи — списать, и только потом операцию возврата — оприходовать. Но т.к. на остатке 0, то продавать и нечего. Программа себя ведет так потому, что в нее заложено, что возвраты должны быть проведены раньше по времени документом — возвратная накладная. Именно это поведение пришлось изменить.
После этого начался перенос подсистемы скидок из УТ 11.4.6 в УТП. И вот что удалось перенести и заставить работать.
Для быстрого доступа к объектам с которыми пришлось работать было создано меню "Скидки 11.4".
В меню представлены почти все объекты которые были перенесены из УТ 11, или изменены в УТП. Кроме того, по нему уже можно составить общую картину новой подсистемы и того что нужно переносить.
Справочник "Скидки (наценки)"
Текст из справки в УТ 11 к данному справочнику:
Главным справочником в новом механизме является справочник «Скидки (наценки)»
Справочник предназначен для описания всех возможных скидок/наценок, применяемых на предприятии и определения правил их взаимного применения. Каждая группа справочника является категорией и определяет правила совместного применения скидок внутри категории.
Т.к. весь модуль был заимствован из программы 1С Управление торговлей 11.4., то подробную информацию о том, как заполнять и настраивать данный справочник можно получить из меню «Справка», с сайта ИТС, а так же из много численных ресурсов в интернете.
Форма списка скидок перенесена полностью, кроме особенностей интерфейса ТАКСИ. Т.е. форма имеет цвет фона не белый, а желтый и вместо меню "Еще" — в УТП отображается меню "Все действия". Мною не найден способ как открыть управляемую форму в режиме ТАКСИ, в обычном приложении. Кроме того, судя по информации из интернета, его и не существует.
Кнопки управления порядком применения скидок добавлены отдельными командами, т.к. модули динамически подключаемых команд не переносились. В этом пока нет необходимости.
Форма элемента тоже перенесена со всеми возможностями. Работают все варианты скидок, все гиперссылки для уточнений и т.д.
Исключением является функция "Разрешить редактирование реквизитов". Данная возможность не переносилась, и при открытии, форма сразу же становится доступна для редактирования. Это сделано намерено, т.к. УТП, и вообще все конфигурации предыдущего поколения, нет таких условностей. Это относится ко всем объектам заимствованным из УТ 11.
Кроме того, для данного справочника была доработана функция подключения внешних обработок расчета скидок. Основной особенностью является то, что если внешняя обработка расчета скидок имеет форму настройки, то данная форма, для работы в УТП, должна быть обычной, а не управляемой.
Таким образом, можно взять любую внешнюю обработку расчета скидок разработанную для УТ 11.4. Переделать управляемую форму на обычную, и после этого подключить и использовать данную обработку в УТП.
Справочник "Условия предоставления скидок"
Данный справочник является вспомогательным для справочника «Скидки (наценки)», и используется для указания условий при которых скидки должны срабатывать.
Из УТ 11.4. перенесены все функции данного справочника. Так же работают гиперссылки для уточнений и отборов.
Кроме того, в был добавлен новый вариант в условие предоставления скидки "За накопленный объем продаж". Теперь можно проверять накопленный объем продаж не только по клиенту, но и по каждой карте лояльности отдельно.
Для работы этого механизма в штатные объекты УТП были внесены следующие изменения:
- в оборотный регистр накопления "Продажи" было добавлено новое измерение "Карта лояльности".
- в документ "Отчет о розничных продажах", в табличную часть "Товары" добавлены колонки "Контрагент" и "Карта лояльности".
- Изменен алгоритм закрытия кассовой смены.
- Изменен алгоритм проведения документов "Чек ККМ" и "Отчет о розничных продажах".
- Изменены некоторые общие модули отвечающие за расчет скидок, перенесенные из УТ 11.
Новая возможность добавлена по требованию заказчика.
Справочник "Бонусные программы лояльности"
Текст из справки в УТ 11 к данному справочнику:
Справочник предназначен для регистрации бонусных программ лояльности с возможностью начисления бонусных баллов, с целью их дальнейшего использования при оплате розничных покупок. Бонусные баллы начисляются на карту лояльности клиента. При оплате покупки бонусные баллы пересчитываются в определенную сумму в соответствии с указанным для них курсом конвертации.
Начисление бонусов и оплата бонусными баллами производится только при оформлении документа Чек ККМ.
Кроме того, в данный справочник был доработан. Добавлен переключатель «Запретить оплачивать бонусами товар со скидкой».
- Если переключатель установлен в значение «Нет», тогда будет работать штатный алгоритм УТ 11.4.6., который уменьшает макс. процент оплаты бонусами на процент скидки.
Например: в настройках бонусной программы указали макс. процент оплаты бонусами — 30%. При продаже, в чеке рассчиталась скидка по строке — 5%. Штатный алгоритм уменьшает макс. процент оплаты бонусами, на процент предоставленных скидок. Таким образом, исходя из данного примера, штатный алгоритм рассчитает новый макс. процент оплаты бонусами — 25% ( = 30% — 5%). Когда покупатель захочет оплатить товар бонусами, программа позволит оплатить бонусами только 25% стоимости товара, а не 30%.
- Если переключатель установлен в значение «Да», тогда программа позволит оплачивать бонусами только тот товар, на который в строке чека вообще не назначены скидки.
Новая возможность добавлена по требованию заказчика.
Справочник "Правила начисления и списания бонусных баллов"
Справочник используется для настройки правил начисления или списания бонусных баллов в ручном или автоматическом режиме. Данный справочник используется в нескольких случаях:
- В документе «Начисление – списание бонусных баллов».
- В регламментных заданиях, которые в автоматическом режиме выполняют начисление или списание бонусных баллов.
Были успешно перенесены все возможности данного справочника:
- Алгоритмы работы всех форм справочника.
- Алгоритмы регламентированных заданий.
- Макеты схемы компоновки данных.
У данного справочника в УТ 11, для правила "Списание бонусов" существует схема компоновки данных — "Списание при отсутствии продаж", в которой анализируется регистр накопления "Выручка и себестоимость", которого нет в УТП. Вместо него в УТП существует регистр "Продажи". Таким образом, для работы данных функций в УТП, такие алгоритмы были доработаны.
Кроме, того данный справочник был доработан.
Для правила "Начисление бонусов", была добавлена новая схема компоновки данных "Начисление при переходе с накопительных скидок".
Данная схема была разработана для того, чтобы автоматически заполнить документ "Начисление — списание бонусных баллов" для ввода начальных остатков бонусов по всем покупателям.
Для этого был использован отчет (запрос взятый из отчета) "Продажи по дисконтным картам", который был так же доработан для того, чтобы из него можно было получить не только накопленную сумму продажи и скидки по каждой карте лояльности, но и процент порога накопительных скидок. Который соответствует накопленной сумме продаж по карте. Для тех кому описание кажется сложным для понимания, ниже идет пример.
Пример.
При переходе на бонусную систему нужно полностью отказаться от старой системы накопительных скидок по картам. При этом не нужно создавать новые карты (позиции в справочнике "Информационные карты"). Пользователь хочет использовать уже существующие элементы справочника.
Кроме того, пользователь решает что при переходе на бонусы, всем покупателям будет предоставлено некоторое количество бонусов исходя из накопленного объема продаж на карте.
Например, если у покупателя на карте накопленная сумма продаж равна 0 до 5 тыс., тогда покупателю единоразово начисляется бонус в размере 200.00 баллов. Если на карте — от 5 тыс. до 10 тыс., тогда — 500.00 баллов, и т.д.
Но мой заказчик предпочел оперировать не накопленной суммой продаж, а процентом скидки который предоставляется исходя из установленных порогов накопительных скидок, который в УТП устанавливается соответствующим документом.
Для этого необходимо получить информацию, желательно в виде отчета, в котором будет список карт лояльности, накопленная сумма продаж по каждой карте, и самое главное, будет указан процент скидки, который соответствует действующему порогу накопительных скидок. Но проблема в том, что в УТП нет такого отчета, и данную информацию получить автоматически невозможно.
Но в УТП существует отчет "Продажи по дисконтным картам", который отображает только часть необходимых данных: Список дисконтных карт и накопленную сумму продаж.
Таким образом, пользователю необходимо сформировать данный отчет в 1С, сохранять его в Excel и после этого заполнять вручную процент накопительных скидок, вытаскивая эти данные из 1С.
Именно для решения данной задачи в УТП был доработан штатный отчет "Продажи по дисконтным картам", в который было добавлено несколько новых колонок т.ч. и "Процент порога".
Так вот, возвращаясь к правилу начисления бонусных баллов "Начисление при переходе с накопительных скидок" нужно пояснить, что новый макет схемы компоновки данных содержит аналогичный алгоритм, и позволяет автоматически заполнить документ "Начисление бонусов" всеми необходимыми данными для начального ввода бонусных баллов по каждому покупателю.
Справочник "Сегменты номенклатуры"
Справочник предназначен для объединения номенклатуры в однородные группы (сегменты), и хранения списка всех сегментов номенклатуры определенных на предприятии. После формирования сегментов номенклатуры, пользователи могут использовать эту информацию для предоставления скидок и бонусов, только на номенклатуру из указанных сегментов.
Были успешно перенесены все возможности данного справочника:
- Формирование сегментов вручную.
- Формирование динамическое.
- Автоматическое обновление сегментов по расписанию.
- Отчеты по составу и пересечению сегментов, и остальные.
Текст из справки в УТ 11 к данному справочнику:
Предусмотрены следующие способы формирования сегментов:
- Динамический – набор номенклатуры сегмента не хранится в таблицах базы данных, хранятся только правила его формирования. Состав сегмента формируется автоматически при вызове состава сегмента из карточки сегмента.
- Периодическое формирование – набор номенклатуры хранится в таблицах базы данных. Состав сегмента формируется при нажатии на кнопку Сформировать, или при выполнении соответствующего данному сегменту регламентному заданию, по расписанию, определенному пользователем.
- Формирование «вручную» – пользователь может добавить или удалить номенклатуру сегмента (при этом предоставляется возможность предварительно сформировать набор номенклатуры по правилам, определенным для сегмента).
Правила формирования сегментов.
Правила формирования сегмента задаются непосредственно в форме сегмента в отдельном диалоговом окне, которое открывается при нажатии на кнопку Редактировать. Пользователь может использовать шаблоны настроек (Схема компоновки данных), с помощью которых формируются правила формирования сегмента номенклатуры.
Предусмотрены два шаблона настроек правил формирования сегмента:
- Основная схема. С помощью этой схемы можно произвести отбор элементов из справочника номенклатура по группам номенклатуры, характеристикам и т.д.
- По продажам. При использовании этой схемы к тем отборам, которые предусмотрены в основной схеме, добавляется отбор по показателям, связанным с продажей позиции номенклатуры: валовая прибыль, оборот, количество проданной номенклатуры, себестоимость и т.д. Используя эти показатели можно например, сформировать сегмент номенклатуры по тем товарам, которые плохо продавались в прошлом периоде и назначить скидки для этих товаров.
При формировании сегментов номенклатуры можно также использовать любые произвольные запросы. Для формирования запросов используется произвольная схема компоновки данных.
Для корректной работы данных функций в УТП, алгоритмы схем компоновок были доработаны. Т.к. в УТП нет регистра накопления "Выручка и себестоимость", то алгоритм был позаимствован из существующего в УТП отчета "Валовая прибыль", а сам запроса был переделан в режим работы при помощи временных таблиц.
Кроме того, пока нет возможности использовать свойства и категории т.к. этот механизм в УТП существенно отличается от реализованного в УТ 11. Но планы добавить свойства и категории имеются.
Справочник "Сегменты контрагентов"
Справочник предназначен для объединения контрагентов в однородные группы (сегменты), и хранения списка всех сегментов контрагентов определенных на предприятии. После формирования сегментов контрагентов, пользователи могут использовать эту информацию для предоставления скидок и бонусов, только контрагентам из указанных сегментов.
Справочник выглядит и работает аналогично, выше описанному справочнику "сегменты номенклатуры", только объединяет не товары, а покупателей.
Особенностью справочника являются собственные схемы компоновки данных, которые позволяют сформировать состав сегмента не только по данным продаж, но и по данным состояния взаиморасчетов и событий с контрагентами.
Текст из справки в УТ 11 к данному справочнику:
Правила формирования сегмента задаются непосредственно в форме сегмента в отдельном диалоговом окне, которое открывается при нажатии на кнопку Редактировать. Пользователь может использовать шаблоны настроек (Схема компоновки данных), с помощью которых формируются правила формирования сегмента.
Для сегмента клиентов предусмотрены следующие шаблоны настроек правил формирования:
- Основная схема. С помощью этой схемы можно произвести отбор клиентов по все полям контрагента. Например по региону.
- По взаимодействиям. При использовании этой схемы к тем отборам, которые предусмотрены в основной схеме, добавляется отбор по показателям, связанными с взаимодействиями с клиентом. Используя эти показатели можно, например, сформировать сегмент по тем клиентам, с которыми давно не было взаимодействий и возобновить с ними отношения.
- По продажам. При использовании этой схемы к тем отборам, которые предусмотрены в основной схеме, добавляется отбор по показателям, связанным с продажей товаров партнерам: валовая прибыль, оборот, количество проданной номенклатуры, себестоимость и т.д. Используя эти показатели можно отслеживать выполнение условий продаж клиентами (например, сумма оборота за квартал больше 10000 рублей), автоматически исключать из сегмента клиентов, не выполняющих свои обязательства и соответственно применять к ним другие условия продаж (типовые соглашения).
- По расчетам. При использовании этой схемы к тем отборам, которые предусмотрены в основной схеме, добавляется отбор по показателям, связанным с взаиморасчетами: долг клиента и наш долг. Используя эти показатели можно отслеживать список тех клиентов, сумма долга которых превышает заданные показатели.
При формировании сегментов клиентов можно также использовать любые произвольные запросы. Для формирования запросов используется произвольная схема компоновки данных.
Данный справочник тоже был доработан, аналогично выше описанному — "сегменты номенклатуры", а именно алгоритм для схемы:
- "По продажам" — был взят из отчета "Валовая прибыль".
- "По расчетам" — был модифицирован для работы с регистром накопления "Взаиморасчеты с контрагентами".
- "По взаимодействиям" — был модифицирован для работы с документами "Событие" и задачами пользователей. Я думаю, что в данный алгоритм так же нужно добавить информацию из выставленных счетов, заказов и других первичных документов, чтобы иметь возможность формировать сегменты по условиям типа: по дате последнего счета (заказа), или по количеству выставленных счетов (заказов) и т.д.
Как и в случае с справочником "сегменты номенклатуры", пока невозможно использовать свойства и категории контрагентов.
Документ "Начисление-списание бонусных баллов"
Документ предназначен для начисления и списания бонусных баллов на карту лояльности, в рамках бонусной программы лояльности.
Бонусные баллы начисляются/списываются двумя способами:
- Вручную — при вводе остатков по бонусной программе и прочих случаев единовременного начисления/списания бонусов.
- Автоматически — при помощи регламентного задания по начислению и списанию бонусных баллов по правилам, зарегистрированным в справочнике Правила начисления и списания бонусных баллов.
Остатки бонусных баллов регистрируются по каждой бонусной программе лояльности.
Были успешно перенесены все функции данного документа.
Прочие вспомогательные справочники
Справочник "Графики оплат"
Справочник хоть и был перенесен, и используется в подсистеме скидок, но в розничной торговле он не используется. Поэтому пока я не доберусь до внедрения новой подсистемы в учет оптовых продаж, его использовать будет негде.
Справочник "Шаблоны магнитных карт"
Справочник предназначен для хранения и автоматической регистрации шаблонов магнитных кодов карт лояльности. При вводе в действие карт лояльности с магнитным кодом достаточно будет последовательно считать данные с дорожек карты и зафиксировать данные о шаблонах магнитных кодов, применяемых для данного вида магнитных карт.
Ссылка на данный справочник используется в табличной части "Шаблоны кодов", которая добавлена в справочник "Виды дисконтных карт".
Справочник "Соглашения с клиентами"
Т.к. моей задачей на данный момент является перенос подсистемы скидок из УТ 11.4 для розничных продаж, то данный справочник перенесен только из-за ссылок на него в подсистеме скидок, и из-за моих планов внедрить подсистему для учета оптовых продаж.
Таким образом, на данный момент в УТП его использовать тоже негде.
Кроме того, при внедрении данной подсистемы в учет оптовых продажах, я буду приводить алгоритмы к методике заложенной в УТП. Поэтому те механизмы и алгоритмы, которые в УТ 11.4 ссылаются на справочники: Типовые соглашения и Соглашения с клиентами, в УТП скорее всего будут изменены для работы с справочником Контрагенты и Договоры контрагентов.
В общем здесь еще предстоит поработать.
Кроме того были изменены и несколько штатных справочников в УТП.
Справочник "Виды дисконтных карт"
Аналогом данного справочника в УТ 11.4 является справочник Виды карт лояльности. Но самое интересное, что в УТП в данном справочнике нет реквизитов. Кроме названия вида дисконтной карты, УТП из этого справочника больше ничего не использует. Поэтому добавление в него новых реквизитов и форм можно представить как перенос всего справочника из УТ 11.4.
Были успешно перенесены все функции данного справочника.
Кроме того справочник был немного доработан.
Добавлено поле "Группа для новых держателей карт". Поле ссылается на справочник Контрагенты и предназначено для того, чтобы при регистрации нового покупателя — владельца дисконтной карты, программа его создавала не в корне справочника, а в указанной группе.
Справочник "Информационные карты"
Аналогом данного справочника в УТ 11 является справочник Карты лояльности.
Самое интересное, что в этот справочник пришлось добавить всего два поля: "Статус" и "Магнитный код", и вывести их на форму. Поэтому показывать в форме элемента (в карточке) нечего, она осталась практически не измененной, кроме флага "Была выполена ручная корректировка …", о котором будет сказано ниже.
Кроме того, из УТ 11 в данный справочник были перенесены две формы:
- Форма помощника регистрации карты и покупателя.
- Форма считывания карты лояльности.
Но в итоге, вместо этих форм были разработаны собственные, поскольку моему заказчику оказалось недостаточно тех возможностей, которые эти формы предоставляют.
Одной из основных задач, была реализация функции отправки SMS с проверочным кодом на номер телефона владельца карты при продаже, независимо от того? каким способом будет производится оплата (бонусами, наличными или др.).
Проще говоря, когда кассир желает применить карту лояльности в чеке, программа в любом случае должна отправить SMS с проверочным кодом владельцу. И только после того? как владелец сообщит правильный код кассиру, и тот его введет в программу, карта будет применена в чеке, и программа позволит расплачиваться бонусами и начислять бонусы.
Кроме того, мой заказчик беспокоится о корректности и актуальности информации о персональных данных покупателей. ФИО покупателя, его номер телефона, город проживания и дата рождения являются важными и обязательными атрибутами для получения карты лояльности, т.к. в магазинах часто происходят различные маркетинговые мероприятия и акции, и об этом нужно оповещать покупателей.
Но продавцы часто злоупотребляют программами лояльности для своей личной выгоды, или не добросовестно относятся к своим обязанностям по пополнения базы персональными данными покупателей.
Для решения обеих, вышеописанных задач, было решено разработать собственные формы:
- для поиска карты лояльности по штрихкоду (магнитному коду).
- для поиска карты лояльности по номеру телефона владельца.
В обеих формах реализована возможность активации карты в чеке по SMS. Т.е. данная функция может быть включена или выключена в настройках учета, в новой форме настройки констант.
Кроме того, в новых формах имеется страница для проверки обязательных полей. Если хотя бы одно из обязательных полей не заполнено, помощник не перейдет на следующий этап, и соответственно карту невозможно будет применить в чеке.
Форма поиска карты по штрихкоду (магнитному коду)
Форма поиска карты по номеру телефона
Обе формы имеют существенные отличия только на первой странице, предназначенной для ввода номера телефона или штрихкода (магнитного кода). При переходе на следующие страницы помощника, обе формы работают совершенно одинаково. Сперва они считывают личные данные покупателя, и отображают их продавцу. После этого продавец должен проверить личные данные покупателя и отправить ему СМС с проверочным кодом.
Если не все обязательные данные заполнены или продавец видит, что данные заполнены некорректно, он должен их отредактировать, и вручную указать всю необходимую информацию.
В итоге:
- Если продажа состоится, компания получит актуальные личные данные покупателя, и в структуре подчиненности документов по данному заявлению можно будет перейти на документ Чек ККМ. Это поможет менеджеру в главном офисе, позже начислить бонусы.
- Если продажа по каким либо причинам не состоится, тогда компания все равно получит актуальные данные покупателя.
Кроме того, если по каким либо причинам продавцу необходимо откорректировать личные данные покупателя немедленно, а он такой возможности не имеет, тогда он может перезвонить в главный офис, и попросить ответственного менеджера предоставить такую возможность.
Например покупатель поднял скандал из-за того, что не может рассчитаться бонусными баллами, т.к. программа не позволяет применить карту по причине того, что у покупателя изменился номер телефона, а в программе указан "старый", и у кассира уже нет возможности повторно вносить ручные корректировки.
В этом случае менеджеру главного офиса достаточно найти информационную карту в справочнике. Открыть карточку и снять флажок "Была выполнена ручная корректировка…", и сообщить об этом продавцу. Тогда продавец еще раз выполнит поиск карты, и у него еще один раз появится возможность внести необходимые корректировки, пройти верификацию по SMS и применить карту к Чеку ККМ.
Форма помощника регистрации нового покупателя (новой карты лояльности)
Данная форма так же была переделана, потому что заказчика совершенно не устраивает то, как этот механизм работает в УТ 11.4. Особенно его не устраивает способ, которым предлагается заполнить информацию о владельце карты лояльности.
Кроме того, при регистрации нового покупателя так же необходимо отправлять SMS с проверочным кодом на номер телефона будущего владельца карты.
В итоге, форма помощника регистрации нового покупателя стала похожа на, описанные выше формы поиска карты, в которой продавец должен заполнить обязательные поля, и пройти процедуру проверки через отправку SMS.
Но задачи, связанные с заменой одной карты на другую, будут временно решаться штатным, перенесенным из УТ 11.4 помощником.
Виртуальные карты лояльности.
Еще одним интересным моментом в этом процессе, является необходимость внедрения еще одного нового вида карты лояльности. Сейчас в программе существует три вида карт лояльности: штриховая, магнитная и смешанная. Но в моем случае, пластиковых карт выданных покупателю, может не быть вовсе. У старых покупателей есть пластиковые штриховые карты, а у новых покупателей карт не будет. Но будет запись в базе о том, что покупатель участвует в бонусной программе лояльности.
Так как для 1С и подсистемы скидок необходима привязка в карте, то логичнее всего создать еще один вид карты — виртуальная (или электронная), которая будет и не штриховая, и не магнитная. В этом случае, становится логичным использование виртуальных карт, например в качестве промо-кодов. Поставил себе галочку подумать об этом позже.
Кстати, в окне сообщений, которое открывается для регистрации нового покупателя, я изменил информационные надписи так, чтобы они больше соответствовали действительности. И теперь надпись "Выдать карту лояльности" изменено на — "Подключить клиента к программе лояльности".
Документ "Заявление на изменение персональных данных"
У моего заказчика появилось особенное требование к поведению программы при считывании карты лояльности в РМК кассира.
Личные данные покупателя, продавец может откорректировать вручную только один раз. В дальнейшем, изменить личные данные покупателя можно только по заявлению, которое отправляется в главный офис на рассмотрение. В главном офисе, ответственный менеджер лично принимает решение о принятии изменений, и начислении бонусов. Но в этом случае, покупатель не сможет рассчитаться бонусными баллами при покупке.
Для этого в УТП, в карточку дисконтной карты добавлен флажок "Была выполнена ручная корректировка…". Когда продавец первый раз введет или изменит персональные данные покупателя, программа установит эту "галку" в карточке дисконтной карты. Когда в следующий раз продавец считает карту лояльности по штрихкоду или номеру телефона, на странице с личными данными покупателя, вместо кнопки "Редактировать", программа отобразит кнопку "Заявление".
При нажатии на кнопку "Заявление", программа сделает поля доступными для редактирования, но после ввода данных и проверки по SMS, персональные данные не изменяться. Вместо этого в базе будет создан новый документ "Заявление на изменение персональных данных", и на принтере распечатается анкета. С анкетой покупатель должен ознакомится и подписать. Подписанные анкеты должны попасть в главный офис.
Собственно сам новый документ был разработан с нуля, имеет не сложную форму, и позволяет наглядно увидеть текущие персональные данные покупателя и новые, введенные кассиром. Для обновления персональных данных, пользователь нажимает на кнопку "Применить новые данные". В документе сохраняется информация до изменения и после.
Кроме того, вместе с обновлением персональных данных программа находит документ Чек ККМ, в котором есть ссылка на данное заявление, и дописывает в этот чек дисконтную карту и владельца карты. Это необходимо для нескольких моментов:
- для отложенного начисления бонусов,
- для того, чтобы продажа покупателя была учтена в общем объеме накопленных продаж.
Для того, чтобы доначислить бонусные баллы, пользователь должен на основании данного заявления, ввести документ "Начисление списание бонусов". В этом случае, программа снова определит нужный чек ККМ, и автоматически рассчитает сумму бонусных баллов.
Для этого программа использует алгоритм, заимствованный из УТ 11, из отчета "Примененные скидки", который тоже был успешно перенесен из УТП.
После этого пользователь должен определить, нужно ли учесть данную продажу в накопленный по покупателю объем или нет.
Если заявление рассматривается до закрытия кассовой смены, тогда пользователю достаточно применить новые данные и провести данный документ.
Если заявление рассматривается после закрытия кассовой смены, пользователь должен перейти на закладку "Накопленный объем продаж" и нажать "Заполнить". Программа заполнит таблицу товарами и суммами из чека ККМ. Менеджер должен проверить через структуру подчиненности наличие или отсутствие возвратов, при необходимости вручную откорректировать строки в табличной части "Накопленный объем продаж" и провести документ. При проведении будут откорректированы движения в регистре "Продажи" и "Продажи себестоимость" для того, чтобы данная продажа была зафиксирована за покупателем — владельцем карты. Корректировка движений выполняется методом "Сторно".
В конце всех манипуляций, менеджер может прямо из документа отправить SMS покупателю, нажав на соответствующую копку "Написать SMS".
Справочник "Контрагенты"
В справочник "Контрагенты" было добавлено всего да новых поля "Дата рождения" и "Пол".
Справочник "Типы цен номенклатуры"
В справочник добавлено одно поле "Статус" с вариантами: "Активно" и "Не активно".
УТ 11 использует это информацию для автозаполнения новых документов и справочников, а так же для скрытия из списка не используемых типов цен. Данный механизм перенесен и в УТП.
- Автозаполнение используется при вводе новых скидок с типом "Специальная цена"
- Для скрытия из списка неактивных типов цен, были изменены формы выбора и списка, а также изменен алгоритм выбора типов цен в документе "Установка цен номенклатуры" и форма подбора товаров.
Документ "Отчет о розничных продажах".
Изменена табличная часть "Товары". Добавлены поля:
- Сумма ручной скидки.
- Сумма автоматической скидки.
- Номенклатура набора.
- Характеристика набора.
- Контрагент.
- Дисконтная карта.
- Сумма бонусных баллов к списанию.
Добавлены новые табличные части:
- Начисление бонусных баллов.
- Оплата бонусными баллами.
- Подарочные сертификаты.
Изменен алгоритм проведения документа для того чтобы записывать новые данные в новые регистры.
Изменена форма документа для отображения новых данных.
Документ "Чек ККМ"
В документ добавлены новые поля, аналогично документу "Отчет о розничных продажах", и так же изменен алгоритм проведения. Но форма документа была изменена существеннее, где общий стиль расположения данных был заимствован из УТ 11.
РМК — Рабочее место кассира
Форма РМК кассира была несущественно переделана, но расширена новыми функциями.
1. Была добавлена верхняя информационная панель, в которой теперь отображается:
- Продавец – кассир. Продавца можно изменить, нажав левой кнопкой мыши на строку с именем.
- Сообщения кассиру. Данная строка является кнопкой, при нажатии на которую продавец увидит окно, в котором выводится важная для кассира информация, сообщения и рекомендации. Например, информация о возможности предоставить дополнительную скидку, или подключить покупателя к бонусной программе и т.д. Настройкой этих сообщений управляет менеджер по скидкам и маркетинговым мероприятиям.
2. Добавлен блок «К оплате», который содержит информацию о сумме чека, сумме скидки, и общей сумме к оплате. Данный блок принимает другой вид (аналогичный УТ11) при операции возврата товара.
3. Теперь данный блок содержит более подробную информацию о покупателе. Добавлен вывод номера телефона и суммы накопленных бонусов. Кроме того, детальную информацию о бонусах продавец может посмотреть, нажав на поле, в котором отображается количество накопленных бонусов. Откроется форма, в которой продавцу будет доступна полная информация о текущих бонусах по выбранной карте. Еще о тех бонусах, действие которых наступит в будущем, а также о датах сгорания бонусов.
4. В данный блок выводятся суммы продаж по чекам за смену.
Как можно увидеть, подробная информация о товаре теперь выводится сверху, над таблицей с товарами. Кроме того в подробное описание добавлена информация о скидке.
Прочие изменения в форме:
- Общая сумма скидки и итоговый процент скидки по чеку теперь выводится в блоке «К оплате».
- Добавлен алгоритм, который выделяет красным цветом строку в чеке, если указанное количество больше чем есть на остатке.
- В таблице с товарами появилась новая колонка «Сумма авто. и ручной скидки».
- В меню «Сервис» расположились команды для возможности отложить чек и вернуться к отложенному чеку.
- Добавлена кнопка "Рассчитать скидки".
Раньше, программа выполняла штатный алгоритм расчета скидок при любом изменении на форме. Будь-то добавление новой строки в чек, или изменение любого поля в любой строке. Даже когда пользователь открывал меню «Сервис». Данное обстоятельство нагружало программу, и форма могла работать медленно.
Новый алгоритм рассчитывает скидки только в двух случаях:
- Когда кассир нажмет на кнопку «Рассчитать скидки».
- Когда кассир «закроет чек».
Кроме того, теперь все надписи на форме обновляются только тогда, когда это необходимо.
Изменена Форма выбора способа оплаты.
Одним из главных нововведений является новая форма выбора способа оплаты, в которой возможно совершать смешанную оплату в. т.ч. и оплату бонусами.
Из УТ 11 была перенесена только одна форма смешанной оплаты.
Кнопка «Оплатить платежной картой» запускает соответствующий процесс, в котором программа запросит указать номер карты покупателя и сумму.
Кроме того, если отметить «Указать доп. данные», программа предложить ввести дополнительную информацию (ссылочный номер, номер квитанции).
Поля: «Сумма» и «Номер карты» являются обязательными, остальные – нет.
- Кнопка «Сторно оплаты картой» используется только в тех случае, когда к 1С подключен терминал. Она инициирует операцию «Сторно продажи»
- Кнопка «Оплатить бонусными баллами» запускает процесс оплаты за товар накопленными бонусами.
В этом случае, продавцу будет открыта еще одна форма, в которой будет информация о том, сколько у покупателя накоплено бонусов, и сколько можно использовать для оплаты.
Кассир может откорректировать вручную поле «Сумма оплаты» и нажать на кнопку «Оплатить баллами».
После этого форма оплаты учет сумму оплаты бонусами и рассчитает остаток к оплате.
- Поле «Наличные» заполняется продавцом вручную.
После того как сумма «К оплате» будет равна полученным средствам, кнопка «Пробить чек» станет доступной.
Новая форма Специальных сообщений.
У программы появилась новая функция отображения служебных сообщений предназначенных для того, чтобы «подсказать» продавцу о необходимости или возможности выполнить дополнительные действия при продаже. Данная возможность предоставляется через ввод скидки с типом "Выдача сообщения".
Например. При закрытии чека, для покупателя у которого нет бонусной карты, программа предложит зарегистрировать покупателя и подключить его к бонусной программе. В этом случае, когда продавец нажмет на кнопку "Рассчитать скидки" или «Закрыть чек» или «Товарный чек» программа покажет окно спец. сообщений.
В данной форме будет присутствовать кнопка «Зарегистрировать клиента», нажав на которую продавцу будет открыта форма ввода данных покупателя, аналогичная той которая открывается при поиске карты по штрихкоду.
Кроме того, если пользователь закрыл форму служебных сообщений, он всегда сможет к ней вернуться через соответствующее меню, нажав левой кнопкой мыши на надпись.
- Если пользователь не просмотрел все сообщения, надпись будет красного цвета. Если пользователь просмотрел все сообщения – синего цвета.
- Если продавец хочет чтобы просмотренное сообщение оставалось не просмотренным (красного цвета), необходимо открыть форму сообщений, установить отметку «Напомнить позже» и нажать «Закрыть»
Для того, чтобы переходить от одного сообщения к другому (листать список сообщений), необходимо нажимать соответствующие кнопки «Следующее сообщение» или «Предыдущее сообщение».
Печать товарного чека
При печати товарного чека программа выводит информацию о списанных и начисленных бонусах.
Сухие цифры
Затраты времени:
- 30 дней активной разработки.
- 5 дней отладки и шлифовки.
- 2 дня создания, отладки и выполнения обработки данных для заполнения новых полей.
- 1 день подготовка и ввод начальных данных в бонусную систему.
Итого: 230 часов.
Кроме того:
- 7 дней обучения продавцов в магазинах.
- 7 дней привыкания продавцов к новым функциям.
Вся работа выполнялась одним человеком — мной.
Планы на будущее
Следующим этапом будет выполнен перенос из УТ 11 подсистемы подарочных сертификатов.
Сложность данного участка заключается в том, что в УТ 11 продажа и возврат подарочных сертификатов реализована таким образом, что эти документы имеют форму, которая представляет из себя собственный РМК. Таким образом, в УТ 11 каждый документ продажи открывает новое — свое собственное окно рабочего места кассира. Но в УТП принцип работы РМК реализован по иному. И нужно выработать решение как перенести этот механизм в УТП.
Скорее всего документы продажи и возврата сертификата будут заменены на тот же документ ЧЕК ККМ, только для подарочных сертификатов в чек будет добавлена отдельная табличная часть. При выполнении команды "продажа сертификата" или "возврат сертификата" РМК будет переключаться в ражим работы с сертификатами. В этом режиме вместо табличной части "Товары" в РМК будет отображаться таблица "Сертификаты", а табличная часть "Товары" будет невидима.
Оплата же сертификатами будет перенесена без особых сложностей, т.к. общий принцип этого алгоритма работает аналогично оплате бонусами.
И только потом будет выполняться перенос остальных механизмов для работы данной подсистемы для оптовых продаж.
В штатных документах УТП: заказах, счетах, реализации, возвратах и т.д. уже сейчас понятно что доработок будет не много. Главным вопросом является, как перенести типовые и индивидуальные соглашения из УТ 11., в методику, заложенную в УТП.
По типовым соглашениям решение пока не принято. Но скорее всего, справочник "Соглашения с клиентами" будет перенесен из УТ11 как есть. Но само типовое соглашение в УТП будет указываться в карточке контрагента, в новом поле "Типовое соглашение".
Поскольку контрагент и договор являются в УТП обязательными полями в торговых документах, этого будет достаточно чтобы не добавлять новые поля в сами документы, но иметь возможность передавать типовое соглашение в подсистему расчета скидок.
С индивидуальными соглашения ми все просто. В справочник "Договоры контрагентов" будет добавлено новое поле "Индив. соглашение", со ссылкой на тот же справочник "Соглашения с клиентами" без признака — "Типовое".
Таким образом механизм торговых соглашений будет работать аналогично тому, как он работает в УТ 11. Но применяться в УТП будет иначе. Если в УТ 11 соглашение является обязательным реквизитом документа, а договор — нет, то в УТ будет наоборот.
С одной стороны это никак не уменьшит функциональность подсистемы скидок, а с другой — упростит доработку УТП, т.к. в штатные документы УТП не нужно будет добавлять новые поля.
История изменений
В этом разделе будет появляться информация об изменениях в данной статье.
30.03.2025
Выполнен анализ нового в подсистеме скидок в УТ 11.4.7 по сравнению с УТ 11.4.6.230 из которого был выполнен перенос.
В итоге изменений на 10 строк кода в нескольких справочниках и паре общих модулей. Т.е. практически нет.
Related Posts
Получение логина и пароля техподдержки 1С из базы
Класс для вывода отчета в Excel
Счет-фактура для УПП
Библиотека классов для создания внешней компоненты 1С на C#
Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
Прайс-лист с артикулом в отдельной колонке
Хотелось бы задать вопрос заказчику: Не пытался он сравнить стоимость Розницы 2, которая скорее всего легко настраивается для обмена с УТП со стоимостью доработок, которые здесь описаны? 🙁 Но поскольку его здесь нет, вопрос снимается. В конце концов семья программиста купила себе новый телевизор, шубу жене и съездила в отпуск — это уже хорошо 🙂
Можно задать и я отвечу, что заказчик наотрез отказывается использовать и УТ 11 и Розницу 2.2. Об этом я в начале статьи и писал. Я его два года уговаривал. А вот от отпуска точно бы не отказался, но уже на другом проекте ждут.
Буквально месяц назад занимался такой же задачей, переносил из УТ11 в УТ10. Примерно по такому же плану действовал. Получил бесценный опыт и мало удовольствия)
Ну вот. Значит я не один такой изобретатель колеса. Только я так думаю, что Вы имели в виду — НЕ мало удовольствия.
Перенес большую часть «Скидок-наценок» в УПП для Украины. В УПП, до моего появления на предприятии, была уже интегрирована CRM на управляемых формах и БСП 2.1. БСП была поднята до необходимой для подсистемы скидок. Режим совместимости уже был 8.3.5. Только платформу пришлось обновить до 8.3.8..
(5)
Сколько времени у Вас это заняло?