gifts2017

Остатки в управляемой форме подбора для Розницы 2

Опубликовал Александр Шахмейстер (Ashaxm) в раздел Программирование - Практика программирования

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

В обработке ПодборТоваров в форме Форма изменяем запрос динамического списка ПодборТаблицаНоменклатура на такой:

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

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

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

Ну и добавляем в список колонку ВНаличии. Получаем в окне списка номенклатуры для подбора сумму остатков по всем магазинам - уже видно хотя-бы что вообще есть. А разбивка по складам видна, как и раньше, в окне ОстаткиТоваров уже по выделенному товару конкретно.

Может не очень красиво, но легко сделать.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. TMV 30.06.13 12:58
2. V. L. (Vladal) 01.07.13 13:49
Ну и в описании надо бы указать - для УФ, а то первая мысль "разве в Рознице форма подбора не показывает остаток? Ересь!"
3. Александр Шахмейстер (Ashaxm) 02.07.13 14:37
Это простой запрос и нечего там разукрашивать, имхо
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа