Что у нас есть?
Пример будем приводить на конфигурации «Управление производственным предприятием» версии 1.3. В информационной базе для всех элементов справочника «Организации» добавлены свойства «Основной склад», «Связанный контрагент» и «Страна размещения». Нам нужно создать отчет в системе компоновки данных (СКД), в котором мы сможем накладывать отбор по дополнительным характеристиками организаций.
При этом мы будем использовать стандартный функционал СКД для работы с характеристиками объектов. Также рассмотрим особенность разработки подобных отчетов, а именно — отсутствие возможности использовать дополнительные характеристики в конструкторе схемы компоновки данных в режиме «Конфигуратор». Последнее не позволяет использовать поля характеристик в настройке выводимых полей в отчете, отборах, группировка в структуре отчета и так далее.
Создаем отчет и настраиваем характеристики
Создадим простой отчет. В нем будет один набор данных со следующим запросом:
ВЫБРАТЬ Организации.Ссылка КАК Организация, Организации.ИНН, Организации.КПП ИЗ Справочник.Организации КАК Организации
Структура отчета будет иметь вывод только по детальным записям со всеми полями, выбираемыми в запросе. В конструкторе настройка структуры отчета будет выглядит следующим образом:
На скриншоте ниже представлен вывод отчета с текущими настройками.
Отлично. Теперь перейдем к настройке характеристик, но перед этим напомню в общих чертах работу механизма характеристик в большинстве типовых конфигураций, в том числе и УПП. Для этого используются несколько объектов конфигурации.
- План видов характеристик
СвойстваОбъектов
- Регистр сведений
ЗначенияСвойствОбъектов
Графически связь между объектом информационной базы и его характеристиками можно изобразить по такой схеме:
Опишем схему подробнее. В регистре сведений ЗначенияСвойствОбъектов
в измерении Объект
содержится ссылка на элемент информационной базы, для которого сохраняется свойство. В нашем примере это ссылка на элемент справочника Организации
. Все возможные свойства объекта определяются в плане видов характеристик (ПВХ) СвойстваОбъектов
. Значение характеристики, сохраняемое в регистре сведений, зависиот от доступных типов данных для элемента плана видов характеристик, записанного в измерение Свойство
. Это описание должно дать лишь общее представление о механизме доп.свойств. На практике он сложнее.
Теперь перейдем к настройке характеристик в схеме компоновки данных. Для этого запустим конструктор запроса и перейдем на вкладку «Характеристики». Здесь нужно добавить поле связи объекта информационной базы с таблицами свойств и значений свойств. Ранее мы рассматривали схему связи между объектами конфигурации для хранения доп.свойств/характеристик. В соответствии с этой информацией настройка будет следюущей:
После этого запрос набора данных дополнится инструкциями получения характеристик объектов.
ВЫБРАТЬ Организации.Ссылка КАК Организация, Организации.ИНН, Организации.КПП ИЗ Справочник.Организации КАК Организации // Доп. инструкции для получения характеристик {ХАРАКТЕРИСТИКИ ТИП(Справочник.Организации) ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов ПОЛЕКЛЮЧА Ссылка ПОЛЕИМЕНИ Наименование ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов ПОЛЕОБЪЕКТА Объект ПОЛЕВИДА Свойство ПОЛЕЗНАЧЕНИЯ Значение}
На этом все. Функционал отчета теперь позволяет выбрать поля дополнительных характеристик в отчете (поля вывода, отборы и т.д.). Но есть одно НО. Использовать эти поля в настройках отчета мы можем только в режиме 1С:Предприятия. В конфигураторе мы не можем увидеть поля характеристик, что логично, ведь характеристики вводятся пользователем и хранятся в информационной базе.
Но если есть необходимость, мы можем добавить поля характеристик, например, в отбор перед его открытием. Рассмотрим небольшой пример.
Программная работа с характеристиками
При открытии формы отчета выполним следующим программный код:
ТекущиеНастройки = КомпоновщикНастроек.Настройки; КоллекцияОтборов = ТекущиеНастройки.Отбор.Элементы; // Добавляем отбор по доп. реквизиту номенклатуры "Основной склад" НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Основной склад]"); НовЭл.Использование = Ложь; // Добавляем отбор по доп. реквизиту номенклатуры "Страна размещения" НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Страна размещения]"); НовЭл.Использование = Ложь; // Добавляем отбор по доп. реквизиту номенклатуры "Связанный контрагент" НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Связанный контрагент]"); НовЭл.Использование = Ложь;
Тогда если мы посмотрим в отбор отчета в режиме 1С:Предприятие, то увидим следующиую картину:
Таким образом, мы программно добавили отбор по дополнительным характеристикам справочника Организации, не смотря на то, что в конструкторе СКД эти поля не были доступны. Обратите внимание на синтаксис определения поля компоновки данных.
Новый ПолеКомпоновкиДанных("Организация.[Связанный контрагент]")
а именно на текст [Связанный контрагент]
. Если мы напишем вот так:
Новый ПолеКомпоновкиДанных("Организация.СвязанныйКонтрагент"),
то при запуске отчета СКД неправильно определит поля компоновки. В настройках поля отбора будут выделены как некорректные:
Для дополнительных свойст и реквизитов, которые не доступны в конструкторе СКД, при программном обращении необходимо использовать следующий синтаксис:
Новый ПолеКомпоновкиДанных(".[]")
Таким образом, мы можем устанавливать настройки отчета, даже если поля недоступны в конструкторе СКД.
Вывод
Использование настройки характеристик в СКД позволяет значительно упростить разработку сложных отчетов. Несмотря на некоторые недостатки в работе, такие как отсутствие возможности настройки отбора по доп. свойствам в конструкторе и т.д., механизм характеристик можно считать значительным шагом в упрощении разработки отчетов в системе 1С:Предприятие.
В статье мы рассмотрели далеко не все возможности характеристик в СКД. За рамками статьи остались такие возможности как: произвольное определение источников данных, как для свойств, так и для значений характеристик, а также отбор по владельцу для всех доступных характеристик в информационной базе и многое другое. Тема большая, есть куда расширять круг своих знания.
СКД, доп. реквизиты в запросе |
Я |
12.05.22 — 09:24
Бухгалтерия 3.0. В номенклатуре доп. реквизит Вес, вид Число 14,3. Делаю отчет на СКД:
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
РеализацияТоваровУслугТовары.Количество КАК Количество,
НоменклатураДополнительныеРеквизиты.Значение КАК Вес
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
ПО РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
ГДЕ
НоменклатураДополнительныеРеквизиты.Свойство.Наименование ПОДОБНО &ИмяСвойства
И РеализацияТоваровУслугТовары.Ссылка = &Ссылка
Вес выводит, но не воспринимает его как число: нет в итогах, нельзя умножить на количество в запросе.
Меняю код, вес считаю через Выразить:
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
РеализацияТоваровУслугТовары.Количество КАК Количество,
Выразить(НоменклатураДополнительныеРеквизиты.Значение КАК Число(14,3)) КАК Вес
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
ПО РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка
ГДЕ
НоменклатураДополнительныеРеквизиты.Свойство.Наименование ПОДОБНО &ИмяСвойства
И РеализацияТоваровУслугТовары.Ссылка = &Ссылка
Теперь Вес можно перемножать, но он везде = 0.
Как это можно исправить?
1 — 12.05.22 — 09:50
Может быть, поместить во временную таблицу?
2 — 12.05.22 — 09:58
(0) Как вы думаете, что будет, если у части номенклатуры данный доп реквизит будет не заполнен?)
Как отработает вот этот кусок?)
ГДЕ
НоменклатураДополнительныеРеквизиты.Свойство.Наименование ПОДОБНО &ИмяСвойства
3 — 12.05.22 — 10:11
(2) Заполнено в параметрах СКД, «%Вес%», иначе бы первый запрос не работал. Ссылка выбирается на форме. Отчет выдает правильный вес, но не считает его числом.
4 — 12.05.22 — 10:11
+(3) и там левое соединение.
5 — 12.05.22 — 10:12
(3) А как вы думаете, что будет с общей таблицей после соединения, если вы обрезаете условием по правой таблице?
6 — 12.05.22 — 10:17
Вот вам простой пример
Таб1
Номенклатура | Количество
Стакан 10
Кружка 20
Таб2
Номенклатура | Свойство | Значение
Стакан Вес 0.5
Как вы думаете, что будет в итоговой, когда вы левым соединением к таб1 прикрутите таб2 по номенклатуре и сделаете отбор Где Таб2.Свойство=Вес?
7 — 12.05.22 — 10:28
Ну хорошо, тогда как сделать правильно?
8 — 12.05.22 — 10:33
(7) вы должны понимать, что отбор работает уже после соединения таблиц. Для того, чтобы не потерять данные из реализации, вам нужно либо изначально сделать отбор в правой таблице и готовую уже поместить во временную таблицу (ее уже соединять с основной таблицей). Либо в самом соединении прописать условие ПО РеализацияТоваровУслугТовары.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка И НоменклатураДополнительныеРеквизиты.Свойство.Наименование ПОДОБНО &ИмяСвойства
9 — 12.05.22 — 10:34
Попробуйте еще заменить подобно на равно
10 — 12.05.22 — 10:34
и указать точное наименование
11 — 12.05.22 — 10:36
Как правильно = долго объяснять
Не буду. Пока есть такие коллеги у меня будет работа по оптимизации.
В чем проблема? Не все данные? Это коллега написал выше.
ЕстьNULL пробовали?
«И дают таким ружье?» (С) И зарплату высокую.
Все такими были.
Когда вводишь свойство, нужно указывать имя для программиста.
12 — 12.05.22 — 10:37
Проблема в чем? В том что не прермножается?
ЕстьNULL
Какой вопрос, такой ответ.
13 — 12.05.22 — 10:38
Вообще странно
Вроде большенький. Одногодка. 15 лет стажа )
Удачи коллега.
14 — 12.05.22 — 10:41
(12) Это хорошо, что на данном этапе тормознул. Было бы гораздо хуже, когда вес вывелся и посчитался. А потом через несколько месяцев руководство заметило, что числа сильно занижены и выяснилось, что часть строк тупо обрезалась и планировние шло по одному месту все это время. А все из-за отбора по правой таблице и косяков в заведении веса в карточках номенклатуры)
15 — 12.05.22 — 10:41
Топорная работа на 16-м году кодирования. )
16 — 12.05.22 — 10:42
хорошо ведь, когда отчет работает, строчки какие-то выводит, суммы считает вроде даже пару совпало)
17 — 12.05.22 — 10:42
(14)
Ну да.
Запрос кривой.
И не только по этому.
Подход г…но.
18 — 12.05.22 — 10:44
мой совет ТС, купите пару книжек Хрусталевой по запросам и СКД, многие вопросы сами отпадут
19 — 12.05.22 — 10:44
Скорость отбора будет завышена по сравнению с той что могла бы быть.
20 — 12.05.22 — 10:44
(18)
Не трогай его. Он 15 лет за еду пишет.
21 — 12.05.22 — 10:46
Поздно учить. До пенсии 15 лет.
Судя по виду на аватарке не доживет )
22 — 12.05.22 — 10:46
Чем типовой механизм характеристик не устраивает? В БП для Номенклатуры он настроен для Справочник.Номенклатура.ТабличнаяЧасть.ДополнительныеРеквизиты в том числе.
23 — 12.05.22 — 10:51
ох. виноват )))
это еще и СКД )
Батюшки святы … Тогда еще больше вариантов.
Ленивые не пишут код.
24 — 12.05.22 — 10:52
Видимо вариант отчета придется только в пользовательском настраивать.
25 — 12.05.22 — 11:49
Спасибо, коллеги. Запрос подправил, появились строки накладной без веса Основная проблема в том, что значение — это составной тип данных, который не хочет преобразовываться в число.
26 — 12.05.22 — 11:56
(25) а теперь эти строки нужно проверять на нулл и преобразовывать в 0
27 — 12.05.22 — 11:57
Тогда тип будет числовой у поля и можно будет суммировать. А то у вас получается
Кружка 10
Ложка Null
Вилка 5
Итого редиска!
28 — 12.05.22 — 13:28
ЕСТЬNULL(ВложенныйЗапрос.Вес, 0) — пустое значение во всех строках
ВложенныйЗапрос.Вес даёт значение веса, но выглядит в отчёте как строка (форматирование влево по умолчанию), в то время как Количество отформатировано как число, вправо.
tesei
29 — 12.05.22 — 17:35
Сделал через обычную внешнюю печатную форму, ну его нафиг, этот СКД. Вес преобразовал из строки в число. Итоговый вес посчитал инкрементом в цикле. Дёшево, сердито, без понтов.
1с Дополнительные реквизиты
Дополнительные реквизиты объектов 1с позволяют определить дополнительные свойства объекта.
Теоретический материал.
В библиотеке стандартных подсистем дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. Принцип работы дополнительных реквизитов и сведений, их добавление и получение значений.
Отличие дополнительного реквизита от дополнительного сведения в том, что
- Дополнительные реквизиты – список реквизитов, доступных в форме документа или справочника; причем эти реквизиты хранятся в табличной части объекта, к которому они добавлены;
- Дополнительные сведения – список значений доступных по дополнительной кнопке; причем доп. сведения хранятся в отдельном регистре.
После ввода дополнительного реквизита или сведения 1С, можно создать подключаемую обработку, где считать введенные дополнительные данные и задать необходимую логику обработки данных, в которой использовать этот реквизит или сведение.
Дополнительные реквизиты 1с включить возможность использования.
При необходимости можно добавить дополнительный реквизит для группы товаров или для всех товаров справочника “Номенклатура” или справочника “Сотрудники”.
Для этого необходимо выполнить следующие действия:
- Меню: НСИ и Администрирование – Администрирование – Общие настройки – Дополнительные реквизиты и сведения.
- Установите флажок “Дополнительные реквизиты и сведения” и нажмите гиперссылку “Дополнительные реквизиты”
Далее заходим по ссылке “Дополнительные реквизиты”. Выбираем объект и проверяем его “Дополнительные реквизиты”.
Рассмотрим Настройки дополнительного реквизита “БанкИНН”.
Пример использования имени для получения дополнительного реквизита:
ВЫБРАТЬ
ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Ссылка КАК Ссылка,
ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Значение КАК Значение
ИЗ
Документ.ВедомостьНаВыплатуЗарплатыВБанк.ДополнительныеРеквизиты КАК ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты
ГДЕ
ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Ссылка = &Ссылка
И ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Свойство.Имя = &Имя
В типовой 1С торговле 11 дополнительные реквизиты хранятся не в регистре сведений, а в табличной части справочника (речь идет не о справочнике номенклатуры). Табличная часть называется “ДополнительныеРеквизиты”. Строки табличной части содержат реквизиты: Значение и Свойство. Если в качестве источника значений выбрать таблицу справочника, то СКД не дает в качестве Поля Вида и Поля Значения выбрать реквизиты табличной части справочника, можно только саму табличную часть. То же и с запросом.
loginza7oi6IWyXZ5RHccDYmqYbcD
11 лет назад
Люди! Скажите пожалуйста, что это за секретное кунг-фу?:
В УТ 11 для номенклатуры создайте общий доп. реквизит, напр. “Бренд”
Потом в конфигураторе сделайте простейший внешний отчет с выборкой номенклатуры и группировкой по Номенклатура.Ссылка
Потом в режиме предприятия откройте этот отчет, измените вариант настройки, на закладке “Отбор” плюсиком разверните реквизиты номенклатуры. и что мы там видим? Помимо заданных в конфигураторе реквизитов обнаруживаем реквизит “Бренд”, по которому можно делать отбор, причем с правильным типом. Как такое возможно? Откуда компоновка знает о доп. реквизитах? Как она делает отбор по значениям реквизитов в ТЧ номенклатуры?
Бьюсь с тем же – как попадают доп.реквизиты в поля СКД в типовых?? откуда он их подхватывает?
Содержание:
1. Механизм учета поставщиков и производителей в 1С СКД с использованием характеристик номенклатуры.
2. Схема хранения данных.
3. Два способа формирования отчета в СКД 1С 8.3.
Добрый день, уважаемые коллеги. Сегодня рассмотрим пример использования характеристик в СКД (Система компоновки данных).
1. Механизм учета поставщиков и производителей в 1С СКД с использованием характеристик номенклатуры
Для примера будем использовать простую конфигурацию для учета отопительного оборудования. Учет по поставщикам и производителям будем вести с использованием характеристик номенклатуры в 1С 8.3.
Реализация.
Создадим два справочника – «Номенклатура» и «ХарактеристикиНоменклатуры».
Рис.1
Для того чтобы можно было однозначно соотнести значение характеристики и номенклатуры, справочник «ХарактеристикиНоменклатуры» будет подчинен справочнику «Номенклатура».
Создадим документ «ПоступлениеТоваров» с табличной частью «ТабличнаяНоменклатура» и реквизитами табличной части: «Номенклатура» с типом «СправочникСсылка.Номенклатура», «Характеристика» с типом «СправочникСсылка.ХарактеристикиНоменклатуры» и «Количество» с типом «Число».
Рис.2
Создадим регистр накопления в 1С 8.3 «ОстаткиНоменклатуры» для хранения остатков номенклатуры в разрезе характеристик:
Рис.3
Для документа «ПоступлениеТоваров» сформируем код для движения по регистру «ОстаткиНоменклатуры»:
Рис.4
Создадим в 1С:Предприятие 8.3 документ «Поступления товаров» и оприходуем две номенклатуры. Первая – котел газовый «VAILLANT TURBOFIT» с характеристиками производитель «VAILLANT» и поставщик «Поставщик1», производитель «VAILLANT» и поставщик «Поставщик2». Вторая – котел газовый «ВАХI BASIC» с характеристиками производитель «BAXI» и поставщик «Поставщик2», производитель «BAXI» и поставщик «Поставщик1»:
Рис.5
Сформированные движения документом:
Рис.6
После того как был оприходован товар, нам необходимо проконтролировать остатки товара в разрезе характеристик. Для этого создадим отчет «ОстаткиТоваров» с использованием СКД:
Рис.7
Рис.8
Рис.9
Сформируем в 1С:Предприятие 8.3 отчет:
Рис.10
Отчет, как мы и задумывали, вывел остатки номенклатуры в разрезе Характеристик – все хорошо. Усложним задачу. Попробуем отобрать в отчет только ту номенклатуру поставщиком, которой является «Поставщик2». Перейдем в настройки и реализуем отбор:
Рис.11
Как мы могли убедиться, такой отбор установить невозможно для данной реализации задачи, потому что характеристика номенклатуры у нас представлена в виде строки. Чтобы реализовать возможность отбора по значениям характеристики номенклатуры, введем в нашу конфигурацию новый объект метаданных «План видов характеристик», который позволит нам реализовать возможность отбора по значениям характеристики номенклатуры.
2. Схема хранения данных
Концепция хранения данных будет следующая:
Рис.12
Поясним схему хранения данных:
В плане видов характеристик «Свойства Номенклатуры» мы будем хранить множество свойств характеристик номенклатуры таких как, например, «Поставщик», «Производитель».
В справочнике «Значение Свойства» будем хранить множество значений свойства характеристики таких, как например «Поставщик1», «Поставщик2», «BAXI» и так далее. Справочник сделаем подчиненным плану видов характеристик для построения однозначного соответствия «свойство -> значение свойства».
Для связи характеристики, свойства, значения свойства создадим регистр сведений «Значения Характеристик». В регистре сведений соответственно определим реквизиты: «Объект». Для него установим свойство «Ведущее» в значение «Истина» для удобного заполнения регистра из характеристики, «Свойство» для хранения ссылка на свойство характеристики и ресурс «Значение» для хранения ссылки на значение свойства.
После изменения конфигурации внесем данные свойств и значений характеристик номенклатуры.
Пример:
Рис.13
3. Два способа формирования отчета в СКД 1С 8.3.
После проделанной работы попробуем снова сформировать отчет с отбором по значению свойства характеристики. И что мы видим? Ничего у нас не получилось. Почему? Мы организовали схему хранения данных, которая позволяет нам производить отборы, а отборы так и остались недоступными. Для решения данной проблемы существует два способа:
Первый способ – модификация нашего отчета. Откроем схему компоновки данных нашего отчета, откроем в конструкторе запроса «Запрос» и перейдем на закладку «Характеристики». Добавим следующую строку:
Рис. 14
Поясним, что мы сделали:
1. Описание списка характеристик:
· Указали «Тип», для которого определяются характеристики «СправочникСсылка.ХарактеристикиНоменклатуры».
· Указали, как мы будем получать данные из «Запроса» или «Таблицы» данных. Поле «Источник видов» — «Таблица».
· Указали, в какой таблице данных метаданных поле «Виды характеристик» находятся данные с описанием свойств характеристик «ПланВидовХарактеристик.СвойстваНоменклатуры».
· Указали, по какому полю таблице данных метаданных «ПланВидовХарактеристик.СвойстваНоменклатуры» будет установлена связь с характеристикой номенклатуры. Поле ключа «Ссылка».
· Указали в качестве представление свойства характеристики имя. Поле имени «Наименование» имя, под которым пользователь вводил характеристику.
· Указали в качестве типа — поле типа значения «ТипЗначения». Значение поля используется в отборе по полю — характеристика.
2. Описание значений характеристик:
· Указали, как мы будем получать данные из «Запроса» или «Таблицы» данных. Поле «Источник видов» — «Таблица».
· Указали, в какой таблице данных метаданных поля «Значения характеристик» находятся данные со значениями свойств характеристик «РегистрСведений.ЗначенияХарактеристик».
· Указали, по какому полю таблицы данных метаданных будет установлена связь со свойством характеристики. Поле объекта «Ссылка». В данном поле будет производиться поиск значения идентификатора, полученного в списке характеристик.
· Указали поле вида – «Свойство». Это поле является связующим между значением характеристики и свойством характеристики.
· Поле значение хранит значение свойства характеристики.
Произведя таким образом дополнительную настройку отчета, получим следующий результат:
Рис. 15
Возможность производить отбор по значениям свойств характеристик:
Рис.16
Итог – поставленная задача решена.
Однако данную задачу можно решить и вторым способом, не модифицируя отчет.
Для этого нам потребуется внести изменения в справочник «ХарактеристикиНоменклатуры». Перейдем на закладку «Данные» и нажмем кнопку «Характеристики»:
Рис.17
Добавим строку:
Рис.18
Описание значений строки идентично тому, как мы добавляли строку в отчете.
Результат модификации справочника и формирование отчета в 1С будет такой же, как в первом способе. Отличие заключается в том, что первый способ будет действовать только в нашем отчете, а второй способ будет действовать для всех механизмов получения данных конфигурации. Чем пользоваться, решать Вам.
Вывод.
Характеристики в схеме компоновки данных 1С 8.3 – это просто. Главное понять, как связанны между собой характеристики, свойства характеристик и значения свойств характеристик. После этого добавление характеристик в 1С СКД становится чисто техническим вопросом.
Специалист компании ООО «Кодерлайн»
Дмитрий Гречушкин.
3 / 3 / 2 Регистрация: 18.02.2014 Сообщений: 41 |
|
1 |
|
1C 8.x Дополнительные реквизиты в СКД28.05.2015, 12:29. Показов 27998. Ответов 11
Делаю отчет в скд по продажам менеджеров. У менеджера есть доп.реквизит. Необходимо сумму продаж поделить на допреквизит и вывести в отчет. Но как запросить этот реквизит?
0 |
Модератор 3708 / 2905 / 572 Регистрация: 10.03.2011 Сообщений: 11,442 Записей в блоге: 1 |
|
28.05.2015, 13:49 |
2 |
Сделать числовой параметр (вкладка параметры)
0 |
3 / 3 / 2 Регистрация: 18.02.2014 Сообщений: 41 |
|
28.05.2015, 14:21 [ТС] |
3 |
А поподробнее? Значение доп.рек. у менеджеров различные, и со временем меняются…
0 |
Модератор 3708 / 2905 / 572 Регистрация: 10.03.2011 Сообщений: 11,442 Записей в блоге: 1 |
|
28.05.2015, 14:26 |
4 |
Ну типа вопрос менеджеру: Укажи свой доп реквизит! А то фиг отчет получишь!!!
0 |
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
28.05.2015, 14:34 |
5 |
В управляемом приложении параметры СКД сами выводятся на форму. Только после добавления их надо включать на вкладке «Наптройки» — «Параметры» (поставить галку) и добавьте его в пользовательские натройки (на той же вкладке справа есть кнопка с табличкой и шестеренкой).
0 |
3 / 3 / 2 Регистрация: 18.02.2014 Сообщений: 41 |
|
28.05.2015, 14:44 [ТС] |
6 |
Не все так просто) Раньше вручную создавал через конфу реквизит, с ним работать просто. Но потом проблемы с обновлением, обменом……. Решено было работать штатными реквизитами.
0 |
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
28.05.2015, 14:59 |
7 |
Не нужно там вычисляемое поле, добавьте в запрос поле, его же можно редактировать. К параметру обращаемся так — &ИмяПараметра.
0 |
3 / 3 / 2 Регистрация: 18.02.2014 Сообщений: 41 |
|
28.05.2015, 15:08 [ТС] |
8 |
Согласен, но как мне в запросе выудить значение допреквизита? Допреквизиты хранятся в табличной части справочника. Как то найти по наименованию……. Ужа когда формируешь отчет, появляется Менеджер.Процент… Говорили мне что муть с этими реквизитами….
0 |
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
28.05.2015, 15:14 |
9 |
как мне в запросе выудить значение допреквизита?
Допреквизиты хранятся в табличной части справочника. Тогда добавляйте эту ТЧ в запрос и выуживайте. Связи только правильно настроить надо.
1 |
3 / 3 / 2 Регистрация: 18.02.2014 Сообщений: 41 |
|
01.06.2015, 17:30 [ТС] |
10 |
Мысль то ясна, но как?))) Добавлено через 26 минут Добавлено через 55 минут
0 |
Злой самаритянин 182 / 182 / 94 Регистрация: 24.04.2014 Сообщений: 686 |
|
01.06.2015, 17:38 |
11 |
Нет, просто произвольное выражение. Тоже в конструкторе. Вкладка «Таблицы и поля». Список «Поля». Плюсиком сверху добавляем поле, перетаскиваем реквизиты из списка слева-сверху вниз, расставляем нужные знаки — арифметические там ничем не отличаются. Профит. Добавлено через 1 минуту Добавлено через 1 минуту
1 |
3 / 3 / 2 Регистрация: 18.02.2014 Сообщений: 41 |
|
02.06.2015, 12:17 [ТС] |
12 |
Проблема решена. Все оказалось не так сложно. Если необходимо, распишу подробнее.
0 |
Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3
Общие приемы и механизмы решения задач – тема № 31:
Как реализовать использование дополнительных свойств объектов в отчетах, чтобы ускорить разработку на экзамене
Постановка задачи:
Необходимо реализовать использование дополнительных свойств объектов в отчетах. Произвести в конфигураторе настройки объектов метаданных для обеспечения использования дополнительных свойств экземпляров этих объектов в пользовательском режиме (в отчетах и формах).
При выполнении поставленной задачи используются объекты конфигурации, созданные в ходе изучения вариантов решения предыдущей задачи.
Пользователь может использовать характеристики, назначенные на уровне объекта метаданных, в отборах отчета, построенного на СКД, в настройках динамических списков и т.д.
Использование механизма характеристик в отчетах на СКД
При использовании ПВХ пользователь в режиме «1С:Предприятие» может настроить произвольные характеристики для различных объектов базы. Специальные механизмы для работы с характеристиками предоставляет Система компоновки данных.
В конфигураторе для конкретного отчета можно описать характеристики, которые в настройках отчета в пользовательском режиме будут использоваться как реквизиты (вложенные поля объектов). Такие «реквизиты» можно использовать для отборов, выводить в отчет, использовать для условного оформления.
Рассмотрим пример. При настройке отчета в пользовательском режиме в отборах можно использовать поля «Разрешение экрана» или «Тип SIM-карты».
Рисунок 1 – Доступность характеристик в виде вложенных полей
Однако в справочнике «Номенклатура» такие реквизиты в конфигураторе не создавались. В предыдущем разделе демонстрировалось, как организовать назначение таких характеристик при помощи ПВХ. Система компоновки данных позволяет выводить дополнительные характеристики вместе с реквизитами объектов. Причем пользователю даже не нужно знать, является ли конкретное поле реквизитом объекта или характеристикой. В настройках отчета они будут отображаться одинаково – как реквизиты объекта (в виде вложенных полей).
Подобное поведение можно реализовать при помощи расширения языка запросов для системы компоновки данных. Таким образом в отчетах на СКД можно указывать, какие виды характеристик могут быть использованы в отчете, и как значения этих характеристик получать из базы. Рассмотрим этот механизм подробнее.
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии закрыты