Все мы «с детсва» знаем: В Кофигурации Управление тогровлей 10.3 не ведется учет услуг в разрезе характеристик. Мне вот всегда было интересно - почему? Что мешает «включить» эту возможность? Какая разница механизму плана видов характеристик к какому объекту лепить доп свойство??? Справочнику Характеристики номенклатуры наплевать кто является владельцем его «сокровищ» … А ключевой документ ценообразования – установка цен номенклатуры - при проведении вообще ни разу не проверил к какому типу номенклатуры - товару или услуге - принадлежит характеристика. Так почему нельзя добавить в УТ 10.3 возможность создания характеристик услуги?
...А собственно почему нелья?
Сразу оговорюсь, что к сожалению подобную доработку не осуществить без «проблем» для возможности штатного обновления конфигурации, поэтому внедрять или нет решать Вам, на основании анализа всех возможных последствий и необходимости подобного внедрения.
В подобной ситуации "горячим головам" пальцы чешуться напомнить: ни откладывай backup на завтра если можешь сделать backup сегодня ;)
Итак.
Для начала в качестве "подопытного кролика" добавляем в справочник номенклатура услугу:
«Ремонт бытовой техники»
Добавим характеристики.
Заходим:
Операции - План видов характеристик - Свойства объектов - Справочник Характеристики номенклатуры
И добавляем новое свойство:
Категория сложности
И три значения этого свойства:
Первая категория сложности
Вторая категория сложности
Третья категория сложности
На этом подготовка заканчивается, открываем конфигуратор:
Как известно, в карточке номенклатуры с типом Услуга отсутствует флаг ведения учета по доп характеристикам.
Изменим это «недоразумение».
Открываем форму элемента справочника Номенклатура.
В процедуре УстановитьВидимость находим строку:
УстановитьСвойствоВТЗ(ТаблицаРеквизитов, "ВестиУчетПоХарактеристикам", "ДоступностьСистемная", (Товар Или Комплект) И мИспользоватьХарактеристики);
И в скобке после слова Комплект добавляем « Или Услуга».
Получилось:
УстановитьСвойствоВТЗ(ТаблицаРеквизитов, "ВестиУчетПоХарактеристикам", "ДоступностьСистемная", (Товар Или Комплект Или Услуга) И мИспользоватьХарактеристики);
Собственно на этом доработка элемента справочника закончена.
Обновляемся, проверяем:
Теперь и услуги могут иметь характеристики ;)
Далее в конфигураторе открываем документ Реализация товаров и услуг.
Переходим на закладку Данные и в табличной части услуги добавляем новый реквизит:
ХарактеристикаНоменклатуры, с типом значения СправочникСсылка. ХарактеристикиНоменклатуры.
Открываем форму документа. На закладке "Услуги" на табличной части щелкаем правой кнопкой мыши и выбираем пункт «размещение данных». В появившемся списке ставим галку ХарактеристикаНоменклатуры
Жмем ОК.
В конце табличной части появилась колонка Характеристика номенклатуры. Перетаскиваем её поближе к колонке номенклатура (так что бы была как в товарах – справа от номенклатуры)
Теперь дважды щелкаем по полю ввода Характеристики и в свойстве связь по владельцу устанавливаем связь по полю номенклатура табличной части услуги:
Открываем модуль объекта документа Реализация товаров и услуг, находим процедуру ПодготовитьТаблицыДокумента
В этой процедуре находим текст
// Получим необходимые данные для проведения и проверки заполнения данных по табличной части "Услуги".
СтруктураПолей = Новый Структура();
После него добавляем строку:
СтруктураПолей.Вставить("ХарактеристикаНоменклатуры" , "ХарактеристикаНоменклатуры");
Обновляем конфигурацию, запускаем в режиме 1С:Предприятия.
Создаем Реализацию товаров и услуг. Добавляем услугу «Ремонт бытовой техники», и характеристику «первой категории сложности». Цену пока ставим вручную. Пусть будет 250 р. Проводим.
Теперь создадим еще одну (для более красивого отчета) Реализацию услуги «Ремонт бытовой техники» с характеристикой «второй категории сложности». Цену ставим 750 р. Проводим.
Переходим Отчеты – Продажи - Анализ продаж – Продажи
В поле группировка строк Добавляем Номенклатура и Характеристика номенклатуры.
Нажимаем Сформировать.
Войля.
Теперь сделаем так, чтобы на услуги с разными характеристиками можно было назначить разные цены.
Собственно назначить цены можно уже сейчас:
Открываем документ Установка цен номенклатуры.
Подбираем нашу услугу «Ремонт бытовой техники» с характеристикой «первой категории сложности», и с характеристикой «второй категории сложности», устанавливаем цену для «Ремонт бытовой техники» + «первой категории сложности» - 500 руб, а для «Ремонт бытовой техники» + «второй категории сложности» - 1000 руб.
Проводим.
Но для того чтобы установленные цены подбирались в документ Реализация необходимо еще кое что.
Переходим в конфигуратор:
Для возможности подстановки установленной в конфигурации цены на выбранную характеристику услуги необходимо создать еще две колонки табличной части услуги: ЕдиницаИзмерения с типом значения СправочникСсылка.ЕдиницыИзмерения и колонку Коэффициент с типом значения число. Создаем по аналогии выше. Переходим на форму, размещаем колонки ЕдиницаИзмерения и Коэффициент в табличной части. Далее в свойствах обоих колонок снимаем галку Видимость: эти две колонки непосредственно не будут использоваться при работе с документом, но они необходимы модулю ценообразования для штатной отработки процедуры получения цены номенклатуры с характеристикой.
Создаем обработчик события ПриИзменении поля вода характеристики. Добавляем процедуру
Процедура УслугиХарактеристикаНоменклатурыПриИзменении(Элемент)
СтрокаТабличнойЧасти = ЭлементыФормы.Услуги.ТекущиеДанные;
СуммаСтроки = СтрокаТабличнойЧасти.Цена * СтрокаТабличнойЧасти.Количество;
ПриИзмененииХарактеристикиНоменклатурыТоваров(СтрокаТабличнойЧасти);
// Рассчитать реквизиты табличной части.
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);
КонецПроцедуры
Это штатная процедура обработки изменения ТЧ товары, "оптимизированная" под услуги… =)
Вот и все. Обновляемся. Проверяем.
Создаем документ Реализация товаров и услуг. В табличной части Услуги добавляем первую строку с услугой «Ремонт бытовой техники» и характеристикой «первой категории сложности», и вторую строку с услугой «Ремонт бытовой техники» и характеристикой «второй категории сложности». Проводим. Формируем отчет. Наслаждаемся.
Таким образом можно доработать каждый необходимый документ, обработку ввода на основании, обработку подбора и т.д. Согласен, не все так просто и при необходимости подключения функционала по всей конфигурации потребуется много времени и, возможно, денег. Но для профессионала подобная доработка вполне поплечу, включая последующие обновления.
А для не профессионала материальне затраты на внедрение данной возможности и последующие обновления все равно на порядок ниже материальных и моральных затрат на внедрение новой учетной системы.
За последние пол года учет услуг в разрезе характеристик был внедрен нами на двух реально работающих пердприятиях. Можно сказать "идет тестирование". Оставляйте отзывы, будем рады любым мнениям.