Прайс-лист со скидками для групп товаров




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


Итак! Сам принцип работы!!!!

 

Заполнив первоначальные данные (организация и тип цен), нажимаем и в открывшейся форме выбора групп выбираем группы, в которых есть товар по принципу: ГРУППЫ, в которых есть товар (не следующая группа), а если еще проще. то как «+» напротив группы перестанет открываться, то эту группу и выбираем Laughing  (см.картинку)  

ГРУППА-

            |-ГРУППА-

                           |-товар

                           | -товар

Далее проставляем скидку на против каждой группы и ЖМАКАЕМ, в результате получаем сформированную таблицу товаров с ценой (базовой) и ценой скидок, здесь по желанию можно удалять строки, которые не нужны в прайсе…

И завершающим этапом это, конечно, где мы и получаем саму печатную форму прайса!!!

В принципе ничего замысловатого, но, может, кому пригодится…

7 Comments

  1. mxm2

    УТ10.2/10.3? Документ «установка скидок номенклатуры», может производить аналогичные действия, причем, в этом случае информация, может быть привязана к Контрагентам и сохраняется в БД, а сам отчет легко строится по соответствующим регистрам.

    Reply
  2. tnikolas

    (1) mxm2, Тут спорить я конечно не стану так как согласен с тобой, но в данном случае такой запутанный функционал не нужен был, ибо пользователи данной организации очень тяжко воспринимают вообще 1С 🙂 , так что пришлось написать просто обработку, простую в использовании с возможностью просто сохранять в xls … )

    Reply
  3. Ibrogim

    (1) mxm2,

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

    Не совсем так, в этом документе нет возможности указывать группы номенклатуры

    (конечно проблему можно решить например обработкой которая будет заполнять документы «установка скидок номенклатуры» по группам номенклатуры (или по ценовым или по номенклатурным группам))

    И я с вами согласен, что без сохранения в БД, это какой-то БизнесПак

    (2) Аналогичную задачу решал когда то так. Во первых это позволяло не только печатать прайс, но и автоматически подставлять цены контрагента в документы (по сохранённым и настроенным один раз правилам). А ваши менеджеры интересно как узнают цены ? Смотрят в почту и сверяют с прайсом который они выслали?

    пользователи данной организации очень тяжко воспринимают вообще 1С

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

    Reply
  4. tnikolas

    (3) Ibrogim, По поводу пользователей могу сказать что один есть более менее «опытный», он же и накидал приблизительную форму обработки (на листике 🙂 ), что касается сохранения в базе данной информации я тоже предлагал, но… почему то им это не нужно… в чем фишка не понимаю если честно )))

    Reply
  5. Fenicss

    Здравствуйте))) Смотрите у вас получается прайс действителен 1 день. А если мы скидку делаем скажем на месяц то нужно либо создавать каждый раз документ (что долго) или копировать, но тогда при добавлении новой номенклатуры скидка на нее не встанет? Мне кажется все таки удобнее было бы с группами работать.

    Reply
  6. bes-kkm

    Выдает ошибку :Ошибка загрузки документа. Внешняя обработка не может быть прочитана текущей версией программы.

    Reply
  7. _Jok_

    Добрый день! Подскажите, как сделать чтобы номенклатура заполнялась не только с одной группы по родителю, но и еще из подгрупп( более сложная иерархия)? Данная обработка, если выбрать корневую группу, в которой есть подгруппы с номенклатурой, ничего не заполнит.

    Процедура ЗаполнитьТоварСоСкидкамиНажатие(Элемент)
    
    Товар.Очистить();
    
    Запрос = Новый Запрос;
    
    Если ГруппыТаб.Количество() > 0 Тогда
    МассивТовара = Новый СписокЗначений;
    Для Каждого Строка ИЗ ГруппыТаб Цикл
    
    Запрос.УстановитьПараметр(«Родитель», Строка.Группа);
    Запрос.УстановитьПараметр(«Дата», ДатаПрайса);
    Запрос.УстановитьПараметр(«ТипЦен», ТипЦен);
    
    Запрос.Текст = «ВЫБРАТЬ
    | ЦеныНоменклатурыСрезПоследних.Номенклатура,
    | ЦеныНоменклатурыСрезПоследних.Номенклатура.Родитель КАК Родитель,
    | ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
    |ГДЕ
    | ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
    | И ЦеныНоменклатурыСрезПоследних.Номенклатура.Родитель = &Родитель»;
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
    НоваяСтрока = Товар.Добавить();
    НоваяСтрока.Номенклатура = Выборка.Номенклатура;
    НоваяСтрока.ГруппаНоменклатуры = Выборка.Родитель;
    Если Выборка.Цена = Неопределено Тогда
    НоваяСтрока.Цена = 0;
    НоваяСтрока.ЦенаСоСкидкой = 0;
    Иначе
    НоваяСтрока.Цена = Выборка.Цена;
    НоваяСтрока.ЦенаСоСкидкой = Выборка.Цена — ((Выборка.Цена * Строка.Скидка) / 100);
    КонецЕсли;
    НоваяСтрока.ПроцентСкидки = Строка.Скидка;
    КонецЦикла;
    КонецЦикла;
    ЭлементыФормы.Надпись.Видимость = Истина;
    ЭлементыФормы.СформироватьПрайс.Видимость = Истина;
    Иначе
    Сообщить(«Табличная часть <Группы> не заполнена!!!», СтатусСообщения.Важное);
    КонецЕсли;
    
    КонецПроцедуры

    Показать

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *