...
Продажам (отделу) стрельнуло в голову сделать супер-пупер прайс - дескать, от этого продажи попрут в гору, денег фирме обломится немеряно, программеру домой канал в 2 метра толщиной заведем - но надо быстро-быстро сделать.. причем мы сами пока толком не знаем... типа вот тут чтоб было жирным цветом, а вот этот товар обязательно красным, а вот эти товары - синий шрифт на желтом фоне и пр.
...
Городить доп.реквизиты в справочник товаров не будем - мало ли что стрельнет в голову продажникам через неделю, опять же флажков не напасешься... опять же будут дергать сделать еще это, а это убрать и т.д.
...
Поэтому делаем не сложно, а суперпросто: забульбеним универсальный инструментарий, и пусть продажи, пользуясь им - как хотят, так и "раскрашивают".
...
Для этого применим замечательный механизм свойств, реализованный в типовых ТиС (на примере ред.9.2)
...
Рассмотрим реализацию данной задачи на примере простого требования: некий произвольный перечень товаров выводить в прайсе жирным шрифтом.
...
1. Выработаем систему обозначений: если у товара свойство "ВыделитьВпрайсе" принимает значение "Да" (отличное от нуля) - эта позиция подлежит выделению в прайсе. При этом "нулевое" значение свойства (все что отлично от "Да" или отсутствие такого свойства у товара вообще) означает обычную позицию в прайсе.
...
2. Дадим инструментарий для быстрого заполнения/переключения данного свойства у нужных товаров (на базе типовой обработки установки свойств номенклатуры/контрагентов - немного ее упрощаем/модифицируем в части заточки под данную задачу: переключение да/нет)
...
3. Обязательно предусмотрим механизм протоколирования действий по п.2 - в основном, чтобы "отмазаться" от наездов возмущенных продажников по типу "какого .. эта позиция выделена?" - в принципе это вопрос может решаться многими методами и протоколирование, на самом деле, последний из них - типа спасательного круга на крайний случай. Протокол пишем в обычный текстовый файл с именем по шаблону ГГГГММДДЧЧММ.txt и кладем в специальный папочку/подпапочку, где у нас хранятся всяческие протоколы...
Например, в данный файлик пишем:
МенеджерПоПрайсам 30.11.05 16:36:56
НЕТ -> ДА 00009469 Пензитал табл.п.о №30
НЕТ -> ДА 00001312 Флемоксин Солютабл. табл.раствор.125мг №20
Итого: видно кто и когда произвел манипуляции с раскраской файла
...
4. При формировании типового прайса (или даже нетипового - идея та же самая) сделаем вставочку типа:
//
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Обрабатывать НеПомеченныеНаУдаление;
|ВидСвойства = Справочник.СвойстваНоменклатуры.ВидСвойства.Наименование;
|ЗначениеСвойства = Справочник.СвойстваНоменклатуры.ЗначениеСвойства.Наименование;
|Номенклатура = Справочник.СвойстваНоменклатуры.Владелец;
|Группировка Номенклатура;
|Условие (Найти(ВРЕГ(ВидСвойства),""ВЫДЕЛИТЬВПРАЙСЕ"") < > 0);
|Условие (Найти(ВРЕГ(ЗначениеСвойства),""ДА"") < > 0);";
Если Запрос.Выполнить(ТекстЗапроса)=0
Тогда Возврат;
КонецЕсли;
ТЗВыделить = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗВыделить,1,0);
..
6. Далее, при построчном выводе прайса ищем текущий товар в таблице ТЗВыделить, нашли - выводим жирным шрифтом, не нашли - как обычно.
..
На что следует обратить внимание при использовании данной методики?
а) Следует тщательно продумать "систему условных обозначений" для прайса и ограничить круг лиц, которые могут модифицировать справочники видов свойств и сами значения свойств.
б) предложенная методика - достаточно универсальная и без особых затрат может "клонироваться" на родственные задачи. Но! За счет универсальности - работать будет медленнее... Поэтому - сначала оцениваем соотношение "затраты программиста/скорость работы программы" и реализуем то, что считаем более подходящим.
...
Понятно, что данный пример - самое простое, что можно придумать, слегка "расширив" рассмотренную схему можно построить достаточно универсальную программулину. Основное при этом - "хитрость" программиста... Типа: можно значения свойств кодировать "прямо", т.е. задав "значение=font[bold]color[255000000]" и написав в коде что-то типа "применить к выводимой строке текущее значение свойства" автоматом получим жирные красные буквы на белом фоне без излишних "если-то-иначе"...
Надеюсь, данная статья окажется кому-нибудь полезной.
Принимаются заказы на темы, по которым вы хотели бы почитать что-нибудь полезное.
В планах:
- статья о реализации простого электронного магазина на базе этих самых свойств;
- подробная методика построения системы "прайс-аналитика" для настоящих пацанов.
Пишите свои пожелания и отзывы.