Установка цен номенклатуры с учетом характеристик (расширенная). УНФ 1.6
Учетные задачи - Ценообразование, анализ цен
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Основное отличие данной обработки - она позволяет прочитать один вид цен, сделать наценку и записать полученные значения в другой вид цен, поддерживает отбор номенклатуры по группам и характеристики. На этом стандартный функционал и заканчивается, теперь про нестандартный - Флаг "Использовать свою формулу расчета" позволяет выполнить свой произвольный код, правда есть одно ограничение - код выполняется либо на клиенте, либо на сервере.
Пример кода НаКлиенте
&НаКлиенте
Если Строка.НоваяЦена = 0 Тогда
Строка.НоваяЦена = 99;
Иначе
Строка.НоваяЦена = Строка.ЦенаИсходная * 107 / 100;
Строка.ДатаЦеныУстановки = ТекущаяДата();
КонецЕсли;
Параметр &НаКлиенте - обязательный, без него код не будет выполнен
Пример кода НаСервере
&НаСервере
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ПриходнаяНакладная.Ссылка КАК Ссылка,
| ПриходнаяНакладная.Ссылка.Дата КАК Дата,
| ПриходнаяНакладная.Цена КАК Цена
|ИЗ
| Документ.ПриходнаяНакладная.Запасы КАК ПриходнаяНакладная
|ГДЕ
| ПриходнаяНакладная.Номенклатура = &Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| Дата УБЫВ";
Запрос.УстановитьПараметр("Номенклатура",Строка.Номенклатура);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Строка.НоваяЦена = Результат.Цена;
Сообщить(Результат.Ссылка);
КонецЕсли;
Параметр &НаСервере - обязательный, без него код не будет выполнен
Можно добавлять свои столбцы, задавать любые условия расчета, писать в регистры,изменять справочники, документы....короче это полноценный код 1с, что напишите, то и выполнит.
Теперь про обязательные параметры - их немного, но они есть.
Так как обход ТЧ идет в цикле обращаться к строке нужно через "Строка."
При обходе ТЧ работает Счетчик начинается с 1 обращаться можно "Счетчик"
Названия столбцов соответствуют их названиям на форме без пробелов.
v1.1 Исправлена ошибка чтения настроек
Вступайте в нашу телеграмм-группу Инфостарт