Содержание:
1. Механизм учета поставщиков и производителей в 1С СКД с использованием характеристик номенклатуры.3. Два способа формирования отчета в СКД 1С 8.3.
Добрый день, уважаемые коллеги. Сегодня рассмотрим пример использования характеристик в СКД (Система компоновки данных).
1. Механизм учета поставщиков и производителей в 1С СКД с использованием характеристик номенклатуры
Для примера будем использовать простую конфигурацию для учета отопительного оборудования. Учет по поставщикам и производителям будем вести с использованием характеристик номенклатуры в 1С 8.3.
Реализация.
Создадим два справочника – «Номенклатура» и «ХарактеристикиНоменклатуры».
Рис.1
Для того чтобы можно было однозначно соотнести значение характеристики и номенклатуры, справочник «ХарактеристикиНоменклатуры» будет подчинен справочнику «Номенклатура».
Создадим документ «ПоступлениеТоваров» с табличной частью «ТабличнаяНоменклатура» и реквизитами табличной части: «Номенклатура» с типом «СправочникСсылка.Номенклатура», «Характеристика» с типом «СправочникСсылка.ХарактеристикиНоменклатуры» и «Количество» с типом «Число».
Создадим регистр накопления в 1С 8.3 «ОстаткиНоменклатуры» для хранения остатков номенклатуры в разрезе характеристик:
Для документа «ПоступлениеТоваров» сформируем код для движения по регистру «ОстаткиНоменклатуры»:
Создадим в 1С:Предприятие 8.3 документ «Поступления товаров» и оприходуем две номенклатуры. Первая – котел газовый «VAILLANT TURBOFIT» с характеристиками производитель «VAILLANT» и поставщик «Поставщик1», производитель «VAILLANT» и поставщик «Поставщик2». Вторая – котел газовый «ВАХI BASIC» с характеристиками производитель «BAXI» и поставщик «Поставщик2», производитель «BAXI» и поставщик «Поставщик1»:
Сформированные движения документом:
Рис.6
После того как был оприходован товар, нам необходимо проконтролировать остатки товара в разрезе характеристик. Для этого создадим отчет «ОстаткиТоваров» с использованием СКД:
Рис.8
Сформируем в 1С:Предприятие 8.3 отчет:
Отчет, как мы и задумывали, вывел остатки номенклатуры в разрезе Характеристик – все хорошо. Усложним задачу. Попробуем отобрать в отчет только ту номенклатуру поставщиком, которой является «Поставщик2». Перейдем в настройки и реализуем отбор:
Как мы могли убедиться, такой отбор установить невозможно для данной реализации задачи, потому что характеристика номенклатуры у нас представлена в виде строки. Чтобы реализовать возможность отбора по значениям характеристики номенклатуры, введем в нашу конфигурацию новый объект метаданных «План видов характеристик», который позволит нам реализовать возможность отбора по значениям характеристики номенклатуры.
2. Схема хранения данных
Концепция хранения данных будет следующая:
Рис.12
Поясним схему хранения данных:
В плане видов характеристик «Свойства Номенклатуры» мы будем хранить множество свойств характеристик номенклатуры таких как, например, «Поставщик», «Производитель».
В справочнике «Значение Свойства» будем хранить множество значений свойства характеристики таких, как например «Поставщик1», «Поставщик2», «BAXI» и так далее. Справочник сделаем подчиненным плану видов характеристик для построения однозначного соответствия «свойство -> значение свойства».
Для связи характеристики, свойства, значения свойства создадим регистр сведений «Значения Характеристик». В регистре сведений соответственно определим реквизиты: «Объект». Для него установим свойство «Ведущее» в значение «Истина» для удобного заполнения регистра из характеристики, «Свойство» для хранения ссылка на свойство характеристики и ресурс «Значение» для хранения ссылки на значение свойства.
После изменения конфигурации внесем данные свойств и значений характеристик номенклатуры.
Пример:
3. Два способа формирования отчета в СКД 1С 8.3.
После проделанной работы попробуем снова сформировать отчет с отбором по значению свойства характеристики. И что мы видим? Ничего у нас не получилось. Почему? Мы организовали схему хранения данных, которая позволяет нам производить отборы, а отборы так и остались недоступными. Для решения данной проблемы существует два способа:
Первый способ – модификация нашего отчета. Откроем схему компоновки данных нашего отчета, откроем в конструкторе запроса «Запрос» и перейдем на закладку «Характеристики». Добавим следующую строку:
Рис. 14
Поясним, что мы сделали:
1. Описание списка характеристик:
· Указали «Тип», для которого определяются характеристики «СправочникСсылка.ХарактеристикиНоменклатуры».
· Указали, как мы будем получать данные из «Запроса» или «Таблицы» данных. Поле «Источник видов» - «Таблица».
· Указали, в какой таблице данных метаданных поле «Виды характеристик» находятся данные с описанием свойств характеристик «ПланВидовХарактеристик.СвойстваНоменклатуры».
· Указали, по какому полю таблице данных метаданных «ПланВидовХарактеристик.СвойстваНоменклатуры» будет установлена связь с характеристикой номенклатуры. Поле ключа «Ссылка».
· Указали в качестве представление свойства характеристики имя. Поле имени «Наименование» имя, под которым пользователь вводил характеристику.
· Указали в качестве типа - поле типа значения «ТипЗначения». Значение поля используется в отборе по полю - характеристика.
2. Описание значений характеристик:
· Указали, как мы будем получать данные из «Запроса» или «Таблицы» данных. Поле «Источник видов» - «Таблица».
· Указали, в какой таблице данных метаданных поля «Значения характеристик» находятся данные со значениями свойств характеристик «РегистрСведений.ЗначенияХарактеристик».
· Указали, по какому полю таблицы данных метаданных будет установлена связь со свойством характеристики. Поле объекта «Ссылка». В данном поле будет производиться поиск значения идентификатора, полученного в списке характеристик.
· Указали поле вида – «Свойство». Это поле является связующим между значением характеристики и свойством характеристики.
· Поле значение хранит значение свойства характеристики.
Произведя таким образом дополнительную настройку отчета, получим следующий результат:
Рис. 15
Возможность производить отбор по значениям свойств характеристик:
Рис.16
Итог – поставленная задача решена.
Однако данную задачу можно решить и вторым способом, не модифицируя отчет.
Для этого нам потребуется внести изменения в справочник «ХарактеристикиНоменклатуры». Перейдем на закладку «Данные» и нажмем кнопку «Характеристики»:
Рис.17
Добавим строку:
Рис.18
Описание значений строки идентично тому, как мы добавляли строку в отчете.
Результат модификации справочника и формирование отчета в 1С будет такой же, как в первом способе. Отличие заключается в том, что первый способ будет действовать только в нашем отчете, а второй способ будет действовать для всех механизмов получения данных конфигурации. Чем пользоваться, решать Вам.
Вывод.
Характеристики в схеме компоновки данных 1С 8.3 – это просто. Главное понять, как связанны между собой характеристики, свойства характеристик и значения свойств характеристик. После этого добавление характеристик в 1С СКД становится чисто техническим вопросом.
Специалист компании ООО «Кодерлайн»
Дмитрий Гречушкин.