Согласование цен по заказу

02.03.19

Задачи пользователя - Адаптация типовых решений

Согласование цен по заказу покупателя - менеджер указывает цену с признаком "На согласование". Руководитель визирует "Согласовано". Полный контроль над ценами в два клика. Отдел продаж - 20 менеджеров, 1 руководитель.

ДЛЯ КОГО

Для финансового директора - для понимания, что не Excel'ем единым жив финансовый и управленческий учет.

Для программиста - для понимания, как внедрить предлагаемую финансово-управленческую модель.

ПРО ЧТО

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

Подобная фин.-упр. модель не реализована типовым функционалом в УТ 10.3, поэтому потребовалась доработка УТ 10.3. Как и любая модель имеет свои допущения и ограничения. Внедрялась на конкретном предприятии с конкретными бизнес-процессами, и поэтому не претендует на универсальность.

Краткое описание

На предприятии используется сетка цен - разные категории цен с разными скидками от "основной" цены по прайсу.

Ряд категорий используются только менеджерами - для них включен признак "Показывать менеджерам", остальные категории им не доступны для использования.

Согласование цен по заказу покупателя (счету на оплату) происходит так.

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

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

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

На этом типовые механизмы в части игр с ценами заканчиваются. 

Далее опишу свою разработку. При необходимости менеджер может снизить цену на товар -  он указывает новую цену в отдельной колонке "Цена новая" с признаком "На согласование". Сам признак - это тоже отдельная колонка. 

Руководитель постоянно мониторит список заказов. В форме имеется подсказка и фильтр на заказы, которые надо согласовать.

 
 Мониторинг заказов на согласование

Руководитель открывает заказ, напротив каждой позиции визирует "Согласовано".

Признак "Согласовано" - это отдельная колонка. При этом сумма по строке пересчитывается, фиксируется "Ответственный за согласование" и "Дата согласования" (см. код ниже).

 
 Алгоритм визирования "Согласовано"

Далее документ проводится и закрывается. При проведении программа проверит категорию цен Ответственного за согласование - чтобы не опуститься по цене ниже его категории. Поскольку у руководителя также установлено стандартное ограничение цен по "минимальной" категории.

Менеджер может продолжить редактировать заказ - добавлять новые товары - при этом согласованные строки товаров становятся не редактируемыми для всех пользователей, кроме Ответственного за согласование (см. код ниже).

 
 Блокировка согласованной строки товаров


Архитектура решения

В документ "Заказ покупателя" добавлены следующие реквизиты:

1) в шапку документа - реквизит "НаСогласование" - который хранит информацию "надо ли согласовывать данный заказ". Определяется перед записью документа (см. код ниже). Реквизит является служебным - на форме заказа не отображается.

2) в табличную часть "Товары" - добавлены колонки "НаСогласование", "ЦенаНовая", "Согласовано", "ОтветственныйЗаСогласование", "ДатаСогласования". 

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

 
 Проверки перед записью документа

В модуле документа "Заказ покупателя" для проведения по регистру накопления "Заказы покупателей" переопределяется функция ПодготовитьТаблицуТоваров(). Этого достаточно, чтобы в движения заказа "села" согласованная новая цена (см. код ниже).

 
 Функция ПодготовитьТаблицуТоваров(...)

В процедуре ОбработкаПроведения() переопределяется процедура ПроверитьДопустимостьЦенОтпуска(ДокументОбъект, ИмяТабличнойЧасти, Отказ).

 
 Доработка процедуры ПроверитьДопустимостьЦенОтпуска(ДокументОбъект, ИмяТабличнойЧасти, Отказ)

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

 
 Переопределение процедуры ПроверитьДопустимостьЦенОтпуска
 
 Вспомомгательные и дополнительные процедуры общего модуля МодульДоработок

Ядро модели

В данной модели наибольшее количество изменений коснулось процедуры ПроверитьДопустимостьЦенОтпуска() - за основу взят типовой алгоритм. В начале процедуры собирается запрос, который в типовом варианте обходится в цикле как РезультатЗапроса - но я переопределил РезультатЗапроса на ТаблицуЗначений. В таблицу значений добавил свои колонки для анализа наименьшей цены - Новый МинимумЦен (см. код ниже).

 
 Адаптация типового алгоритма проверки цен - по сути это ядро модели

  Вот собственно и все.

Кроме основных доработок были доработаны другие алгоритмы и механизмы. Представляю в виде техзадания - по сравнению с затраченным временем на придумывание "основного ядра" механизма, эти работы заняли не так много времени.

1) Разработан механизм согласования цен в документе Счет на оплату. Механизм аналогичен механизму согласования для Заказа покупателя. (1,5 ч)

2) Доработан механизм "Заполнить и провести" в Заказе покупателя. (30 мин)

3) Разработан механизм - когда на основании согласованного Заказа создается Счет на оплату  - при этом счет на оплату не нужно дополнительно согласовывать.(1 ч)

4) Разработан механизм - когда на основании согласованного Счета на оплату создается Заказ или Реализация товаров - дополнительно согласовывать созданный документ не нужно. (45 мин)

5) Доработан механизм согласования - добавление в алгоритм Даты согласования и проверки цены "на 7 календарных дней". (40 мин)

6) Доработаны печатные формы счета на оплату и заказа покупателя. (2 ч)

7) Добавление механизма учета категорий цен контрагента. Менеджер выставляет цены, далее нажимает кнопку "Проверить по ценам Контрагента". Если цена менеджера меньше, чем цена Контрагента (из карточки Контрагента), тогда данная цена копируется в колонку "НоваяЦена" и автоматом ставится галка "НаСогласование" - требуется дополнительное согласование. Если цена менеджера больше или равна цене Контрагента, то ничего не происходит. Документ проводится. (1,5 ч)

Представленный механизм был реализован на платформе 8.3.11.3034 на конфигурации версии УТ 10.3.36.1.

С пользой для клиентов, RustIG 


См. также:

Как эффективно использовать Инфостарт NEW!

Список реализаций + структура подчиненности + реестр документов SALE'1sm

Список заказов поставщикам + структура подчиненности SALE'1sm

Список заказов покупателей + структура подчиненности SALE'1sm

Договоры для 1с-ника ТОП-скачиваний

Сетка расписания (Планировщик) нестанДАрт

Два механизма, которые ускорили работу бухгалтеров в 1С нестанДАрт

Мини-CRM для УТ 10.3

Расчет банковских (рабочих) дней нестанДАрт

Шаблоны кода в режиме 1С:Предприятие SALE'1sm

Доработка конфигурации Конвертация Данных

Планирование платежей. Прогнозирование прибылей и убытков

Ввод показателей план-факта БП 3.0 Know-how

Инвентаризация личного опыта Для новичков 1С

Большие запросы: взгляд на проблему нестанДАрт

Технология создания коммерческих разработок Know-how

Андроид-решение для создания заказов в 1С Know-how + нестанДАрт

Отчет Остатки и цены

Печать ценников с одной и двумя ценами 55х40, 100х60, 140х200

Загрузка данных о розничных продажах из магазинов Intimissimi (Интимиссими) и Calzedonia (Кальцедония)

Доработки обмена "УТ 10.3 - интернет-магазина Shop-Script"

программирование согласование заказов

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4453    9    4    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    2956    4    0    

19

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1282    dimanich70    6    

13

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    1995    13    avmartynov    10    

43

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. pm74 199 04.07.18 08:01 Сейчас в теме
(0) нормально , делал подобную штуку с использованием РС , даже где то видео есть
2. RustIG 1351 04.07.18 09:22 Сейчас в теме
(1) сложно представить , как это можно сделать с РС
3. pm74 199 04.07.18 09:33 Сейчас в теме
(2) для ут 10.3 привязка по ключу строки тч
5. RustIG 1351 04.07.18 09:36 Сейчас в теме
(3) привязка к документу как осуществляется? а если один и тот же товар в двух строках в документе?
4. pm74 199 04.07.18 09:35 Сейчас в теме
(2) там удалось сделать даже без изменения самой тч через ДополнительныеСвойства благо не управляемый интерфейс
6. RustIG 1351 04.07.18 09:38 Сейчас в теме
(4) для меня ДополнительныеСвойства пусть останутся в прошлом, в настоящем только для базовых версий... С Доп.Свойствами начинаются другие проблемы - в запросах - да и регистр ДопСвойства растет как на дрожжах... Поэтому я ушел от этой практики - использовать ДопСвойства...
7. pm74 199 04.07.18 09:43 Сейчас в теме
(6) ДополнительныеСвойства (эм. может неправильно назвал) имелся в виду не регистр а структура привязанная к объекту
8. pm74 199 04.07.18 09:51 Сейчас в теме
(6) там вообще интересная штука получилась , т.е изначально не хотелось редактировать ТЧ
как оказалось в заказе пок-ля и еще паре документов событие ПриВыводеСтроки обращается к общему модулю
само по себе привыводестроки довольно тормознутое если считывать данные из бд ,
но в обычных формах можно сделать такой финт , при открытии считать нужные данные в ДопСвойства (как соответствие) и обновлять из него
работает довольно шустро даже в тяжелых (больше 200 строк заказах) видимо берет из кэша
9. RustIG 1351 04.07.18 10:03 Сейчас в теме
(8)
при открытии считать нужные данные в ДопСвойства (как соответствие)

какие сведения считать? какие считаются нужными?

(8)
и обновлять из него
что обновлять?

(8)
есть вызов на событие при выводе строки на общий модуль
согласен, есть, в ряде задач удобно использовать

(8)
работает довольно шустро даже в тяжелых
согласен - я в одном проекте использовал Соответствие так - при проведении по партиям - сразу позиционировался на строке , по которой не хватает остатков, и все такие строки прокрашивал оранжевым - через Соответствие строк - и также использовал вызов ПриВыводеСтрок
10. pm74 199 04.07.18 10:07 Сейчас в теме
(9) приложил скриншот
Прикрепленные файлы:
11. RustIG 1351 04.07.18 10:08 Сейчас в теме
12. pm74 199 04.07.18 10:09 Сейчас в теме
(9)
что обновлять?

обновлять данные строк "при выводе строки "
13. RustIG 1351 04.07.18 10:12 Сейчас в теме
(12) картинку увидел и все понял :)
правда , у вас и у меня задачи разные - цели разные, но ваша идея и подход мне нравятся, запомню это !
14. pm74 199 04.07.18 10:30 Сейчас в теме
(6) зря кстати ушли
очень хорошо рисовать доп. реквизиты документов без изменения в кф
Прикрепленные файлы:
15. RustIG 1351 04.07.18 10:36 Сейчас в теме
(14) да, интересно получается - напишите публикацию с деталями - у вас интересный проект
16. pm74 199 04.07.18 10:38 Сейчас в теме
(15) ок руки дойдут напишу
17. pm74 199 04.07.18 10:40 Сейчас в теме
(15) вернее была уже с деталями и проч , особого интереса не вызвала я и удалил ))
не умею рекламировать
18. aspirator23 339 07.07.18 14:48 Сейчас в теме
(17)Тоже интересно. Статью можно не писать специально, может можно посмотреть черновики или какие -то примеры?
19. pm74 199 07.07.18 15:30 Сейчас в теме
(18) интересно что ? Про согласование , есть видео в этой статье ,
по поводу доп реквизитов , тут работает через перехват вызова общих модулей (немного соврал что без редактирования кф :), но сами документы остаются на замке )
20. aspirator23 339 07.07.18 15:34 Сейчас в теме
21. pm74 199 07.07.18 15:42 Сейчас в теме
(20) вобще есть в планах сделать платную и бесплатную версии доработки УТ 10
в бесплатной основной функционал по доп реквизитам , в платной
помимо этого статусы заказов , платежные бокументы для БП настройка правил + бух. счета + выгрузка , может быть согласование , работа по комиссии , авансы и еще всякие плюшки по мелочи типа печати от разных подразделений итп , такая вот солянка )
Оставьте свое сообщение