УТ 11 Добавить в номенклатуру колонки | Ваш персональный программист 1С

УТ 11 Как добавить колонку в список номенклатуры

7 309 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 голосов, средний: 5,00 из 5)
Загрузка...

16.05.2013

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

kol

Авторские права на предоставленный материал принадлежат автору сайта http://you1c.ru/

Рассмотрим как это можно в конфигурации Управление Торговлей, редакция 11

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

Список номенклатуры формируется динамически

Список номенклатуры формируется динамически

Если открыть запрос, то увидим:

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

КОНЕЦ КАК ИндексКартинки
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
ГДЕ
НЕ СпрНоменклатура.ЭтоГруппа
{ГДЕ
(СпрНоменклатура.Ссылка В
(ВЫБРАТЬ
Сегменты.Номенклатура
ИЗ
РегистрСведений.НоменклатураСегмента КАК Сегменты
ГДЕ
Сегменты.Сегмент = &СегментНоменклатуры))}

Из запроса видно, что выборка идет из справочника «Номенклатура».

 

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

Например, нам необходимо добавить колонки «Остаток», «Цена1», «Цена2», где цены — соответствуют каким-то типам цен.

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

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

Далее, добавляем дополнительные реквизиты «Цена1» и «Цена2», выводим их на форму, чтобы пользователь мог в ручную указывать какие цены необходимо видеть.

Типы цен в списке номенклатуры

Типы цен в списке номенклатуры

И в модуль, также, необходимо вставить установку параметров для пересчета цен при изменении типов

&НаСервере
Процедура УстановитьОтборПоЦенаНаСервере()
ЗначениеОтбора = ?(ЗначениеЗаполнено(Цена1), Цена1, Неопределено);
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, «Цена1», ЗначениеОтбора, ЗначениеЗаполнено(Цена1));
ЗначениеОтбора = ?(ЗначениеЗаполнено(Цена2), Цена2, Неопределено);
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Список, «Цена2», ЗначениеОтбора, ЗначениеЗаполнено(Цена2));
КонецПроцедуры

Добавьте статью в социальные сети или закладки:
УТ 11 / , / Комментарии 1
Похожие записи
  • Печать реестра сертификатов и картинок для УФ
    Нередко в торговых организациях присутствует необходимость распечатывать реестры сертификатов, а также копии самих сертификатов. Для этого мной была написана обработка — Реестр сертификатов, работающая...
  • Как отредактировать внешнюю печатную форму 1С 8.2
    Нередко встречается ситуация когда необходимо поправить подключенную внешнюю печатную форму какого-то документа, например надо раздвинуть строки, переместить какие либо элементы, вставить логотип. Дело в...
УТ 11 Как добавить колонку в список номенклатуры: один комментарий
  1. Сергей
    16.05.2014 в 10:12 пп – Ответить

    Здравствуйте!

    Только начинаю изучать программирование 1с и стало немного не понятно как дописать этот запрос?

    Как я понял надо вставить одну часть до «ВЫБОР» остальное начиная с Справочник.Номенклатура КАК СпрНоменклатура, но возникает ошибка.

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

Top
Твой персональный программист 1C 2013
Все права защищены. При использовании материалов активная ссылка на ресурс обязательна.
Яндекс.Метрика