Организация планиров 656j917g ания «актив 656j917g ных продаж». Работа с регистром св 656j917g едений
Постанов 656j917g ка задачи. Создание необходимых объектов 656j917g
За отправ 656j917g ную точку в 656j917g едения бизнеса ав 656j917g томатизируемого предприятия берем то. что клиенты сами собой не появ 656j917g ляются. Их надо актив 656j917g но искать. Найдя, надо красив 656j917g о «дожимать» на покупку. Что-то продав 656j917g - Хотя бы поздрав 656j917g ить клиента с Нов 656j917g ым годом. Поздрав 656j917g ив 656j917g , надо опять же красив 656j917g о «подв 656j917g одить» к нов 656j917g ой покупке.
Таким образом, есть масса в 656j917g сего, что надо делать сотрудникам отдела актив 656j917g ных продаж.
Система должна позв 656j917g олять удобно раздав 656j917g ать эти задания, накаплив 656j917g ать результаты их в 656j917g ыполнения и планиров 656j917g ать последующие действ 656j917g ия по результатам, в 656j917g ыдав 656j917g ать формализов 656j917g анные аналитические отчеты.
Итак, для реализации этого управ 656j917g ленческого блока нам нужно добав 656j917g ить в 656j917g конфигурацию: справ 656j917g очник «типы заданий», справ 656j917g очник «типы результатов 656j917g », документ «Днев 656j917g нойОтчетЗадание», и некий регистр для запоминания запланиров 656j917g анных отложенных контактов 656j917g (последующих действ 656j917g ий).
Начинаем со справ 656j917g очников 656j917g :
|
Рекв 656j917g изит!
Поскольку в 656j917g справ 656j917g очниках будут содержаться исключительно типы заданий и результатов 656j917g для последующего использов 656j917g ания в 656j917g документах и, в 656j917g конечном итоге, для формализации накопленных данных в 656j917g в 656j917g иде отчетов 656j917g , то никаких дополнительных рекв 656j917g изитов 656j917g или табличных частей добав 656j917g лять не надо.
«Днев 656j917g нойОтчетЗадание» должен иметь следующую
Конфигуриров 656j917g ание в 656j917g системе "1С: Пред приятие 8.0 ". Решение оператив 656j917g ных задач |
Причем рекв 656j917g изит шапки «Менеджер» и рекв 656j917g изит «МенеджерДД» «Справ 656j917g очникСсылка.ФизическиеЛица»:
Рекв 656j917g изит шапки соотв 656j917g етств 656j917g енно будет содержать ссылку на менеджера - чей это документ, а «МенеджерДД» - на менеджера, который будет осуществ 656j917g лять «Дальнейшее Действ 656j917g ие». (Ну не справ 656j917g ился, например, текущий менеджер с заданием - надо поручить другому).
Рекв 656j917g изиты «ТипЗадания» и «ДальнейшееДейств 656j917g ие», как Вы понимаете, имеют тип значения «Справ 656j917g очникСсылка.ТипыЗаданий»;
«Контрагент» - «Справ 656j917g очникСсылка.Контрагенты»; «ТипРезультата» - «Справ 656j917g очникСсылка.ТипыРезультатов 656j917g »;
Организация планиров 656j917g ания «актив 656j917g ных продаж». Работа с регистром
св 656j917g едений
в 656j917g озможности в 656j917g несения неформализуемой информации;
«ДатаДД» - тип «Дата», и соотв 656j917g етств 656j917g енно будет указыв 656j917g ать - когда надо сов 656j917g ершить дальнейшее действ 656j917g ие по данному Контрагенту.
Форму документа для удобств 656j917g а можно сделать такой:
Вся хитрость подобного построения табличного поля заключается в 656j917g св 656j917g ойств 656j917g е «Положение» нужных колонок:
Итак, сформируйте форму документа и попробуйте в 656j917g пользов 656j917g ательской части заполнить пару-тройку документов 656j917g «Днев 656j917g нойОтчетЗадание».
Конфигуриров 656j917g ание в 656j917g системе " 1С:Предприятие 8.0". Решение оператив 656j917g ных задач
общая технология работы в 656j917g ыглядит так:
Утром начальник менеджерского отдела формирует задания для св 656j917g оих подчиненных, указыв 656j917g ая контрагентов 656j917g , тип задания и дописыв 656j917g ая
В течение дня менеджеры задания в 656j917g ыполняют и простав 656j917g ляют тип результата, опять же комментируя его при необходимости.
Вечером начальник менеджерского отдела просматрив 656j917g ает документы и заполняет при необходимости «Дальнейшие действ 656j917g ия»:
Для того, чтобы запланиров 656j917g анные дальнейшие действ 656j917g ия не терялись -
Дав 656j917g айте разберемся - где. Ну, то, что о них помнит сам документ - собрать запросом по в 656j917g сем документам информацию по отложенным клиента надо делать. Но, в 656j917g о-перв 656j917g ых, это может занять достаточно много в 656j917g ремени (а с ув 656j917g еличением документооборота - в 656j917g се больше), в 656j917g о в 656j917g торых - достаточно сложно будет разбираться в 656j917g таблице запроса с перекрещив 656j917g ающимися интерв 656j917g алами заданий.
А если бы некий объект мог сразу в 656j917g ыдать информацию на любую использов 656j917g ать регистр.
должен был поздрав 656j917g ить с днем рождения три раза, а после пров 656j917g едения очередного план-задания - уже четыре раза, то оптимально было бы использов 656j917g ать тут регистр остатков 656j917g .
Организация планиров 656j917g ания «актив 656j917g ных продаж:». Работа с регистром
св 656j917g едений
Однако, как в 656j917g ы сами понимаете - зв 656j917g онить надо в 656j917g сего один раз. Ну, и что же должно произойти при пров 656j917g едении документа?
Размышляем: после пров 656j917g едения документа, в 656j917g котором указаны дальнейшие действ 656j917g ия, конкретный менеджер попадает в 656j917g состояние необходимости сделать конкретному клиенту такого-то числа зв 656j917g онок.
На следующий день, по какой-нибудь нов 656j917g ой информации в 656j917g друг может получиться, что зв 656j917g онить надо этому клиенту надо не такого-то числа, а уже зав 656j917g тра! В этом случае необходимо перев 656j917g ести менеджера в 656j917g состояние необходимости зв 656j917g онить данному клиенту уже зав 656j917g тра.
Таким образом, цепочкой логических построений мы в 656j917g ыходим на необходимость хранения информации по отложенным дальнейшим действ 656j917g иям в 656j917g регистре св 656j917g едений. Именно он оперирует показателями
Добав 656j917g ляем в 656j917g св 656j917g едений
«ОтложенныеДейств 656j917g ия». Поскольку информация в 656j917g него будет попадать только при пров 656j917g едении документа «Днев 656j917g нойОтчетЗадание», то «режим записи» став 656j917g им в 656j917g положение «Подчинение регистратору», а «периодичность» - «По позиции регистратора».
Структура регистра для реализации в 656j917g ышеперечисленных в 656j917g озможностей будет следующей:
Измерения: Менеджер, Контрагент, ТипЗадания - соотв 656j917g етств 656j917g ующих типов 656j917g значения.
Конфигуриров 656j917g ание в 656j917g системе "1С:Предприятие 8.0 ". Решение оператив 656j917g ных задач |
Напомним, почему «Планируемая дата» это состояние: Зав 656j917g тра может в 656j917g ыясниться, что данное действ 656j917g ие нужно делать срочно, или наоборот -
Указыв 656j917g аем в 656j917g озможность документа «Днев 656j917g нойОтчетЗадание» быть
И, используя конструктор, строим алгоритм пров 656j917g едения данного
|
Организация планиров 656j917g ания «актив 656j917g ных продаж». Работа с регистром св 656j917g едений |
Текст процедуры стоит немножко в 656j917g идоизменить:
Процедура ОбработкаПров 656j917g едения(Отказ, Режим)
//1
Сообшить("Не заполнено поле менеджер!");
Сообшить("Днев 656j917g нойОтчетЗадание " + Номер+ " от " +Дата+" не пров 656j917g одится!");
//отсекаем пров 656j917g едение по строкам,
//где не требуется
дальнейшее действ 656j917g ие
Если ТекСтрокаРабота.ДальнейшееДейств 656j917g ие.Пустая()
Тогда //
Если ТекСтрокаРабота.МенеджерДД.ПустаяО
Тогда //3
Конфигуриров 656j917g ание в 656j917g системе " 1С:Предприятие 8.0 ". Решение оператив 656j917g ных задач
// регистр ОтложенныеДейств 656j917g ия
Дв 656j917g ижение = Дв 656j917g ижения.ОтложенныеДейств 656j917g ия.Добав 656j917g ить();
Дв 656j917g ижение.Период = Дата;
Дв 656j917g ижение. Менеджер = Исполнитель;
Дв 656j917g ижение. Контрагент = ТекСтрокаРабота.Контрагент;
Дв 656j917g ижение.ТипЗадания = ТекСтрокаРабота.ДальнейшееДейств 656j917g ие;
Дв 656j917g ижение.ПланДата = ТекСтрокаРабота.ДатаДД; КонецЦикла;
// записыв 656j917g аем дв 656j917g ижения регистров 656j917g Дв 656j917g ижения .ОтложенныеДейств 656j917g ия.Записать();
//1 Убедимся, что в 656j917g документе заполнен рекв 656j917g изит шапки «Менеджер», иначе в 656j917g роде как непонятно, кому было задание и из-за кого понадобилось дальнейшее действ 656j917g ие.
заполнено ли поле «ДальнейшееДейств 656j917g ие» для данной строки, а то может и запоминать ничего в 656j917g регистре не надо.
//3 Разрешим не заполнять «менеджера дальнейшего действ 656j917g ия». В этом случае исполнителем будем назначать в 656j917g се того же менеджера из
//4 Выполняем дв 656j917g ижения по регистру.
5.2. Работа с регистром св 656j917g едений. Получение
Чтобы получить данные из регистра св 656j917g едений, можно в 656j917g оспользов 656j917g аться несколькими методами объекта «РегистрСв 656j917g еденийМенеджер».
Чаще в 656j917g сего используются ПолучитьПоследнее() и СрезПоследннх()
Разберем более подробно синтаксис «классических» методов 656j917g :
Организация планиров 656j917g ания «актив 656j917g ных продаж». Работа с регистром
св 656j917g едений
ПолучитьПоследнее(<Конец периода>, <Отбор>)
Метод в 656j917g озв 656j917g ращает данные в 656j917g в 656j917g иде объекта Структура, содержащего значения ресурсов 656j917g . Прочитать их можно - указав 656j917g в 656j917g качеств 656j917g е ключей назв 656j917g ания ресурсов 656j917g .
<Конец периода> (необязательный)
в 656j917g ремени,
по который необходимо
получить значения
ресурсов 656j917g . Может
задав 656j917g аться значениями
типа Дата, МоментВремени
или Граница. Если
параметр
не указан, то будут
в 656j917g озв 656j917g ращены значения
ресурсов 656j917g самой
<Отбор> (необязательный)
Тип: Структура. Структура, содержащая отбор по измерениям
В переданной структуре должны содержаться те измерения, по
которым должны быть отфильтров 656j917g аны записи. В элементе структуры
СрезПоследних(<Конец периода>, <Отбор>)
Метод в 656j917g озв 656j917g ращает данные в 656j917g в 656j917g иде объекта ТаблицаЗначений. содержащего как значения ресурсов 656j917g , так и измерений.
<Конец периода> (необязательный)
в 656j917g ремени, заканчив 656j917g ая которым необходимо в 656j917g ыбрать записи.
<Отбор> (необязательный)
Тип: Структура. Структура, содержащая отбор по измерениям
В переданной структуре должны содержаться те измерения, по
которым должны быть отфильтров 656j917g аны записи. В элементе структуры
В качеств 656j917g е примера использов 656j917g ания: Зададимся целью «подсв 656j917g ечив 656j917g ать» на форме документа «Днев 656j917g нойОтчетЗадание» актуальную на момент
Конфигуриров 656j917g ание в 656j917g системе " 1С: Предприятие 8.0". Решение оператив 656j917g ных задач
Чтобы эта информация не мешала основ 656j917g ной работе - добав 656j917g им в 656j917g низу
формы панель сделаем в 656j917g низу дв 656j917g е закладки «Кнопки» и
|
Кнопки формы разместим на закладке «Кнопки», а на закладку
«ОтлКонтакты» поместим Табличное поле с именем
«ТаблицаОтложенныхКонтактов 656j917g ».
Теперь осталось заполнять эту таблицу при актив 656j917g ации строки таблицы «Работа» или при изменении в 656j917g ней «Контрагента».
в 656j917g ызыв 656j917g ать
ФильтрКонтрагент = Нов 656j917g ый Структура();
ФильтрКонтрагент. Встав 656j917g ить( "Ко нтрагент",ТекКонтрагент);
ТЗ = РегистрыСв 656j917g едений. ОтложенныеДейств 656j917g ия.СрезПоследних(Дата, ФильтрКонтрагент);
ЭлементыФормы.ТаблицаОтложенныхКонтактов 656j917g . Значение = ТЗ; ЭлементыФормы.ТаблииаОтложенныхКонтактов 656j917g .СоздатьКолонки();
Организация планиров 656j917g ания «актив 656j917g ных продаж». Работа с регистром
св 656j917g едений
Готов 656j917g им структуру, содержащую фильтр по нужному контрагенту.
Получаем
в 656j917g таблице значений
срез последних
актуальных на
дату
//3 в 656j917g ыв 656j917g одим полученную таблицу в 656j917g форму.
Практикум №15
В форме элемента справ 656j917g очника «Номенклатура» сделать кнопку «Однов 656j917g лениеЗакупочнойЦены». При нажатии на нее необходимо в 656j917g зять срез последних значений закупочной цены по данному тов 656j917g ару из регистра св 656j917g едений «ЦеныПостав 656j917g щиков 656j917g ». Предложить пользов 656j917g ателю в 656j917g ыбрать одно из значений. Заполнить в 656j917g ыбранным значением рекв 656j917g изит «ЦенаПокупки».
5.3. Работа с регистром св 656j917g едений. Получение данных,
При построении запроса по регистру св 656j917g едений, кроме реальной таблицы записей, можно еще обратиться к дв 656j917g ум в 656j917g иртуальным:
Таблице получения Среза перв 656j917g ых записей.
Чаще в 656j917g сего в 656j917g стречаются задачи работы именно с последними перв 656j917g ыми - в 656j917g се аналогично, но ... с точностью наоборот).
РегистрСв 656j917g едений.<имяРегистра>.СрезПоследних(<Дата>, <Услов 656j917g ие>).
<Дата> - это параметр типа «Дата» или «Момент в 656j917g ремени», на который будет произв 656j917g едено получение последних актуальных записей.
Если этот параметр не указыв 656j917g ать - будут в 656j917g ыбираться самые
В качеств 656j917g е <услов 656j917g ия> может в 656j917g ыступать логическая конструкция, ограничения состав 656j917g а записей, среди которых будут в 656j917g ыбираться
И последнее замечание - при в 656j917g ыполнении запроса будут использов 656j917g аться только актив 656j917g ные записи регистра!
На в 656j917g ыходе получаем таблицу в 656j917g ида:
Конфигуриров 656j917g ание в 656j917g системе " 1С:Предприятие 8.0". Решение оператив 656j917g ных задач
РегистрСв 656j917g едений.<Имя>. СрезПоследних(Дата,Услов 656j917g ие) |
|
|
|
|
|
|
ДокументСсылка.<Имя> |
|
|
Актив 656j917g ность |
Булев 656j917g о |
<Измерение> |
|
<Ресурс> |
|
<Рекв 656j917g изит> |
Тип рекв 656j917g изита |
Причем, поле «период» будет формиров 656j917g аться только для периодических регистров 656j917g св 656j917g едений, а поле «Регистратор» для регистров 656j917g , записыв 656j917g аемых регистратором.
В качеств 656j917g е примера создадим процедуру «утреннего заполнения документа». Начальник отдела утром в 656j917g ыписыв 656j917g ает нов 656j917g ый документ на очередного менеджера. Необходимо, чтобы по нажатию одной кнопки в 656j917g данный документ попали в 656j917g се отложенные на данный день задания для данного менеджера.
В форму документа «Днев 656j917g нойОтчетЗадание» добав 656j917g им элемент
управ 656j917g ления «Кнопка»
Сообщить("Укажите, пожалуйста, менеджера!"); Возв 656j917g рат; КонецЕсли;
Запрос = Нов 656j917g ый
Запрос; 112
Запрос.Текст
= "ВЫБРАТЬ
| Менеджер,
| Контрагент,
J
Организация планиров 656j917g ания «актив 656j917g ных продаж». Работа с регистром
св 656j917g едений
ТЧЧЧИГ
П<-1-ШИШИ» ШШИЧ ИГ
"и IHlHf > Til" i tfim <1 гтпТпу
Щ mm И I WH \\ - ■ >ЩЦЧИ I ill .Т т>1"||111ГШ
lir l I.
.1.1 .....ТПИн П и и ■.||Щ11ПГ"-'ГгИПп
■ п\ш -r iM jiii j j".iL
РегистрСв 656j917g едений.Отложенные Действ 656j917g ия.СрезПоследних(&Пар Дата,
Менеджер = &ПарМенеджер)
| ПланДата <= &ПарДата
I";
Запрос .У станов 656j917g итьПараметр(" Пар Дата", Дата);
Запрос. У станов 656j917g итьПараметр("ПарМенеджер", Менеджер);
Сост= ТаблЧасть.Добав 656j917g итьСтроку();
Пров 656j917g еряем, заполнен ли Менеджер в 656j917g документе;
Формируем запрос по таблице получения среза последних записей на дату документа. В качеств 656j917g е фильтра в 656j917g ыступает менеджер, и еще добав 656j917g ляем услов 656j917g ие, чтобы «ПланДата», то есть планируемая дата контакта была рав 656j917g на дате документа или меньше ее.
//3 перебирая результирующую таблицу запроса, формируем нов 656j917g ые строки в 656j917g табличной части документа.
Сформируйте, пожалуйста, посредств 656j917g ом конструктора в 656j917g ыходных форм отчет, позв 656j917g оляющий получать срез последних записей на произв 656j917g ольную дату с произв 656j917g ольной фильтрацией по «Менеджеру», строки, в 656j917g которых ПланДата - пустая. Подсказка: Получить пустую дату можно, например, посредств 656j917g ом литерала: '0001-01-01' (в 656j917g
Конфигуриров 656j917g ание в 656j917g системе "1С:Предприятие 8.0". Решение оператив 656j917g ных задан
5.4. Пров 656j917g едение документа «Днев 656j917g ной отчет» с погашением в 656j917g ыполненных заданий
Остается маленькая, но очень в 656j917g ажная деталь. Необходимо «гасить» в 656j917g ыполненные отложенные задания. Лучший способ - это устанав 656j917g лив 656j917g ать по набору соотв 656j917g етств 656j917g ующих измерений нов 656j917g ое состояние ресурса ПланДата - пустую дату. Как уже мы разбирались в 656j917g предыдущем практикуме - получить пустую дату можно в 656j917g результате в 656j917g ычисления функции Дата( 1,1,1).
А поскольку лучший способ научить плав 656j917g ать - бросить поглубже в 656j917g в 656j917g оду:
Переписать пров 656j917g едение документа «Днев 656j917g нойОтчетЗадание» по
технологии «Алгоритм сложного пров 656j917g едения документов 656j917g в 656j917g системе
В регистр «ОтложенныеДейств 656j917g ия» надо в 656j917g носить нов 656j917g ые отложенные
задания (дальнейшие действ 656j917g ия). Если «МенеджерДД» не указан
в 656j917g писыв 656j917g ать в 656j917g качеств 656j917g е исполнителя «Менеджера» из шапки
Если дальнейшего действ 656j917g ия нет, а задание в 656j917g ыполнено
пров 656j917g ерить, не было ли его в 656j917g регистре отложенных действ 656j917g ий - и если
При пров 656j917g едении надо контролиров 656j917g ать заполнение в 656j917g сех необходимых
рекв 656j917g изитов 656j917g .
При оператив 656j917g ном пров 656j917g едении блокиров 656j917g ать соотв 656j917g етств 656j917g ующие
|