Доброго времени суток, решил для удобства (чтобы удобно видеть товары без штрих кода) добавить в справочник Номенклатура колонку Штрих код. Изменил запрос:
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, СпрНоменклатура.Код КАК Код, СпрНоменклатура.Наименование КАК Наименование, СпрНоменклатура.Артикул КАК Артикул, СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС КАК СтавкаНДС, ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток, ШтрихкодыНоменклатуры.Штрихкод ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО ШтрихкодыНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка ГДЕ НЕ СпрНоменклатура.ЭтоГруппа {ГДЕ (СпрНоменклатура.Ссылка В (ВЫБРАТЬ Сегменты.Номенклатура ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты ГДЕ Сегменты.Сегмент = &СегментНоменклатуры))}
Работает только если товар имеет один штрих код, если больше - конечно выдает ошибку.
Как можно выйти из ситуации, чтобы показывало первый штрих код или последний или просто писало слово "Есть"???
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
Как-то так:
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, СпрНоменклатура.Код КАК Код, СпрНоменклатура.Наименование КАК Наименование, СпрНоменклатура.Артикул КАК Артикул, СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС КАК СтавкаНДС, МИНИМУМ(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК Остаток, МИНИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО ШтрихкодыНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка ГДЕ НЕ СпрНоменклатура.ЭтоГруппа СГРУППИРОВАТЬ ПО СпрНоменклатура.Ссылка, СпрНоменклатура.Код, СпрНоменклатура.Наименование, СпрНоменклатура.Артикул, СпрНоменклатура.ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС {ГДЕ (СпрНоменклатура.Ссылка В (ВЫБРАТЬ Сегменты.Номенклатура ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты ГДЕ Сегменты.Сегмент = &СегментНоменклатуры))}
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Цитата(KriAn @ 18.01.18, 15:16)
Спасибо, работает, только отключилась сортировка по столбцам.... Это можно как-то исправить???
Это нормальное поведение для динамического списка. Не работают сортировки когда используется СГРУППИРОВАТЬ ПО. Попробуйте вынести во вложенный запрос и уже выбирать без СГРУППИРОВАТЬ ПО
Сообщение отредактировал Batchir - 18.01.18, 16:00
Попробуйте вынести во вложенный запрос и уже выбирать без СГРУППИРОВАТЬ ПО
Вот что получилось:
ВЫБРАТЬ Ссылка КАК Ссылка, Код КАК Код, Наименование КАК Наименование, Артикул КАК Артикул, ВидНоменклатуры КАК ВидНоменклатуры, ЕдиницаИзмерения КАК ЕдиницаИзмерения, СтавкаНДС КАК СтавкаНДС, Остаток КАК Остаток, Штрихкод КАК Штрихкод
ИЗ
(ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, СпрНоменклатура.Код КАК Код, СпрНоменклатура.Наименование КАК Наименование, СпрНоменклатура.Артикул КАК Артикул, СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС КАК СтавкаНДС, МИНИМУМ(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК Остаток, МИНИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО ШтрихкодыНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка ГДЕ НЕ СпрНоменклатура.ЭтоГруппа СГРУППИРОВАТЬ ПО СпрНоменклатура.Ссылка, СпрНоменклатура.Код, СпрНоменклатура.Наименование, СпрНоменклатура.Артикул, СпрНоменклатура.ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС
{ГДЕ (СпрНоменклатура.Ссылка В (ВЫБРАТЬ Сегменты.Номенклатура ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты ГДЕ Сегменты.Сегмент = &СегментНоменклатуры))}) КАК Товар
В консоли запросов работает, а вот в программе выдает ошибку:
{ОбщийМодуль.ОбщегоНазначения.Модуль(68)}: Значення не є значенням об`єктного типу (Метаданные) Запрос = Новый Запрос(
Результат = Новый Структура; Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл Результат.Вставить(КлючИЗначение.Ключ); КонецЦикла; ЗаполнитьЗначенияСвойств(Результат, Выборка);
Группа: Основатель
Сообщений: 13982
Из: Киев
Спасибо сказали: 4549 раз
Рейтинг: 3678.1
KriAn @ Сегодня, 10:46
, а как связан вопрос из 1 сообщения и из вашего предыдущего? Давайте не забывать про 6 пункт правил. Эту тему я закрою, т.к. по изначальному вопросу, по-моему, все должно быть ясно.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!