новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
gvasily
Приватное сообщение

Реализовать механизм шаблонов цен для Контрагентов

Рязань(Россия )
gvasily78
28.09.1978(45 лет)
7 |  0
15 июня 2023 в 15:43:46 (44 недели 1 день 3 часа назад)
14648
Текст задания
1с 7.7 (7.70.027) + ТиС 8.7, УРБД Сильно переделанная под наш управленческий учет.

Задача:

Нужно реализовать механизм шаблонов цен для Контрагентов.

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

Что нужно: иметь возможность установить любые цены, любому контрагенту (в том числе каждому торговому подразделению [магазину]) на любую продукцию на любой срок. Необходима возможность назначения одинаковых прайсов нескольким контрагентам, чтобы не было излишнего ввода информации.
Нужно иметь возможность быстро получить текущие цены на опр. дату по одному или по всем контрагентам.
Нужно иметь возможность наглядно видеть динамику цен по конкретному контрагенту за опр. период времени, а также срез цен по всем контрагентам на опр. дату.

Предложения (если есть идеи лучше - wellcome)

Делаем справочник: Прайсы, элементами которого будут названия прайсов, например, "Цены город", "Цены сети", "Цены Ромашка" и т.п.
В справочнике внизу добавляем кнопки вызова отчетов:
- Динамика прайса (Вызывает отчет ДинамикаПрайса)
- Цены на дату (Вызывает отчет ЦеныНаДату)
- Реестр (Вызывает отчет РеестрШаблоновЦен)

В Контрагенте делаем выбор одного из прайсов (исторический реквизит).
Также в подчиненном справочнике ТоргПодразделения (Магазины) делаем выбор одного из прайсов (исторический реквизит). Обеспечиваем такую схему: если у Магазина Прайс выбран, то берем цены из него. Если нет, то берем цены из Прайса, который выбран для справочника-владельца Контрагенты.

Далее, делаем документ ШаблонЦен, который будет формировать Прайсы.

В шапке выбираем элемент справочника Прайсы, а в табличной части Номенклатура и Цена. Датой документа также будет являться дата ввода новых цен.
Соответственно, если мы хотим провести акцию на неделю с 1/10, то делаем сразу два документа, один с датой 1/10, второй - 8/10 и соответствующими ценами.
Документ может быть проведен. Обработка проведения - не нужна. Нужно для разграничения доступа, а также для того, чтобы использовать в работе только проведенные документы.
Документ может быть скопирован - получаем точную копию и открываем для редактирования.

Далее, создаем журнал для этих документов. Выводим поля: Дата, Номер, Название прайса, Автор, Комментарий.
В журнал добавляем кнопки:
- Динамика прайса (Вызывает отчет ДинамикаПрайса)
- Цены на дату (Вызывает отчет ЦеныНаДату)
- Реестр (Вызывает отчет РеестрШаблоновЦен)


Отчет РеестрШаблоновЦен
Открывает форму. В шапке обеспечиваем пользователю возможность сделать выборку ШаблоновЦен по разным разрезам:
- период (от и до) - если выбрано, то в выборку попадают только шаблоны из периода
- Прайс - если выбрано, то выбираем Шаблоны только по этому Прайсу
Табличная часть аналогична журналу ШаблоновЦен. По щелчку на строке открывается Шаблон.
Внизу кнопки:
- Сформировать - обновляет табличную часть
- Копировать - копирует шаблон, на котором стоит курсор и открывает для редактировани
- Закрыть
Если можно сделать такой отбор прямо в журнале ШаблоновЦен, то отчет можно не делать.


Отчет ДинамикаПрайса
Открываем форму. Выбираем период времени и Прайс.
Выводим таблицу:
Сверху даты, слева товары, которые входят в Прайс.
Даты из периода, но не все, а только те, в которые менялась цена, а также первая и последняя даты периода.
На пересечении цены.
Нужно визуально подсветить измененные цены, снижение - слегка зеленым, увеличение - розовым. Т.е. была в строке цена 10р. Снизилась до 9 - эту клетку делаем зеленой. Далее опять 9 - белая клетка. Далее выросла до 9.5 - эта клетка розовая.
Шапка традиционная для отчетов 1с - название, период, описание условий построения.
Кнопки Обновить и Настройка.


Отчет ЦеныНаДату
Открываем форму. Выбираем дату.
Выбираем через радио-кнопки режим (аналогично отчету Торговая шахматка):
- Покупатели / Товары
- Товары / Покупатели
Галка "Подсветить минимальные" и окно для ввода целого значения %.
Строим таблицу цен на товары по контрагентам на дату. Включаем туда все шаблоны, которые есть на дату.
Если включена галка "подсветить минимальные", то желтым красим цены, которые входят в % минимальных по товару.
Пример: на товар 1 есть цены:
- клиент 1 - 1р.
- клиент 2 - 3р.
- клиент 3 - 6р.
- клиент 4 - 8р.
Стоит галка подсвечивать минимальные и введено 15%.
Берем от максимальной цены 15% = 1,2р. Соответственно ячейку 1р. заливаем желтым.
Шапка традиционная для отчетов 1с - название, период, описание условий построения.
Кнопки Обновить и Настройка.



Обработки в глобальном модуле:
глЦеныВсе(Дата) - возвращает таблицу значений, содержащую поля:
- ОбщийКод3 - формируется как текстовая строка из трех кодов через знак подчеркивания: <Контрагент.Код>_<Магазин.Код>_<Номенклатура.Код>
- Цена
* тройной код сделан чтобы можно было быстро найти цену на товар для конкретного магазина конкретного контрагента поиском в таблице значений.
В таблицу нужно включить все сочетания Контрагентов, Магазинов и Товаров, которые есть в прайсах и шаблонах на заданную дату.

глЦеныКонтр(Дата, Контрагент) - аналогично, но только для одного Контрагента.

Обработки должны выполняться максимально быстро, так как будут вызываться при потоковом формировании накладных.


Везде имеем в виду, что если Справочник или Документ помечен на удаление или не проведен, то в отчеты и т.п. он не входит.

Отчеты делаем внешними, если нужен путь, то располагаем по адресу: D:/1c/sl
Все отчеты имеют штатные кнопки Обновить и Настройка.

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