План видов характеристик (ПВХ) - с чем его едят

Публикация № 784970

Разработка - Практика программирования

ПВХ Планы Видов Характеристик сложный ПВХ регистр сведений отчеты СКД 1с8 управляемые формы

План видов характеристик - эта фишка нужна Аналитикам. В данной статье мы рассмотрим пример создания сложного ПВХ по учебнику Хрусталевой/Радченко. А также создадим свой собственный механизм ПВХ с двумя видами отчетов-СКД на выходе.

Как обычно ведется учет в торговом предприятии?

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

Например, вчера купили красный стул, сегодня зеленый стул, поначалу так и вбивают в базу данные: 1) старая позиция - красный стул;2) новая позиция - зеленый стул. Но после инвентаризации - всегда появляется пересорт товара, и здесь приходят к варианту - создать новую позицию, без конкретного описания в названии товара его спец.свойств, т.е. заводят товар так, например, просто "Стул", а две предыдущие позиции товара - помечают на удаление.

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

То есть вновь требуется знать дополнительные характеристики товара, но вводить эти характеристики в базу нужно уже не в хаотичном порядке, - просто в названии товара добавив какие-нибудь описания, а четко и правильно:название должно быть коротким, лаконичным, и в дополнительном поле - описаны всевозможные характеристики данного товара: например, его цвет, объем, вес, производителя и многое другое.

Тут если мы запишем свойства товара в справочнике Номенклатуры в поле "Комментарии", то Аналитику будет не просто сделать нужный ему отчет по популярности и оборачиваемости конкретно данного товара с конкретно данными свойствами товара.

Мы можем прикрепить к справочнику Номенклатура - подчиненный справочник, в который пользователь может вводить необходимые свойства и описания товара, но в таком подходе - мы столкнемся с проблемой невозможности угадать какого именно типа пользователь захочет ввести доп.информацию.

Н-р, под товаром "Стул" - пользователь желает указать свойство товара - цвет, это строковое значение данных. Значит в подчиненном справочнике - мы реквизит сделаем строковым. А если он желает указать доп.свойство товара, например, производителя? Тогда мы должны реквизит в подчиненном справочнике сделать ссылочного типа, указывая на др.справочник "Производители". А если пользователь в доп.свойствах к своему товару желает указать сколько ножек у стула? Мы в подчиненном справочнике должны реквизит сделать числовым.....

Отсюда, когда нам нужно дать возможность пользователю самому создавать ТИП данных, в значения которых он будет вносить свою информацию, то нам нужно создавать ПВХ (план видов характеристик).

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Мы создадим в нашем примере сложный ПВХ, чтобы был полноценный механизм описания дополнительных свойств товара.

Но для начала рассмотрим урок по созданию ПВХ из книги (стр.476) "1С_ Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы" Радченко/Хрусталева http://v8.1c.ru/metod/books/book.jsp?id=441

Здесь у нас уже есть справочник Номенклатура. Цель задачи: иметь возможность знать остатки материалов, обладающих некоторым значением характеристики. Для этого создадим в Конфигураторе новые объекты:1) регистр Сведений "ЗначенияСвойствНоменклатуры";2) ПВХ "СвойстваНоменклатуры";3) подчиненный Номенклатуре справочник "ВариантыНоменклатуры", чтобы описывать партии материалов;4) подчиненный ПВХ справочник "ДополнительныеСвойстваНоменклатуры", чтобы задавать значения видов характеристик,для которых нет подходящих типов в конфигурации.

В результате нам достаточно будет выбирать из регистра сведений все элементы подчиненного справочника с этим значением характеристики и затем по ним и их владельцам - получить остатки регистра накоплений.

В создаваемом нами ПВХ в поле "Тип значения характеристик" - укажем составной тип данных: Число,Строка,Дата,Булево,СправочникСсылка.ДополнительныеСвойстваНоменклатуры. А так же в поле ПВХ "Дополнительные значения характеристик" - указываем подчиненный ПВХ справочник "ДополнительныеСвойстваНоменклатуры".

Далее, при создании регистра сведений "ЗначенияСвойствНоменклатуры": указываем регистру два измерения:

1) НаборыСвойств, тип = СправочникСсылка.ВариантыНоменклатуры;

2) ВидСвойства, тип = ПланВидовХарактеристикСсылка.СвойстваНоменклатуры

И создаем ресурс регистра сведений:

Значение, тип = Характеристика.СвойстваНоменклатуры.

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

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

Кроме того, в книге в данном уроке идет подробное описание - как лучше всего настроить формы списка и основные формы новых объектов, чтобы пользователь видел при заполнении свойств товаров - только необходимую ему информацию. Здесь мы не будем показывать всю эту деталировку.

Просто попробуем в нашем товаре, н-р, "Кабели электрические" - задать дополнительное свойство "Белые кабели", а состав свойства: "тип свойства"=Цвет и "значение свойства" = Белый. Вот по такой схеме открывающихся друг за другом окон:

 

....я не знаю как у вас, но у меня уже закружилась голова и уже не совсем понятно - что мы делаем и зачем))))

А представьте - объяснить такую цепочку пользователю?!?.....Чтобы наш пользователь смог понять того, чего мы уже сами не понимаем - у него должно быть минимум три сертификата по 1С)))

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

....это просто нереально сложно!!! И любой начинающий программист решит, что проще никогда не связываться с ПВХ, чем пытаться в подобной схеме разобраться.....

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

Да, отчет получается интересный, но сам процесс создания дополнительных Характеристик (свойств) товара - очень запутанный, кроме того, пользователь при вводе стольких дополнительных данных при заполнении приходных/расходных накладных - создаст ни одну ошибку.....Начиная с ввода "НабораСвойств" в полях документа....

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Давайте попробуем разобраться в самом механизме создания доп.Свойств Товару, возможно у нас получится прийти к решению задачи более простым путем.

Итак, что нам нужно:

1. Дать возможность пользователю к Номенклатуре добавлять описание Свойств.

2. Дать возможность Аналитику исследовать показатели продаж в отборе по Свойствам Товара.

Рассмотрим какие у нас есть варианты при решении первого пункта задачи:

1. Мы можем добавить к справочнику Номенклатура подчиненный справочник, в который пользователь будет описывать только конкретными, заданные нами в Конфигураторе, данные строчного типа....это не подходит, так как при описании Свойств товара может понадобиться "непредсказуемый" нами в Конфигураторе Тип данных: например дата, число, строка, ссылка на др.справочник.

2. Поэтому для создания доп.Свойств Номенклатуры - мы должны создать ПВХ, так как ПВХ - это справочник + Описание Типов данных.

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

Но в этом случае, у нас не получится сделать записи уникальными....Только представьте себе вариант, где под товаром,например, Сосиски - можно ввести два вида значения Свойства "Цвет": и красные и зеленые))) 

Поэтому этот метод самый простой, но не дает уникальности в свойствах Номенклатуры.

3. Создадим ПВХ, но его значения будем набирать через регистр Сведений. Регистр Сведений - содержит только уникальные данные.

Это самый универсальный вариант. У нас будут записываться Свойства товара с разными типами данных, причем значения этих свойств для конкретного товара будет уникальным.

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

 

Далее создаем РегистрСведений, который будет непосредственно хранить уникальные значения Свойств Товара.

Для этого в регистре сведений добавляем два измерения:

1) Номенклатура, тип = СправочникСсылка.Номенклатура. Обязательно ставим галочку "Ведущее", благодаря этой галочки - мы будем видеть данный регистр из справочника Номенклатура!

2) СвойстваНоменклатуры, тип = ПланВидовХарактеристикСсылка.УниверсальныйПВХ.

В ресурсах регистра указываем "ЗначениеСвойства", тип = Характеристика.УниверсальныйПВХ:

 

Пока на данном этапе все, мы создали механизм уникальных свойств товара. Нам еще нужно настроить удобство выбора данных для пользователя.

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

 

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

 

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

 

Добавим еще одно Свойство этому товару, например, производитель "Корея". 

Возьмем другой товар, создадим ему свойство "Трансформаторы", тип = строка, значение = "Строчные трансформаторы". А второе свойство, которое мы желаем ввести этому товару будет тоже "Производитель" - его создавать не нужно, оно уже есть у нас в выборке, но вот если мы попробуем ввести то же самое значение этого свойства, равного "Корея", то нам придется набирать его вручную....Это не очень удобно...Хорошо, когда один раз введенное значение - можно подставлять множество раз.

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

Произведем небольшие настройки ПВХ в связи с появившемся подчиненным ему справочником:

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

С первым пунктом поставленной задачи мы справились - механизм создания уникальных свойств товару создали.

Заполним различные свойства номенклатуры в пользовательском режиме 1с. Обратим внимание, что уже введенные ранее свойства, такие как,н-р, Производитель, уже сразу есть в варианте выборке свойств, а так же нам дается сразу выбрать готовое значение этого свойства,н-р, "Корея".

Теперь перейдем ко второму этапу решения поставленной задачи: дать возможность в отчете делать отбор,н-р, по остаткам товара или по продажам товара от Свойств этого товара.

Сразу скажу, что мы не будем придумывать сложный механизм, добавляя в поля табличных частей документов какие-нибудь свойства товара!!! На практике так нельзя делать, иначе будет такая неразбириха с документами, что потом никаких сил не хватит это исправить....

Все гораздо проще. У нас есть товар, название его краткое, лаконичное, в свойствах его описаны все ньюансы. Если у нас появился товар с другими видами свойств - то это значит, что этот товар другой, а не тот же самый!

Н-р, у нас есть один товар "Строчный трансформатор Samsung", у которого два свойства:1) "Трансформаторы" = "Строчные трансформаторы";2) "Производитель" = "Корея", и другой товар  "Строчный трансформатор Россия", у которого два свойства:1) "Трансформаторы" = "Строчные трансформаторы";2) "Производитель" = "Россия". Так вот мы никак не можем сказать, что эти два товара одинаковые, а отличаются только свойствами!!! Нет, эти два товара разные, чем мы коротко указываем различие их в Названии, и более подробно - описываем в свойствах данного товара. 

Отсюда, нам не нужно создавать какое-то дополнительное поле в первичных документах, чтобы в нем прописывать одну из характеристик товара (у нас этих характеристик может быть более одной!).

Перепроведем вновь все наши приходные накладные и док.ОказаниеУслуг. (здесь в документах от первого метода из книги - есть поля с доп.характеристиками, но они ни как не влияют на наш только что созданный собственный механизм ПВХ)

В Конфигураторе создадим Отчет по регистру "УникальностьУниверсальногоПВХ". Запишем в запрос СКД-отчета следующий код:

ВЫБРАТЬ
	ОстаткиМатериаловОстаткиИОбороты.Материал,
	ОстаткиМатериаловОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
	ОстаткиМатериаловОстаткиИОбороты.КоличествоПриход КАК Приход,
	ОстаткиМатериаловОстаткиИОбороты.КоличествоРасход КАК Расход,
	ОстаткиМатериаловОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
	УникальностьУниверсальногоПВХ.СвойствоНоменклатуры,
	УникальностьУниверсальногоПВХ.ЗначениеСвойства
ИЗ
	РегистрНакопления.ОстаткиМатериалов.ОстаткиИОбороты КАК ОстаткиМатериаловОстаткиИОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УникальностьУниверсальногоПВХ КАК УникальностьУниверсальногоПВХ
		ПО ОстаткиМатериаловОстаткиИОбороты.Материал = УникальностьУниверсальногоПВХ.Номенклатура

В настройках СКД-отчета разрешим использовать в пользовательском режиме "Отбор". При формировании отчета в 1с-Предприятии - в отборе выбирем СвойствоНоменклатуры=Производитель. У нас получится очень интересный отчет:

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

Мы выполнили и даже перевыполнили второй пункт задачи - дать возможность Аналитику создавать отчеты в разрезе Свойств товара.

В нашем варианте - механизм ПВХ получился простой, наглядный и быстронастраиваемый.

п.с. при создании данной статьи мне очень помогла информация, прочитанная вот отсюда:

http://1clancer.ru/article/osobennost_ispolzovaniya_mekhanizma_kharakteristik_v_skd_821

http://www.1s-portal.ru/index.php/stati/configuration/16-common-objects/80-pvh-v-1c.html

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Надеюсь, что моя статья пригодится начинающим программистам на платформе 1с 8.3

п.с. в загрузку прилагаю учебную базу, в которой созданы были все текущие примеры. Эту базу я начала писать с нуля по урокам книги  "1С_ Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы" Радченко/Хрусталева http://v8.1c.ru/metod/books/book.jsp?id=441, просто дополняя ее еще и свои наработки.

Успехов в освоении ПВХ, в случае с решением этой непростой задачки - очень подходит лозунг ниже)):

 

 

 

Скачать файлы

Наименование Файл Версия Размер
ПВХ -учебная база данных:

.dt 235,83Kb
8
.dt 235,83Kb 8 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. jan-pechka 255 14.02.18 10:35 Сейчас в теме
Код к второму СКД-отчету по продажам:
ВЫБРАТЬ
	УникальностьУниверсальногоПВХ.СвойствоНоменклатуры,
	УникальностьУниверсальногоПВХ.ЗначениеСвойства,
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.ВыручкаОборот КАК Выручка
ИЗ
	РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УникальностьУниверсальногоПВХ КАК УникальностьУниверсальногоПВХ
		ПО ПродажиОбороты.Номенклатура = УникальностьУниверсальногоПВХ.Номенклатура
Показать
15. RozalievAndrey 28.02.21 09:18 Сейчас в теме
Автор, Вы описали не другое решение задачи, изложенной в учебнике, а решение совершенно другой задачи.

В учебнике задача - организовать учёт в разрезе номенклатуры И дополнительных характеристик. Решение этой задачи - единственно возможное, но вот интерфейс можно упрощать.

Ваше решение относится к задаче - организовать учёт в разрезе только номенклатуры, но у самой номенклатуры сделать возможность вводить развёрнутые характеристики.

У того и другого подхода на практике есть применение. Учёт в разрезе характеристик нужен далеко не везде, так он, кстати, в типовых конфигурациях по умолчанию и отключен. Развёрнутые характеристики номенклатуры тоже нужны далеко не везде. Кстати, с той же радиоэлектроникой (кстати, транзисторы - слаботочные, а не слаботочечные) нужно и то, и другое. Есть позиции, которые отличаются существенно, и для них надо вводить отдельные позиции, а есть такие, где отличия - несущественные, и можно использовать характеристики для разделения учёта. Например, производитель - это несущественная (для потребителя) характеристика, которая тем не менее важна в учёте, это разные партии и т.п. В автозапчастях оригинал и реплика - разные номенклатурные позиции, но реплики, как правило, приходят от разных производителей, и это важная характеристика, но не настолько, чтобы раздувать и без того огромный справочник номенклатуры. Собственно, даже оригинал можно выделить просто галочкой. В тех же радиотоварах, если на каждый чих создавать карточку номенклатуры, то справочник разрастётся мгновенно - в рознице, например, товары часто приходят с уникальными характеристиками один раз, их продают, и в следующий раз те же транзисторы приходят от другого производителя, с несколько другими характеристиками, и это нормально, в реальных изделиях они все взаимозаменяемы, просто бывают пограничные случаи, и характеристики конкретной партии надо учитывать в полном объёме

В любом случае, решение, описанное в учебнике - не плохо само по себе, просто такая задача, и выбирая решение, надо смотреть на задачу
2. Danil.Potapov 470 14.02.18 21:44 Сейчас в теме
для тех кто ничего не понял, есть хороший пример силы ПВХ. В типовых УТ11\КА2\ERP2 на ПВХ статьи затрат и статьи дохода.
jan-pechka; +1 Ответить
3. boln 1031 14.02.18 22:02 Сейчас в теме
Я как-то посмотрел, во что СКД превращает текст запроса с расширением {ХАРАКТЕРИСТИКИ}. Я офигел, запрос запредельно неоптимальный :))) Было, кажется, несколько соединений по полям составного типа.
Yashazz; jan-pechka; +2 Ответить
4. jan-pechka 255 14.02.18 22:51 Сейчас в теме
(3)
СКД превращает текст запроса с расширением {ХАРАКТЕРИСТИКИ}


это не всегда нужно)) А если уж слишком сложный-присложный и дико запутанный СКД -это как в примере учебника, то можно прибегнуть все равно к более простым методам, не мучаясь с настройками Характеристик СКД - в Конфигураторе жмем правую клавишу мыши на справочник "ВариантыНоменклатуры" (пример из книги), выбираем меню Характеристики и настраиваем здесь виды и значения Характеристик для данного объекта (см.рис). После этого - не придется настраивать Характеристики СКД при использовании в нем данного справочника.

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

п.с.2 сайт 1с по настройке Характеристик в СКД https://its.1c.ru/db/metod8dev/content/1795/hdoc
Прикрепленные файлы:
5. boln 1031 14.02.18 22:58 Сейчас в теме
(4)
После этого - не придется настраивать Характеристики СКД при использовании в нем данного справочника.
И шо? Вы думаете, исполняемый запрос СКД будет другим? :)

Механизм характеристик одинаково реализуется.

И предопределенные характеристики не всегда можно задать.
jan-pechka; +1 Ответить
6. Glebis 11 05.04.18 12:19 Сейчас в теме
Как я коротко объясняю что такое ПВХ:
ПВХ - это тот-же справочник, только у каждого объекта ПВХ есть ещё один стандартный реквизит, для которого выбирается один из допустимых для этого типа ПВХ тип и значение (ссылка на объект) выбранного типа.
Используется ПВХ в случаях, когда для какого-то объекта-владельца (например, элемента "Стул" справочника "Номенклатура") требуется указать тип дополнительного свойства (например, цвет, выбрав справочник "Цвета") и значение выбранного типа дополнительного свойства (ссылка на объект "Зеленый" справочника "Цвета").
Соответствие объекта-владельца и объектов ПВХ, которые содержат все значения его дополнительных свойств хранятся в регистр сведений.

Все.
Revachol; jan-pechka; +2 Ответить
7. jan-pechka 255 05.04.18 15:18 Сейчас в теме
(6)
Как я коротко объясняю что такое ПВХ


прошу прощения за свой каламбур, но когда Вы сказали что КОРОТКО объясните что такое ПВХ....

мне почему-то подумалось что продолжение будет приблизительно следующим:

"Коротко ПВХ -это прошел/а...видал/а...харэ!!!"))).....

....и здесь все логично, но вот при чем здесь разработчики платформы к ПВХ смысл типа привязали???)) Так бы

и назвали - типично-типовой справочник для справочников...сокращенно Ттсс....

п.с. шутка. Спасибо.
8. the1 869 08.04.18 16:41 Сейчас в теме
Думал статья поможет разобраться, а оказалось наоборот - еще больше запутался
Stref75; Sikh; +2 Ответить
9. jan-pechka 255 09.04.18 09:24 Сейчас в теме
(8)
еще больше запутался

Может остановили ваше чтение на примере из книги??? Там они действительно все запутали)) Прочтите дальше - мой пример построения сложного ПВХ простым языком.

***Но, возможно, что вы не можете сразу представить куда можно применить механизм сложного ПВХ....
Допустим ваша бабушка говорит:"Сынок, я тут разрабатываю свой собственный рецепт от бронхита, помоги мне с программкой, да так, чтобы я в своей рецептуре дважды не заложила зеленку....а то вот старенькая...могу запутаться".....В этом случае вы возьмете мой примерчик из статьи и пошагово набросав сложный ПВХ - получите очень простой вариант составления рецептов,например.

***Хотя, возможно, что вы вообще не понимаете - зачем нужен этот ПВХ, когда можно сделать самый простой справочник с табличной частью и собирать в него всю необходимую информацию....

Давайте представим, что вас отправили с вашей программкой собирать по городу настроение людей.Вам нужно спрашивать только их имя и их настроение.
***********************************************************************************************************************************
***Создадим элементарный справочник с табличной частью: в одной колонке строковый тип- Имя, в другой - строковый тип Настроение.Все просто!

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

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

***Все просто - в конфигураторе жмете на "+" создать новый ПВХ, ничего у него более не указываете, просто даете ему имя, н-р, "Простой ПВХ". И на его закладке Основные в поле "Тип значения характеристик"-ставите галочку "Составной тип" и вкл.все ссылки на существующие у вас справочники, а также на простые типы данных - строка,число,дата,булево. Все-элементарный ПВХ есть!

В созданном элементарном справочнике в его табличной части прикручиваете данный элементарный ПВХ сл.образом: Колонка1=выбираете тип=Простой ПВХ, а в Колонке2=выбираете тип= Характеристику этого ПВХ. (см.рис.1 и рис.2). Возможно именно здесь у начинающих может быть непонятие- как это из одного объекта ПВХ можно выбрать тут же его ДВА типа??????))))
Ну вот такая вот структура у ПВХ - есть ссылка на сам ПВХ, а есть ссылка на его Характеристику....
***********************************************************************************************************************************
Все готово, можно начинать бегать по улице и записывать в только что созданный механизм Простого ПВХ данные опросов настроения людей!!!

п.с. мы в этом примере, как настоящие ленивые программисты, не стали в табличной части элементарного справочника между двумя колонками настраивать связи - чтобы упростить ввод данных в этот справочник как пользователей)))) Вот что сами создали, тем и будем пользоваться!)))

***Итак, открываем в пользов.режиме наш справочник, назовем первый опрос "Весеннее настроение" - и пошли опрашивать людей (см.рис.3) Да, так как связи мы не настроили в справочнике, то ввод нового опрашиваемого человека - у нас займет немного больше времени))

***И вот вы уже опросили достаточное количество человек - просто посторонних с улицы, и вдруг - вам попадается на встречу ваш сотрудник!!! Вы так же заносите его настроение в свой справочник, только уже выбираете не тип=строковый, а тип=ссылка на справочник Сотрудник! (см.ри.4)

***Ура, на вашем пути вам попадается ваш клиент и говорит что хотел бы на 23567р.сделать вам заказ......ой, а вам и записать некуда такую не круглую сумму....Но вы не теряетесь и добавляете эту запись в свой справочник (с пвх) - см.рис.5 . В поле характеристики в этом случае выберете - число и внесете указанную сумму.

Вот как-то так...
Прикрепленные файлы:
10. e-9 24 06.07.18 16:51 Сейчас в теме
Надо заметить один существенный нюанс: вариант Радченко/Хрусталевой позволяет вводить ОДНУ номенклатуру, пихая в проводки, отчеты и т.п. разные ее варианты (описываемые разными значениями свойств). Но экземпляр номенклатуры при этом - один.
А ваш вариант вынуждает заводить РАЗНЫЕ номенклатуры - если у разных экземпляров (одной, по своей природе, сущности) наблюдаются отличие хотя бы в одном свойстве.

Нельзя заранее просто сказать что один вариант хуже или лучше - все зависит от того, какие цели мы преследуем.

Ну, например, попробую сходу набросать такую задачу: нужно вести учет поедаемых творожных сырков - а их на прилавках огромное многообразие.
В вашем варианте придется вводить десятки элементов номенклатуры вида "Сырок хх% уу гр. Буренка бла-бла-бла" - причем в наименовании заранее отражать самые существенные свойства (жирность/вес/производитель/блаблабла). Это вместо одного элемента "Сырок", по сравнению с книжкой.
И для каждого описывать набор свойств. (Зато, да, не надо заводить десятки вариантов).
В вашем случае в документе, скажем, "Чек", который отражает факт покупки сырка, пользователь должен очень внимательно выбирать номенклатуру, чтобы не перепутать среди десятков похожих наименований. Собственно, та же проблема, как и с вариантами, упрощения не получили.

Предположим, что мы хотим сравнивать цены в разных магазинах по сыркам (найти самый выгодный магазин), или динамику изменения цен с течением времени (чтобы знать, близок ли конец света).
Разумеется, тут надо анализировать не какой-то виртуальный "Сырок" - а конкретные его варианты. В вашем случае - конкретные элементы справочника номенклатуры. Тоже принципиальной разницы нет, какую архитектуру использовать.

Идем далее. В вашем отчете мы видим список схожих по наименованию номенклатур, отобранных по какому-то свойству. Но для системы это никак не связанные между собой объекты. Мы-то понимаем, что все это - сырки. И скорее всего захотим, чтобы и система это "знала" (например, чтобы считать в целом суммарные затраты на сырки).
Не вопрос, любая задача решаема. Можно добавить в справочнике номенклатуры новый реквизит, например, "Виды номенклатуры" - и вбивать в него значения вида "Сырки", "Пельмени" и т.п.; потом использовать этот реквизит в отчетах, проводках и т.п.

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

Это не критика, а именно замечание. В каком прикладном решении по какому пути идти - решать архитектору, исходя из поставленной задачи, с учетом всех ее нюансов.
axae; user649357_alandina.t; +2 Ответить
11. Glav 16.08.19 10:24 Сейчас в теме
Добрый день
Коллеги, подскажите
В ПВХ есть поле "Дополнительные значения характеристик". Вроде как для хранения пользовательских значений.
Но, если оставить его пустым, то всё работает.
На вопрос меня натолкнуло видео Чистова, где он показывает работу с ПВХ и не заполняет данное поле
12. AKunitsyn 07.11.19 14:10 Сейчас в теме
(11) заполнив данное поле мы заполняем по умолчанию поле "Тип значения" при вводе нового вида характеристики в режиме 1с предприятия. и только
13. Cube033 13.02.20 10:52 Сейчас в теме
Всё прочитал, а понять толком не могу. У меня есть практическая задача, которую я также переведу в сырки.
Допустим меня интересуют следующие характеристики сырков: Глазированность (Булево), Страна производства (справочник Страны), Производитель (Справочник Контрагенты), Масса (Число), Наличие ЗМЖ (Булево), Вкусовая добавка (ХЗ). И сейчас справочник наполнен сырками:
- Сырок Глазированный Россия
- Сырок Глазированный ООО Молочная сказка Клубничный
- Сырок БЗМЖ ЗАО Молочлядния Вишневый 333г.
- Сырок
- Молоко
- Сахар -песок

Получается, что если делать по книге, то у меня останется справочник номенклатура в виде:
- Сырок
- Молоко
- Сахар-песок
И появится справочник "ВариантыНоменклатуры"
- "Глазированный Россия"
- "Глазированный ООО Молочная сказка Клубничный"
- "БЗМЖ ЗАО Молочлядния Вишневый 333г."

Тогда в документах я буду должен указывать номенклатуру и вариант номенклатуры.

В моей задаче у каждой номенклатуры в названии описан разный состав Характеристик. Это связано с тем, что технологам важны Вкусовая добавка, наличие ЗМЖ, наличие глазури, Экономистам важен поставщик молока, Сбыту важна еще и масса творожка и тд

Либо отойти от книги и на каждую характеристику создать элемент ПВХ, у каждого из которых будет свой тип. Причем я произвожу не только сырки, но и творог и йогурт. И многие характеристики будут актуальны для каждой номенклатуры. Поэтому владельца задавать смысла нет? Получается, что при каждом движении номенклатуры нужно указать набор характеристик - это громостко и неудобно. Пытаюсь понять: могу ли я получить пользу от ПВХ.
Sikh; jan-pechka; +2 Ответить
14. jan-pechka 255 05.06.20 23:58 Сейчас в теме
(13)
Получается, что при каждом движении номенклатуры нужно указать набор характеристик - это громостко и неудобно. Пытаюсь понять: могу ли я получить пользу от ПВХ.


п.с. долго не хотелось отвечать на данный риторический вопрос (это вопрос, который не требует ответа))), но попробую:

***ответ по практике: ведите ВСЕ в номенклатуре!!!....это факт...к побольше подобной базе я прикручиваю аналитику продаж - и она оч.полезна всем (манагерам,дирам,бухам и еже с ними).

***ответ по теории: если Вам нужен красивый отчет для экзаменов, то применяйте ВСЕ рекомендации на УРА!!! помнить нужно только одно в данном случае: что без рег.сведений, который объединяет ПВХ со своими характеристиками и точкой отсчета (например, спр.Номенклатуры или доком Заказы) и потом через него можно вывести результат в красивый отчет (причем через Пользовательский режим 1с!)-ничего толком не получится.

Короче, 1с оч.пытается с помощью ПВХ выйти на взаимоотношение с пользователем (этт мое мнение,подчеркиваю))): чтобы тот (пользователь) создавал,якобы, свои справочники/фильтры для анализов СВОИХ отчетов....но....
закрыв конфигуратор замочками - этот 1с никогда не найдет связи с пользователями на платформе 1с_8.3 так, как это было на гибко-изменяющейся платформе 1с7....так, как этим своим действием - они (1с) потеряли грамотных переводчиков с китайского на китайский....(т.е. программистов, которые занимались всей этой лабудой- преобразованием пластилина под названием 1с7 в работающую функцию), а пытаться достучаться до аборигенов (пользователей) с помощью бусинок, продаваемых за золото (самоОбновляющаяся платформа 1с8) - не приведет к успеху, т.к. аборогены становятся подозрительными)))).....

Итак, все разжевано - выводы делайте сами.
16. RozalievAndrey 28.02.21 09:20 Сейчас в теме
Кстати, описанное автором решение может пригодиться в совершенно другой области - анкетирование. Правда там ещё дополнительные сущности добавятся. Как раз сейчас делаю :-)
Оставьте свое сообщение

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    40286    tormozit    57    

Динамическая расшифровка СКД (на примере отчета)

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.

1 стартмани

08.12.2020    711    mr_sav    2    

СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Довольно часто на различных тематических форумах задается вопрос, можно ли использовать в отчете/обработке несколько схем компоновки данных, подменяя одну другой по мере надобности? При этом желательно, чтобы и пользовательские настройки при смене схемы менялись соответственно.

1 стартмани

07.12.2020    2966    user1502278    16    

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

Практика программирования Интеграция v8 Абонемент ($m)

Цель данной статьи - сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

1 стартмани

09.10.2020    4918    hexhoc    12    

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Практика программирования v8 УПП1 Россия Абонемент ($m)

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    27926    wowik    3    

Программная корректировка при выводе отчета СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

1 стартмани

08.10.2020    6617    dabu-dabu    10    

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

Практика программирования v8 1cv8.cf Абонемент ($m)

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

1 стартмани

25.07.2020    7467    Flashill    11    

Параллельные вычисления расчета факториала числа N

Практика программирования v8 1cv8.cf Абонемент ($m)

Распараллеливание алгоритма с помощью фоновых заданий (асинхронные вычисления)

1 стартмани

29.06.2020    3431    Rustig    18    

Как нарисовать граф на 1С Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

09.08.2013    71894    ildarovich    117    

Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме

Практика программирования Универсальные печатные формы v8 1cv8.cf Абонемент ($m)

В данной статье я опишу реализацию универсальной (в кавычках) печати Приказа (Договора или чего пожелаете) с возможностью настройки выводимого текста с параметрами из пользовательского режима

1 стартмани

24.06.2020    1892    BuriyLesha    0    

Методика обновления формы объекта данных при изменении объекта

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

09.03.2020    13748    tormozit    14    

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

1 стартмани

05.03.2020    6927    user5300    3    

Простой способ индексирования интервалов Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

28.09.2016    40891    ildarovich    22    

Вывод сообщений в HTML поле средствами 1С

Практика программирования v8 v8::УФ Абонемент ($m)

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    6941    burni4    16    

Краткое руководство по внесению изменений в конфигурацию

Практика программирования v8 1cv8.cf Абонемент ($m)

Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании.

1 стартмани

13.01.2020    19966    sapervodichka    41    

Универсальные функции: разложение произвольной строки адреса в структуру

Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    4850    vik070777    10    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    36475    rpgshnik    49    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    14467    blackhole321    7    

RLS - дубли условий в запросах к СУБД

Практика программирования Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

"Подводные камни", возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.

1 стартмани

07.10.2019    9223    geron4    4    

Полное копирование одной формы в другую

Практика программирования Универсальные обработки Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде "покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал". Тем не менее, мне стало интересно, как это можно сделать.

1 стартмани

03.10.2019    6631    nekit_rdx    24    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    48970    dsdred    44    

Многопоточная обработка данных на примере перепроведения документов

Обработка документов Практика программирования v8 ERP2 УТ11 КА2 Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    10838    ids79    46    

Отображение истории выполнения по всем задачам комплексного процесса в документообороте

Документооборот и делопроизводство Практика программирования v8 ДО УУ Абонемент ($m)

Коллеги, предлагаю вашему вниманию доработку для вывода полной истории в задачах комплексного процесса.

1 стартмани

15.09.2019    7769    pavelpribytkin96    8    

Описание формата внутреннего представления данных 1С в контексте обмена данными

Практика программирования Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    20762    Dementor    30    

Некоторая работа с данными через COM Промо

Практика программирования v8 Абонемент ($m)

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    58907    wowik    32    

Удобный просмотр результата запроса с большим количеством временных таблиц

Практика программирования v8 Абонемент ($m)

Если Вам часто приходится просматривать в отладчике сложные пакетные запросы с большим количеством временных таблиц, то эта статья для Вас.

1 стартмани

27.08.2019    11923    ids79    22    

Запуск фонового задания во внешней обработке. Отключение предупреждений защиты от опасных действий в фоновом задании

Практика программирования v8 1cv8.cf Абонемент ($m)

Как запустить фоновое задание из модуля внешней обработки используя БСП. Как отключить безопасный режим и сообщения защиты от опасных действий независимо от профиля безопасности пользователя в фоновом задании во внешней обработке.

2 стартмани

24.08.2019    13923    BenGunn    22    

Изменяющееся контекстное меню в 1С 8.3

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ Абонемент ($m)

В одной практической задаче мне пришлось разрабатывать контекстное меню таблицы управляемой формы, которое должно было меняться в зависимости от данных, находящихся в этой таблице. Ниже приведен мой способ решения этой задачи.

1 стартмани

06.08.2019    19189    signum2009    16    

Работа со схемой запроса Промо

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    47605    kalyaka    39    

Процедура ПриКомпоновкеРезультата

Практика программирования v8 1cv8.cf Абонемент ($m)

Коллекция кода

1 стартмани

26.07.2019    49345    vasilev2015    64    

10 способов получить модуль числа (а может, и больше)

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Пишем функцию вычисления модуля числа. Сколько способов существует? Давайте посчитаем!

1 стартмани

11.07.2019    11547    sam441    29    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    11951    azazana    80    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    50489    DarkAn    86    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Абонемент ($m)

Расскажем и покажем практически, как использовать искусственный интеллект на страже мониторинга производительности. У вас появится возможность создать собственного помощника Ларису, которая возьмет на себя вопросы по контролю и диагностике состояния обслуживаемой системы.

1 стартмани

01.07.2019    9925    ivanov660    28    

"Убер на складе": динамический расчет маршрутов с учетом реальных расстояний

Учет ТМЦ Практика программирования Учет ТМЦ v8 УУ Абонемент ($m)

Представляю методику и инструмент для динамического расчета маршрутов отбора на высоконагруженных складах для максимального повышения эффективности склада, ускорения проходимости и, как следствие, экономии денег. Это методика и обработка для интеграции в WMS решения. Тестировалось на 1С 8.3.14.1565.

3 стартмани

24.06.2019    18086    informa1555    17    

1С:Ассемблер. Немного летнего веселья!

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недостаточно низкоуровневым, скучным и т.п. Все они с тоской поглядывают в сторону "настоящих" языков программирования. Так вот, господа, они неправы. В системе 1С есть места, где можно размять программерский мозг и получить удовольствие от низкоуровневой техники. Предлагаю вам погрузиться в недра виртуальной машины 1С и понять, как она работает. Там есть свой "ассемблер" и мы попробуем его в действии!

1 стартмани

21.06.2019    31676    Evil Beaver    143    

Новый запрос и новая таблица значений как функции Промо

Практика программирования v8 Абонемент ($m)

Предлагается две простые функции, использование которых уменьшает объем кода в конфигурациях на платформе «1С:Предприятие 8». Эти функции можно добавлять к своему общему модулю, что сделает процесс программирования более эффективным.

1 стартмани

27.11.2012    45825    ildarovich    48    

Еще раз о рабочих днях. Быстрый способ расчета в запросах

Практика программирования Математика и алгоритмы Разработка v8 Абонемент ($m)

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

1 стартмани

20.06.2019    10790    Alxby    15    

Простые примеры сложных отчетов на СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Подписи в отчете. Особенности соединения наборов: как соединить несоединяемое. Остатки на дату и обороты по месяцам в одном отчете. Курс валюты на каждую дату без группировок и соединений в запросе. Отчет с произвольными колонками и с произвольной последовательностью. "Неадекватный отчет".

1 стартмани

12.06.2019    33249    Hatson    32    

Графики работы из БСП

Практика программирования Разработка v8 1cv8.cf Россия Абонемент ($m)

Не очень давно на канале 1С:БСП была опубликована заметка по использованию Графиков работы и Календарных графиков.

1 стартмани

23.05.2019    3721    fenixnow    0    

Уровни, глубина, прародители, циклы и аналоги запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

13.11.2012    116312    ildarovich    98    

Создание внешней печатной формы в формате документа Word

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

В статье написано, как создать внешнюю печатную форму (для конфигураций с БСП) в формате Word.

1 стартмани

17.05.2019    18969    ВикторП    22    

Поле адреса в своем справочнике на примере 1С:Бухгалтерия 3

Практика программирования Разработка v8 v8::БУ БП3.0 Россия Абонемент ($m)

В публикации описано, как добавить поле адреса в свой справочник, чтобы вводить адрес через адресный классификатор.

1 стартмани

17.05.2019    6964    vasilievil    4    

Пример настройки шаблонов и реализации печати отчетов в документ MS Word используя функциональную часть "Библиотеки Стандартных Подсистем 1С" (БСП)

Практика программирования Разработка v8 Россия Абонемент ($m)

В конфигурации выбраны и использованы только необходимые объекты библиотеки стандартных подсистем для реализации вывода отчёта, с табличными частями, в документ MS Word. Показан пример создания необходимых областей в шаблоне для вывода параметров в отчёт.

1 стартмани

23.04.2019    7603    olegpkc    11    

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали Промо

Практика программирования Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::СКД КА1 УТ10 УПП1 УУ Абонемент ($m)

Предлагается метод для быстрого нахождения неоплаченных долгов при распределении оплаты по правилу ФИФО, основанный на дихотомии. Описывается реализация метода в виде достаточно простого запроса, решающего за линейное время указанную задачу, считавшуюся ранее существенно более трудоемкой. Приводятся примеры использования запроса в отчетах на СКД для конфигураций УТ, КА, УПП.

1 стартмани

28.02.2014    69669    ildarovich    129    

Ops средствами 1С:Предприятие

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

В статье описан программный пакет "Автоматизация ИТ-процессов" (АИТП), позволяющий автоматизировать задачи по администрированию, управлению и обслуживанию ИТ-инфраструктуры.

1 стартмани

23.04.2019    18069    blackhole321    28    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    37504    riposte    66    

Вывод вариантов СКД в таблицы на управляемой форме

Практика программирования Работа с интерфейсом v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

05.04.2019    12218    artkor    1    

Транзитивное замыкание запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

В частности, показывается, как одним пакетным запросом найти ВСЕХ предков (потомков) в иерархическом справочнике. Аналогично можно определять входимость деталей в узлы и готовые изделия по их спецификациям, определять подмножества аналогичных запчастей по цепочке аналогов, решать другие подобные задачи. Приложен файл с примером отчета для замыкания иерархии произвольного справочника, позволяющий протестировать быстродействие запроса в разных условиях.

1 стартмани

29.10.2012    89435    ildarovich    120    

[EnterpriseData] Антисвертка характеристик номенклатуры при выгрузке в Бухгалтерию

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 v8::ПВХ КД УНФ БП3.0 Россия БУ Абонемент ($m)

Рассмотрена выгрузка каждой пары значений Номенклатура - Характерстика из УНФ 1.6 в отдельную номенклатуру в Бухгалтерию 3.0 путём доработки правил обмена в формате EnterpriseData.

1 стартмани

27.03.2019    5373    nforce    6    

Интеграция 1С и SharePoint

Практика программирования Разработка v8 УНФ ДО ERP2 БП3.0 УТ11 УХ КА2 Россия Абонемент ($m)

Заказчики поставили задачу автоматизации согласования заявок на оплату в программе 1С:Бухгалтерия предприятия 3.0. Согласно ТЗ, данные должны подтягиваться из действующей электронной системы документаоборота на MS SharePoint (в дальнейшем СЭД MS SP).

1 стартмани

22.03.2019    6325    -I-    5    

Легкий "тюнинг" УТ 10.3

Практика программирования Разработка v8 v8::ОУ УТ10 Россия УУ Абонемент ($m)

Вариант программной реализации изменения форм типовых объектов для конфигурации Управление торговлей 10.3.

1 стартмани

15.03.2019    4805    pm74    6