План видов характеристик
Планы видов характеристик — это прикладные объекты конфигурации. Они предназначены для хранения информации о характеристиках различных объектов.
С их помощью пользователь может создавать всевозможные характеристики, описывать тип этих характеристик и задавать их значения. Например, для того, чтобы описывать товары произвольным количеством произвольных характеристик (цвет, размер, запах и т. д.).
Структура
По своей структуре план видов характеристик напоминает справочник: в плане видов характеристик хранятся элементы, — характеристики, которые могут иметь некоторый набор реквизитов и табличных частей и, также как и элементы справочника, могут образовывать иерархические структуры. В плане видов характеристик могут существовать предопределенные характеристики, заданные разработчиком.
Однако основное назначение плана видов характеристик заключается в том, чтобы для каждой характеристики хранить тип значения, который она может принимать:

Возможный перечень типов, которые могут принимать характеристики, указывается разработчиком в процессе создания прикладного решения:

Создавая новые характеристики (или редактируя существующие), пользователь сможет выбрать для них один из типов, входящих в этот перечень.
Однако не исключена ситуация, когда для создания очередной характеристики пользователю понадобится тип, не существующий в прикладном решении. Например, пользователь решит создать характеристику Запах, которая должна иметь значения справочника Запахи, но такого справочника в прикладном решении нет.
Специально для таких ситуаций разработчик может создать специальный пустой справочник, и указать, что в нем будут храниться дополнительные значения характеристик:

Теперь, создавая характеристику Запах, пользователь сможет выбрать для нее тип значения этого специального справочника, а в самом справочнике создать нужные ему значения: Сладкий, Резкий, Кислый и т. д.
Формы плана видов характеристик
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов характеристик, система поддерживает несколько форм его представления. Система может автоматически генерировать все нужные формы плана видов характеристик. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:

Форма списка
Для просмотра данных, содержащихся в плане видов характеристик, используется форма списка. Она позволяет выполнять навигацию по плану, добавлять, помечать на удаление и удалять характеристики и группы характеристик, перемещать характеристики и группы. Форма списка может представлять данные в иерархическом и не иерархическом виде и позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:

Форма характеристики
Для просмотра и изменения данных отдельных характеристик используется форма характеристики. Как правило, она представляет данные в удобном для восприятия и редактирования виде:

Кроме этого для планов видов характеристик, также как и для справочников, поддерживаются формы группы, выбора и выбора группы.
Планы видов характеристик в 1С 8.3

Данный объект платформы 1С является интересным и полезным при правильном применении. К нему прибегают разработчики в тех случаях, когда необходимо предоставить возможность заказчикам самостоятельно регулировать перечень свойств той или иной сущности. Чаще такие методы внедрения можно увидеть в компании, где в будущем планируется увеличение параметров учета чего-либо. Планы видов характеристик – отличная возможность сделать счастливым заказчика с нечетким техническим заданием.
Создаем ПВХ в 1С
Отличительная особенность объекта «План видов характеристик» заключается в возможности пользователей самостоятельно добавлять разрезы учета для элементов справочника в 1С. Разработчику нужно лишь один раз настроить ПВХ, и более пользователи не будут его беспокоить по поводу добавления характеристик справочника. План видов характеристик поможет в ситуациях, когда у сотрудников заказчика нет четкой определенности относительно свойств учитываемых элементов, а внедрение запустилось.
Еще одна ситуация, где ПВХ будет оптимальным решением – перепроверка элементов с указанием новых свойств. К примеру, в 1С номенклатуру всегда добавляли, указывая только наименование, а теперь решили, что нужно указывать цвет, длину и марку. Многие решают эту ситуацию с помощью текстового поля «Комментарий», куда заносят всю информацию через запятую. Этот путь ведет к проблеме усложнения получения правильных данных из отчетов, в отличие от добавления плана видов характеристик.
ПВХ добавляется через конфигуратор: в дереве объектов находим ветку «Планы видов характеристик» и с помощью кнопки «Добавить» создаем новый элемент. Записываем название, отражающее сущность, и с помощью поля «Тип значения характеристик» определяем, какие типы значений смогут указывать наши пользователи. Указывать можно примитивные типы, справочники, перечисления и другие ПВХ.

Для возможности добавлять различные характеристики и качества, которых нет в 1С, нам необходимо добавить дополнительный справочник, подчиненный созданному ПВХ. В нем будут содержаться значения качеств, которые пользователи будут добавлять в план видов характеристик. Они будут привязаны к конкретному качеству, и сотрудники компании не смогут выбрать неподходящее значение.

После создания подчиненного справочника в ПВХ во вкладке «Основное» нужно выбрать его в поле «Дополнительные значения характеристик». Осталось лишь создать новый регистр сведений, где и будут храниться все данные по дополнительным характеристикам, введенные пользователями. Это будет непериодический независимый РС со следующими полями (вкладка «Данные»):
- Измерение «Номенклатура». Тип – ссылка на соответствующий справочник, отметка «Ведущее» обязательна, чтобы в 1С при открытии номенклатуры пользователь мог указывать дополнительные показатели;
- Измерение «СвойствоНоменклатуры». Тип – ссылка на созданный ПВХ;
- Ресурс «ЗначениеСвойстваНоменклатуры». Тип – Характеристика.СвойствоНоменклатуры, в свойство «Связь по типу» указываем Свойствономенклатуры. Для удобства пользователей настройте связи параметров выбора, указав отбор по владельцу (СвойствоНоменклатуры).

Проверка работоспособности
После всех вышеперечисленных настроек остается только обновить базу, настроить права и запустить 1С для проверки работоспособности всей схемы. Открыв любую номенклатуру, мы увидим сверху имя нашего регистра сведений в виде ссылки. Нажатие на нее откроет пустую таблицу из полей, созданного нами РС, с возможностью создавать в ней записи.

При создании 1С автоматически заполняет номенклатуру и предлагает нам определиться с нужным свойством и его значением. Причем при выборе свойства, если в списке нет нужной вам характеристики номенклатуры, есть возможность ее добавить в созданный нами ПВХ. При добавлении нового разреза укажите наименование, тип значения и обратите внимание на имя созданного справочника в виде ссылки. Если перейти по ней, то увидим все значения этого свойства, внесенные в справочник.


Создадим несколько записей в справочнике для новой характеристики номенклатуры. Обратите внимание, что при добавлении в справочник из этого меню, поле «Владелец» автоматически заполняется нужным нам свойством номенклатуры. Остается лишь вписать значение и записать новый элемент справочника. Добавив все нужные значения в справочник, закрывайте окно и выбирайте созданное свойство номенклатуры.

При попытке выбрать значение 1С предлагает вам только те данные, которые вы добавили именно для выбранного качества товара. Это обеспечит отсутствие ошибок пользователя и сделает работу в 1С удобнее по сравнению с тем, когда пришлось бы выбирать из всего перечня значений. Еще одно полезное ограничение обеспечивает сама платформа 1С – невозможно добавить два одинаковых свойства номенклатуры – появится ошибка об уже существующей записи.


Количество характеристик не ограничено, и даже если пользователи 1С будут каждый день добавлять новые свойства, вышеуказанная схема сохранит свою работоспособность. В конфигурации может появиться новый справочник и возникнет потребность указывать его элементы в виде значения свойств номенклатуры. В таких случаях достаточно лишь зайти в конфигуратор и добавить новый объект в типы значения характеристик созданного нами ПВХ. Обновив конфигурацию, мы увидим, что задача решена, и пользователи могут использовать данные нового справочника.

Помните о том, что теперь некоторые элементы справочников используются в регистре сведений и при удалении необходимо убирать ссылки на них. В противном случае стандартная процедура платформы по удалению объектов не сможет ликвидировать элемент справочника. Если все же объект удалить без поиска ссылок на него, то вместо него вы увидите надпись «Объект не найден».
План видов характеристик (ПВХ) — с чем его едят
План видов характеристик — эта фишка нужна Аналитикам. В данной статье мы рассмотрим пример создания сложного ПВХ по учебнику Хрусталевой/Радченко. А также создадим свой собственный механизм ПВХ с двумя видами отчетов-СКД на выходе.
Скачать файлы
.dt 235,83Kb
Как обычно ведется учет в торговом предприятии?

В первые несколько лет — все гонятся за прибылью: побольше закупить, побыстрее продать, никого пока не интересуют зависающие остатки товаров в магазинах и на складах. Объем базы растет как на дрожжах, т.к. пока порядок оприходуемого товара хаотичный.
Например, вчера купили красный стул, сегодня зеленый стул, поначалу так и вбивают в базу данные: 1) старая позиция — красный стул;2) новая позиция — зеленый стул. Но после инвентаризации — всегда появляется пересорт товара, и здесь приходят к варианту — создать новую позицию, без конкретного описания в названии товара его спец.свойств, т.е. заводят товар так, например, просто «Стул», а две предыдущие позиции товара — помечают на удаление.

Через некоторое время — свободных оборотных средств становится лимитное количество. Здесь возникает вопрос: а какие именно товары имели больший спрос, чтобы вкладывать средства в них, а не в зависающий товар.

То есть вновь требуется знать дополнительные характеристики товара, но вводить эти характеристики в базу нужно уже не в хаотичном порядке, — просто в названии товара добавив какие-нибудь описания, а четко и правильно:название должно быть коротким, лаконичным, и в дополнительном поле — описаны всевозможные характеристики данного товара: например, его цвет, объем, вес, производителя и многое другое.
Тут если мы запишем свойства товара в справочнике Номенклатуры в поле «Комментарии», то Аналитику будет не просто сделать нужный ему отчет по популярности и оборачиваемости конкретно данного товара с конкретно данными свойствами товара.
Мы можем прикрепить к справочнику Номенклатура — подчиненный справочник, в который пользователь может вводить необходимые свойства и описания товара, но в таком подходе — мы столкнемся с проблемой невозможности угадать какого именно типа пользователь захочет ввести доп.информацию.
Н-р, под товаром «Стул» — пользователь желает указать свойство товара — цвет, это строковое значение данных. Значит в подчиненном справочнике — мы реквизит сделаем строковым. А если он желает указать доп.свойство товара, например, производителя? Тогда мы должны реквизит в подчиненном справочнике сделать ссылочного типа, указывая на др.справочник «Производители». А если пользователь в доп.свойствах к своему товару желает указать сколько ножек у стула? Мы в подчиненном справочнике должны реквизит сделать числовым.

Отсюда, когда нам нужно дать возможность пользователю самому создавать ТИП данных, в значения которых он будет вносить свою информацию, то нам нужно создавать ПВХ (план видов характеристик).
Мы создадим в нашем примере сложный ПВХ, чтобы был полноценный механизм описания дополнительных свойств товара.
Но для начала рассмотрим урок по созданию ПВХ из книги (стр.476) «1С_ Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы» Радченко/Хрусталева
В создаваемом нами ПВХ в поле «Тип значения характеристик» — укажем составной тип данных: Число,Строка,Дата,Булево,СправочникСсылка.ДополнительныеСвойстваНоменклатуры. А так же в поле ПВХ «Дополнительные значения характеристик» — указываем подчиненный ПВХ справочник «ДополнительныеСвойстваНоменклатуры».
Далее, при создании регистра сведений «ЗначенияСвойствНоменклатуры»: указываем регистру два измерения:
1) НаборыСвойств, тип = СправочникСсылка.ВариантыНоменклатуры;
2) ВидСвойства, тип = ПланВидовХарактеристикСсылка.СвойстваНоменклатуры
И создаем ресурс регистра сведений:
Значение, тип = Характеристика.СвойстваНоменклатуры.

Все новые объекты мы создали. Добавлять их в подсистемы (в интерфейс пользователя) не нужно, так как между новыми объектами есть связь, и главное — это подчиненный Номенклатуре справочник «ВариантыНоменклатуры», который мы можем увидеть, открыв любой товар из справочника Номенклатура:

Существует несколько ньюансов при настройки регистра сведений «ЗначенияСвойствНоменклатуры», здесь желательно установить измерение регистра НаборСвойств (сюда попадает выборка из спр.ВариантыНоменклатуры) — как Ведущее, это даст нам возможность из спр.»ВариантыНоменклатуры» — вызывать данный регистр Сведений. А так же для ресурса регистра Значение — установить «Связь по типу» = ВидСвойства и «Связи параметров выбора» = Отбор.Владелец(ВидСвойства).Данные настройки регистра сведений — упростят ввод пользователем данных.
Кроме того, в книге в данном уроке идет подробное описание — как лучше всего настроить формы списка и основные формы новых объектов, чтобы пользователь видел при заполнении свойств товаров — только необходимую ему информацию. Здесь мы не будем показывать всю эту деталировку.
Просто попробуем в нашем товаре, н-р, «Кабели электрические» — задать дополнительное свойство «Белые кабели», а состав свойства: «тип свойства»=Цвет и «значение свойства» = Белый. Вот по такой схеме открывающихся друг за другом окон:

. я не знаю как у вас, но у меня уже закружилась голова и уже не совсем понятно — что мы делаем и зачем))))
А представьте — объяснить такую цепочку пользователю. Чтобы наш пользователь смог понять того, чего мы уже сами не понимаем — у него должно быть минимум три сертификата по 1С)))
Если вас пугает и расстраивает введение свойств товара по выше описанной схеме, то можно посмотреть эту же схему из самого учебника:

. это просто нереально сложно. И любой начинающий программист решит, что проще никогда не связываться с ПВХ, чем пытаться в подобной схеме разобраться.
Чтобы получить итоговый результат задачи — остатки товаров по его свойствам, в книге предлагается в регистр Остатков добавить измерение «НаборСвойств» с сылочным типом на подчиненный Номенклатуре справочник «ВариантыНоменклатуры». Далее в документы прихода/расхода материалов добавить в табличные части поле с таким же названием и типом данных, дописать модулях этих документах проведение по регистру остатков «НаборСвойств». На самом справочнике «ВариантыНоменклатуры» — прописать в его меню Характеристики, что позволит их видеть потом в СКД отчете. И, как окончание, создать сам СКД-отчет по Остаткам Товара с отбором по Характеристикам:

Да, отчет получается интересный, но сам процесс создания дополнительных Характеристик (свойств) товара — очень запутанный, кроме того, пользователь при вводе стольких дополнительных данных при заполнении приходных/расходных накладных — создаст ни одну ошибку. Начиная с ввода «НабораСвойств» в полях документа.
Давайте попробуем разобраться в самом механизме создания доп.Свойств Товару, возможно у нас получится прийти к решению задачи более простым путем.
Итак, что нам нужно:
1. Дать возможность пользователю к Номенклатуре добавлять описание Свойств.
2. Дать возможность Аналитику исследовать показатели продаж в отборе по Свойствам Товара.
Рассмотрим какие у нас есть варианты при решении первого пункта задачи:
1. Мы можем добавить к справочнику Номенклатура подчиненный справочник, в который пользователь будет описывать только конкретными, заданные нами в Конфигураторе, данные строчного типа. это не подходит, так как при описании Свойств товара может понадобиться «непредсказуемый» нами в Конфигураторе Тип данных: например дата, число, строка, ссылка на др.справочник.
2. Поэтому для создания доп.Свойств Номенклатуры — мы должны создать ПВХ, так как ПВХ — это справочник + Описание Типов данных.
Если мы в справочнике Номенклатура — создадим табличную часть, в которой будет два поля — Тип данных вводимого Свойства товара и,непосредственно, само значение. Это очень просто — одно поле у нас будет ссылаться на ПВХ, др.на Характеристику этого ПВХ.
Но в этом случае, у нас не получится сделать записи уникальными. Только представьте себе вариант, где под товаром,например, Сосиски — можно ввести два вида значения Свойства «Цвет»: и красные и зеленые)))
Поэтому этот метод самый простой, но не дает уникальности в свойствах Номенклатуры.
3. Создадим ПВХ, но его значения будем набирать через регистр Сведений. Регистр Сведений — содержит только уникальные данные.
Это самый универсальный вариант. У нас будут записываться Свойства товара с разными типами данных, причем значения этих свойств для конкретного товара будет уникальным.
п.с. здесь можно создать подчиненный ПВХ справочник, чтобы в него записывать все строковые Свойства номенклатуры. Но пока не будем усложнять.

Далее создаем РегистрСведений, который будет непосредственно хранить уникальные значения Свойств Товара.
Для этого в регистре сведений добавляем два измерения:
1) Номенклатура, тип = СправочникСсылка.Номенклатура. Обязательно ставим галочку «Ведущее», благодаря этой галочки — мы будем видеть данный регистр из справочника Номенклатура!
2) СвойстваНоменклатуры, тип = ПланВидовХарактеристикСсылка.УниверсальныйПВХ.
В ресурсах регистра указываем «ЗначениеСвойства», тип = Характеристика.УниверсальныйПВХ:

Пока на данном этапе все, мы создали механизм уникальных свойств товара. Нам еще нужно настроить удобство выбора данных для пользователя.
Выделим ресурс «ЗначениеСвойства» регистра сведений и в меню справа на вкладке «Представления» — создадим связи, чтобы при выборе значения данного регистра в пользовательском режиме — нам выпадал сразу список из измерения данного регистра «СвойствоНоменклатуры». Т.к. помним, что измерение «СвойствоНоменклатуры»-это ПВХ, а ресурс «ЗначениеСвойства» — это и есть Характеристика данного ПВХ. Итак, на этой владке указываем «Связь по Типу» = «СвойствоНоменклатуры». Теперь, если мы в измерении регистра выбрали Тип данных,н-р, строка, то когда будем вводить значение в ресурс — у нас сразу будет стоить тип строка, а не все возможные перечни типов!

Переходим в пользовательский режим, выберем любой товар из справочника Номенклатура, откроем его, на верхней части элемента справочника у нас появилась ссылка на созданный регистр сведений, в который и будем добавлять новые свойства нашего товара:

В данном примере Товару «Транзистор Philips 2N2369» — создаем сначала Вид желаемого свойства товара, пусть это будет «Транзисторы», и сразу указываем тип данных для этого свойства — в данном примере мы выбираем вручную тип данных = Строка. Сохраняем. И далее нам нужно задать значения этому виду свойств товара, пусть это будет «Слаботочечные транзисторы»:

Добавим еще одно Свойство этому товару, например, производитель «Корея».
Возьмем другой товар, создадим ему свойство «Трансформаторы», тип = строка, значение = «Строчные трансформаторы». А второе свойство, которое мы желаем ввести этому товару будет тоже «Производитель» — его создавать не нужно, оно уже есть у нас в выборке, но вот если мы попробуем ввести то же самое значение этого свойства, равного «Корея», то нам придется набирать его вручную. Это не очень удобно. Хорошо, когда один раз введенное значение — можно подставлять множество раз.
Чтобы добавить данное удобство, перейдем в Конфигуратор и создадим справочник, на вкладке «Владелец» укажем созданный ранее наш «УниверсальныйПВХ». Теперь, если у нас свойства значений будут строковыми, то нам не обязательно постоянно выбирать тип = Строка, достаточно будет дать ссылку на этот подчиненный справочник: в него очень удобно сохранять строковые значения, а кроме того — такой способ позволит нам выбирать уже готовые строковые значения для Свойств товара.
Произведем небольшие настройки ПВХ в связи с появившемся подчиненным ему справочником:

Также и в регистре сведений нам нужно добавить настройки, чтобы при выборе значения ресурса регистра — у нас сразу же появлялась выборка по Владельцу данного свойства.

С первым пунктом поставленной задачи мы справились — механизм создания уникальных свойств товару создали.
Заполним различные свойства номенклатуры в пользовательском режиме 1с. Обратим внимание, что уже введенные ранее свойства, такие как,н-р, Производитель, уже сразу есть в варианте выборке свойств, а так же нам дается сразу выбрать готовое значение этого свойства,н-р, «Корея».
Теперь перейдем ко второму этапу решения поставленной задачи: дать возможность в отчете делать отбор,н-р, по остаткам товара или по продажам товара от Свойств этого товара.
Сразу скажу, что мы не будем придумывать сложный механизм, добавляя в поля табличных частей документов какие-нибудь свойства товара. На практике так нельзя делать, иначе будет такая неразбириха с документами, что потом никаких сил не хватит это исправить.
Все гораздо проще. У нас есть товар, название его краткое, лаконичное, в свойствах его описаны все ньюансы. Если у нас появился товар с другими видами свойств — то это значит, что этот товар другой, а не тот же самый!
Н-р, у нас есть один товар «Строчный трансформатор Samsung», у которого два свойства:1) «Трансформаторы» = «Строчные трансформаторы»;2) «Производитель» = «Корея», и другой товар «Строчный трансформатор Россия», у которого два свойства:1) «Трансформаторы» = «Строчные трансформаторы»;2) «Производитель» = «Россия». Так вот мы никак не можем сказать, что эти два товара одинаковые, а отличаются только свойствами. Нет, эти два товара разные, чем мы коротко указываем различие их в Названии, и более подробно — описываем в свойствах данного товара.
Отсюда, нам не нужно создавать какое-то дополнительное поле в первичных документах, чтобы в нем прописывать одну из характеристик товара (у нас этих характеристик может быть более одной!).
Перепроведем вновь все наши приходные накладные и док.ОказаниеУслуг. (здесь в документах от первого метода из книги — есть поля с доп.характеристиками, но они ни как не влияют на наш только что созданный собственный механизм ПВХ)
В Конфигураторе создадим Отчет по регистру «УникальностьУниверсальногоПВХ». Запишем в запрос СКД-отчета следующий код:
ВЫБРАТЬ ОстаткиМатериаловОстаткиИОбороты.Материал, ОстаткиМатериаловОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток, ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход КАК Приход, ОстаткиМатериаловОстаткиИОбороты.КоличествоРасход КАК Расход, ОстаткиМатериаловОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток, УникальностьУниверсальногоПВХ.СвойствоНоменклатуры, УникальностьУниверсальногоПВХ.ЗначениеСвойства ИЗ РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты КАК ОстаткиМатериаловОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УникальностьУниверсальногоПВХ КАК УникальностьУниверсальногоПВХ ПО ОстаткиМатериаловОстаткиИОбороты.Материал = УникальностьУниверсальногоПВХ.Номенклатура
В настройках СКД-отчета разрешим использовать в пользовательском режиме «Отбор». При формировании отчета в 1с-Предприятии — в отборе выбирем СвойствоНоменклатуры=Производитель. У нас получится очень интересный отчет:

Заменив регистр остатков на регистр Продаж — создадим второй отчет Продажи с возможностью отбора по свойствам товаров.

Мы выполнили и даже перевыполнили второй пункт задачи — дать возможность Аналитику создавать отчеты в разрезе Свойств товара.
В нашем варианте — механизм ПВХ получился простой, наглядный и быстронастраиваемый.
п.с. при создании данной статьи мне очень помогла информация, прочитанная вот отсюда:
См. также
1С-ная магия
Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?».
06.10.2023 14150 SeiOkami 46
111 46 14150
Дефрагментация и реиндексация после перехода на платформу 8.3.22
Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.
14.09.2023 8655 human_new 27
67 27 8655
Валидация JSON через XDTO (включая массивы)
При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.
28.08.2023 5123 YA_418728146 5
116 5 5123
Внешние компоненты Native API на языке Rust — Просто!
Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust — от безопасности и кроссплатформенности до удобного менеджера библиотек.
20.08.2023 4905 sebekerga 54
86 54 4905
Все скопируем и вставим! (Буфер обмена в 1С 8.3.24)
Рассмотрим новую возможность 8.3.24 и как её можно эффективно использовать
27.06.2023 10675 SeiOkami 24
90 24 10675
Методы работы с универсальным отчетом в подсистеме «Варианты отчетов» на БСП
В данной статье рассмотрим типовую подсистему «Варианты отчетов» БСП на примере применения в универсальном отчете любой современной конфигурации.
30.05.2023 3924 quazare 4
Расширение глобального поиска 1С, или Глобальный поиск «на максималках»
Мало кто знает, что поле «Глобального поиска» в 1С можно доработать. Добавить свои варианты поиска, кнопочки в результатах и даже целые пользовательские меню.
27.03.2023 5969 SeiOkami 10
133 10 5969
Версионирование объектов VS История данных
Давайте разберемся в механизме «История данных» и поэкспериментируем для наглядности. Сравним «Версионирование объектов» и «Историю данных».
06.03.2023 12639 dsdred 48
150 48 12639
Посмотреть ещё
Комментарии
- Дата
- Дата
- Рейтинг всех уровней
- Рейтинг 1-го уровня
- Древо развёрнутое
- Древо свернутое
Свернуть все
1. jan-pechka 393 14.02.18 10:35 Сейчас в теме
Код к второму СКД-отчету по продажам:
ВЫБРАТЬ УникальностьУниверсальногоПВХ.СвойствоНоменклатуры, УникальностьУниверсальногоПВХ.ЗначениеСвойства, ПродажиОбороты.Номенклатура, ПродажиОбороты.ВыручкаОборот КАК Выручка ИЗ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УникальностьУниверсальногоПВХ КАК УникальностьУниверсальногоПВХ ПО ПродажиОбороты.Номенклатура = УникальностьУниверсальногоПВХ.Номенклатура
15. RozalievAndrey 28.02.21 09:18 Сейчас в теме
Автор, Вы описали не другое решение задачи, изложенной в учебнике, а решение совершенно другой задачи.
В учебнике задача — организовать учёт в разрезе номенклатуры И дополнительных характеристик. Решение этой задачи — единственно возможное, но вот интерфейс можно упрощать.
Ваше решение относится к задаче — организовать учёт в разрезе только номенклатуры, но у самой номенклатуры сделать возможность вводить развёрнутые характеристики.
У того и другого подхода на практике есть применение. Учёт в разрезе характеристик нужен далеко не везде, так он, кстати, в типовых конфигурациях по умолчанию и отключен. Развёрнутые характеристики номенклатуры тоже нужны далеко не везде. Кстати, с той же радиоэлектроникой (кстати, транзисторы — слаботочные, а не слаботочечные) нужно и то, и другое. Есть позиции, которые отличаются существенно, и для них надо вводить отдельные позиции, а есть такие, где отличия — несущественные, и можно использовать характеристики для разделения учёта. Например, производитель — это несущественная (для потребителя) характеристика, которая тем не менее важна в учёте, это разные партии и т.п. В автозапчастях оригинал и реплика — разные номенклатурные позиции, но реплики, как правило, приходят от разных производителей, и это важная характеристика, но не настолько, чтобы раздувать и без того огромный справочник номенклатуры. Собственно, даже оригинал можно выделить просто галочкой. В тех же радиотоварах, если на каждый чих создавать карточку номенклатуры, то справочник разрастётся мгновенно — в рознице, например, товары часто приходят с уникальными характеристиками один раз, их продают, и в следующий раз те же транзисторы приходят от другого производителя, с несколько другими характеристиками, и это нормально, в реальных изделиях они все взаимозаменяемы, просто бывают пограничные случаи, и характеристики конкретной партии надо учитывать в полном объёме
В любом случае, решение, описанное в учебнике — не плохо само по себе, просто такая задача, и выбирая решение, надо смотреть на задачу
2. Danil.Potapov 512 14.02.18 21:44 Сейчас в теме
для тех кто ничего не понял, есть хороший пример силы ПВХ. В типовых УТ11\КА2\ERP2 на ПВХ статьи затрат и статьи дохода.
3. boln 1038 14.02.18 22:02 Сейчас в теме
Я как-то посмотрел, во что СКД превращает текст запроса с расширением <ХАРАКТЕРИСТИКИ>. Я офигел, запрос запредельно неоптимальный :))) Было, кажется, несколько соединений по полям составного типа.ХАРАКТЕРИСТИКИ>
Yashazz; jan-pechka; + 2 – Ответить
4. jan-pechka 393 14.02.18 22:51 Сейчас в теме
СКД превращает текст запроса с расширением
это не всегда нужно)) А если уж слишком сложный-присложный и дико запутанный СКД -это как в примере учебника, то можно прибегнуть все равно к более простым методам, не мучаясь с настройками Характеристик СКД — в Конфигураторе жмем правую клавишу мыши на справочник «ВариантыНоменклатуры» (пример из книги), выбираем меню Характеристики и настраиваем здесь виды и значения Характеристик для данного объекта (см.рис). После этого — не придется настраивать Характеристики СКД при использовании в нем данного справочника.
п.с. но мне, честно, не нравятся неоправданно сложные механизмы создания ПВХ, чтобы потом еще мучатся с невероятно сложной их настройкой в СКД. Как по мне, так чем проще, тем лучше))
Прикрепленные файлы:
5. boln 1038 14.02.18 22:58 Сейчас в теме
После этого — не придется настраивать Характеристики СКД при использовании в нем данного справочника.
И шо? Вы думаете, исполняемый запрос СКД будет другим? 🙂
Механизм характеристик одинаково реализуется.
И предопределенные характеристики не всегда можно задать.
6. Glebis 13 05.04.18 12:19 Сейчас в теме
Как я коротко объясняю что такое ПВХ:
ПВХ — это тот-же справочник, только у каждого объекта ПВХ есть ещё один стандартный реквизит, для которого выбирается один из допустимых для этого типа ПВХ тип и значение (ссылка на объект) выбранного типа.
Используется ПВХ в случаях, когда для какого-то объекта-владельца (например, элемента «Стул» справочника «Номенклатура») требуется указать тип дополнительного свойства (например, цвет, выбрав справочник «Цвета») и значение выбранного типа дополнительного свойства (ссылка на объект «Зеленый» справочника «Цвета»).
Соответствие объекта-владельца и объектов ПВХ, которые содержат все значения его дополнительных свойств хранятся в регистр сведений.
nick_krsk; Maxanamoon; @Fancy; myoker; Revachol; jan-pechka; + 6 – Ответить
7. jan-pechka 393 05.04.18 15:18 Сейчас в теме
Как я коротко объясняю что такое ПВХ
прошу прощения за свой каламбур, но когда Вы сказали что КОРОТКО объясните что такое ПВХ.
мне почему-то подумалось что продолжение будет приблизительно следующим:
«Коротко ПВХ -это прошел /а. видал /а. харэ . «))).
. и здесь все логично, но вот при чем здесь разработчики платформы к ПВХ смысл типа привязали. )) Так бы
и назвали — типично-типовой справочник для справочников. сокращенно Ттсс.
п.с. шутка. Спасибо.
8. ixijixi 1666 08.04.18 16:41 Сейчас в теме
Думал статья поможет разобраться, а оказалось наоборот — еще больше запутался
Neuroproton; user1629504; user609489_korvinus322; ybatiaev; ildar_muh; Stref75; Sikh; + 7 – Ответить
9. jan-pechka 393 09.04.18 09:24 Сейчас в теме
еще больше запутался
Может остановили ваше чтение на примере из книги. Там они действительно все запутали)) Прочтите дальше — мой пример построения сложного ПВХ простым языком.
*** Но, возможно, что вы не можете сразу представить куда можно применить механизм сложного ПВХ. .
Допустим ваша бабушка говорит: «Сынок, я тут разрабатываю свой собственный рецепт от бронхита, помоги мне с программкой, да так, чтобы я в своей рецептуре дважды не заложила зеленку. а то вот старенькая. могу запутаться». В этом случае вы возьмете мой примерчик из статьи и пошагово набросав сложный ПВХ — получите очень простой вариант составления рецептов,например.
*** Хотя, возможно, что вы вообще не понимаете — зачем нужен этот ПВХ , когда можно сделать самый простой справочник с табличной частью и собирать в него всю необходимую информацию.
Давайте представим, что вас отправили с вашей программкой собирать по городу настроение людей .Вам нужно спрашивать только их имя и их настроение.
***********************************************************************************************************************************
*** Создадим элементарный справочник с табличной частью : в одной колонке строковый тип- Имя, в другой — строковый тип Настроение.Все просто!
Но вот по дороге вам попался ваш сотрудник, вы его тоже должны опросить, но занести как-то с пометкой для себя — это не просто человек с улицы, а мой сотрудник.
В этом случае вам пригодится пример использования самого простого ПВХ. Итак, у вас есть элементарный справочник с табличной частью, но чтобы в него можно было записывать не только обычный текст, а и выбирать из др.справочника — Сотрудники — вы в табличную часть своего элементарного справочника прикручиваете самый элементарный ПВХ.
*** Все просто — в конфигураторе жмете на «+» создать новый ПВХ , ничего у него более не указываете, просто даете ему имя, н-р, «Простой ПВХ». И на его закладке Основные в поле «Тип значения характеристик»-ставите галочку «Составной тип» и вкл.все ссылки на существующие у вас справочники, а также на простые типы данных — строка,число,дата,булево. Все-элементарный ПВХ есть!
В созданном элементарном справочнике в его табличной части прикручиваете данный элементарный ПВХ сл.образом: Колонка1=выбираете тип=Простой ПВХ, а в Колонке2=выбираете тип= Характеристику этого ПВХ. (см.рис.1 и рис.2). Возможно именно здесь у начинающих может быть непонятие- как это из одного объекта ПВХ можно выбрать тут же его ДВА типа. ))))
Ну вот такая вот структура у ПВХ — есть ссылка на сам ПВХ, а есть ссылка на его Характеристику.
***********************************************************************************************************************************
Все готово, можно начинать бегать по улице и записывать в только что созданный механизм Простого ПВХ данные опросов настроения людей.
п.с. мы в этом примере, как настоящие ленивые программисты, не стали в табличной части элементарного справочника между двумя колонками настраивать связи — чтобы упростить ввод данных в этот справочник как пользователей)))) Вот что сами создали, тем и будем пользоваться!)))
*** Итак, открываем в пользов.режиме наш справочник, назовем первый опрос «Весеннее настроение» — и пошли опрашивать людей (см.рис.3) Да, так как связи мы не настроили в справочнике, то ввод нового опрашиваемого человека — у нас займет немного больше времени))
***И вот вы уже опросили достаточное количество человек — просто посторонних с улицы, и вдруг — вам попадается на встречу ваш сотрудник. Вы так же заносите его настроение в свой справочник, только уже выбираете не тип=строковый, а тип=ссылка на справочник Сотрудник! (см.ри.4)
***Ура, на вашем пути вам попадается ваш клиент и говорит что хотел бы на 23567р.сделать вам заказ. ой, а вам и записать некуда такую не круглую сумму. Но вы не теряетесь и добавляете эту запись в свой справочник (с пвх) — см.рис.5 . В поле характеристики в этом случае выберете — число и внесете указанную сумму.
1С. Организация характеристик и их свойств
…Учет деталей производится в разрезе характеристик и свойств и должен быть реализован с помощью Плана видов характеристик. Набор свойств определяет характеристику. У одной детали может быть несколько разных характеристик…
Решение
По сути необходимо реализовать следующее, у справочника «Номенклатура» создать подчиненный справочник «Характеристики номенклатуры», у последнего организовать возможность хранения значений свойств, которые определяют характеристику.
1. В конфигурацию добавим справочник «Характеристики номенклатуры» и подчиним его справочнику «Номенклатура».
2. У плана видов характеристик «Свойства объектов» определим «Тип значения характеристик». Должно содержать все типы значений, которые могут принимать различные свойства.

3. Для хранения значений свойств создадим регистр сведений «Значения свойств объектов».
Измерения:
- Объект, тип «Справочник.ХарактеристикиНоменклатуры» (Можно добавить другие типы, для решения данной задачи нам хватит одного справочника);
- Свойство, тип «ПланВидовХарактеристик.СвойстваОбъектов»;
- Значение, тип «Характеристика.СвойстваОбъектов», который определен планом видов характеристик «Свойства объектов».
ВНИМАНИЕ . Здесь необходимо выбрать не тип «ПланВидовХарактеристикСсылка.СвойстваОбъектов, а именно тип «Характеристика.СвойстваОбъектов».

4. Для определения типа реквизита «Значение» в зависимости от типа выбранного значения реквизита «Свойство», заполним свойство «Связь по типу» указав реквизит «Свойство».
Итог
Задача решена, в ходе решения задачи не рассматривается наведение красоты(указание заголовков форм разных сущностей, разнесение объектов по подсистемам, создание форм, проверка данных на корректность, формирование наименования характеристики в зависимости от значений свойств).
После запуска разработанного прикладного решения и введения данных получаем необходимый функционал














