Расширения конфигурации 1с — новый подход к внедрениям

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

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

Открываем конфигуратор, в меню Конфигурация->Расширения конфигурации, добавляем новое расширение конфигурации.

1c1

Затем открываем созданное расширение, оно отбражается в отдельном окне, в виде еще одной конфигурации.

1c2

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

1c3

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

1c4

Скорее всего при попытке сохранить запрос у вас выдастся ошибка с предупреждением о том что нет возможности получить те или иные данные. Для решения этой ошибки следует позаимствовать те объекты которые используются в Запросе динамического списка. В моем случае пришлось пождтянуть регистр сведений РегистрСведений.НоменклатураСегмента. Для отображения остатков также добавим в расширение РегистрНакопления ТоварыНаСкладах и немного перепишем наш запрос.

ВЫБРАТЬ
	СпрНоменклатура.Ссылка КАК Ссылка,
	СпрНоменклатура.Код КАК Код,
	СпрНоменклатура.Наименование КАК Наименование,
	СпрНоменклатура.Артикул КАК Артикул,
	СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
	СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
	СпрНоменклатура.Родитель,
	ВЫБОР
		КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества
			ТОГДА 4 + ВЫБОР
					КОГДА СпрНоменклатура.ПометкаУдаления
						ТОГДА 1
					ИНАЧЕ 0
				КОНЕЦ + ВЫБОР
					КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
						ТОГДА 0
					ИНАЧЕ 2
				КОНЕЦ
		ИНАЧЕ ВЫБОР
				КОГДА СпрНоменклатура.ПометкаУдаления
					ТОГДА 1
				ИНАЧЕ 0
			КОНЕЦ + ВЫБОР
				КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
					ТОГДА 0
				ИНАЧЕ 2
			КОНЕЦ
	КОНЕЦ КАК ИндексКартинки,
	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
ИЗ
	Справочник.Номенклатура КАК СпрНоменклатура
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки
		ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
	НЕ СпрНоменклатура.ЭтоГруппа
{ГДЕ
	(СпрНоменклатура.Ссылка В
			(ВЫБРАТЬ
				Сегменты.Номенклатура
			ИЗ
				РегистрСведений.НоменклатураСегмента КАК Сегменты
			ГДЕ
				Сегменты.Сегмент = &СегментНоменклатуры))}

После измения запроса в у нас в реквизитах формы появится поле Остаток, которое мы перетащим на форму.

1c5

Обновляем конфигурацию БД. И переходим в режим 1с предприятия где мы видим желаемое поле остаток в списке номенклатуры.

Расширение конфигурации также можно сохранять в отдельный файл и добавить его в пользовательском режиме. Для этого нужно войти в меню Все функции — Стандартные — Управление расширениями конфигурациями.

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

1c6

Расширения конфигурации 1с — новый подход к внедрениям: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован.