Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отображение характеристик номенклатуры в списке          
Bulzavr Подменю пользователя
сообщение 05.09.17, 19:36
Сообщение #1

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

А как можно реализовать отображение характеристик номенклатуры в списке?
У каждой номенклатуры может быть несколько характеристик.. Вот думаю, что нужно отображать в списке каждую характеристику одного и того-же товара новой строкой... Как быть?

Хочу так:


Помогите пожалуйста дополнить мой код:

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



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

Petre Подменю пользователя
сообщение 06.09.17, 8:39
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Bulzavr @ Вчера, 20:36 * ,
"Без повторяющихся" означает отсутствие записей с одинаковыми значениями по всем полям. Вам же надо обеспечить уникальность записей по полю "ссылка".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Bulzavr Подменю пользователя
сообщение 06.09.17, 9:04
Сообщение #3

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

А как это сделать? Что в коде не так?

Bernet Подменю пользователя
сообщение 06.09.17, 9:06
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Bulzavr @ Сегодня, 10:04 * ,
Не так то что , данный запрос может вам задвоить строки и у вас одинаковая ссылка может встречаться в двух строках - пример: один и тот же товар есть на разных складах - вот вам и две строки, соответственно "дублирование ключевого значения".

Такое сообщение возникает когда в динамическом списке установлена основная таблица - если её убрать то сообщения не будет, но тогда вам ручками надо будет реализовать все стандартные кнопки командной панели: Создать, Изменить, Копировать и т.д.


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Bulzavr Подменю пользователя
сообщение 06.09.17, 10:23
Сообщение #5

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

Что-то какая-то грусть прям.. Больше нет вариантов? И насколько это сообразно?

Bernet Подменю пользователя
сообщение 06.09.17, 10:43
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Bulzavr @ Сегодня, 11:23 * ,
Насколько знаю нет, может кто-то что-то предложит другое. Я когда-то писал свои обработчики в такой ситуации, не то чтобы аж очень много кода и что-то сложное, но жаба душит учитывая то, что знаешь что кнопки стандартные и могли бы без этого обойтись


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

sava1 Подменю пользователя
сообщение 06.09.17, 10:48
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(Bernet @ 06.09.17, 10:06) *
данный запрос может вам задвоить строки и у вас одинаковая ссылка может встречаться в двух строках - пример: один и тот же товар есть на разных складах - вот вам и две строки, соответственно "дублирование ключевого значения".


Это откуда такой вывод - ?

Bernet Подменю пользователя
сообщение 06.09.17, 10:54
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

sava1 @ Сегодня, 11:48 * ,
Вывод оттуда, что у человека в запросе левым соединением к справочнику Номенклатура подсоединяются остатки, связь только по номенклатуре, соответственно если есть товар на нескольких складах - столько строк и получим.

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


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

sava1 Подменю пользователя
сообщение 06.09.17, 10:57
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Цитата(Bernet @ 06.09.17, 11:54) *
столько строк и получим.


Компоновщик хрен Вам отдаст кроме номенклатуры и остатка

Bernet Подменю пользователя
сообщение 06.09.17, 11:05
Сообщение #10

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

sava1 @ Сегодня, 11:57 * ,
Пардон, не увидел что Склад в выборку не попадает.

Но сути не меняет: раз выдает такое сообщение значит есть две строки с одинаковой ссылкой, а в таком случае либо делать так чтобы эта ссылка была одна, либо так как писал я - реализовывать командную панель самостоятельно


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Bulzavr Подменю пользователя
сообщение 06.09.17, 17:03
Сообщение #11

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

Так как решить-то? Чесслово не понимаю, почему сделали так, как есть изначально.. Ведь неудобно же!

У меня например есть на складе 10 карандашей. 5 синих и 5 красных. Как в списке номенклатуры смотреть остаток, если отображаетс "карандаш: 10шт"? Прайс смотреть не вариант каждый раз. Нужно видеть оставшиеся цвета в списке номенклатуры..

Как вообще люди живут с этим?

logist Подменю пользователя
сообщение 06.09.17, 17:18
Сообщение #12

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Bulzavr @ 06.09.17, 18:03) *
Как вообще люди живут с этим?

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Bulzavr Подменю пользователя
сообщение 07.09.17, 8:51
Сообщение #13

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

Я использую характеристики и у меня голая типовая УТ11, в которой не видно характеристик в списке номенклатуры ни в каких окнах. Чтобы посмотреть остаток по характеристикам, приходится формировать прайс-лист! Или я чурка?

Bulzavr Подменю пользователя
сообщение 07.09.17, 9:58
Сообщение #14

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

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

Bulzavr Подменю пользователя
сообщение 07.09.17, 13:17
Сообщение #15

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

Сделал динамический список справочника характеристик. Почти получилось.. Стал отображать и характеристики и владельца. Помогите вот с чем:

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

{ОбщийМодуль.ОбщегоНазначения.Модуль(94)}: Ошибка при вызове метода контекста (Выполнить)
   Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(3, 2)}: Поле не найдено "Родитель"
<<?>>Родитель КАК Родитель




2. Как сгруппировать таким образом, чтобы Наименование характеристики было вложено во владельца одной строкой?

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



Может это как раз из-за отсутствия характеристик у некоторой номенклатуры?

logist Подменю пользователя
сообщение 07.09.17, 14:39
Сообщение #16

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Bulzavr @ 07.09.17, 14:17) *
2. Как сгруппировать таким образом, чтобы Наименование характеристики было вложено во владельца одной строкой?

Никак, в запросе этого сделать нельзя


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Bulzavr Подменю пользователя
сообщение 08.09.17, 8:07
Сообщение #17

Рагуль
****
Группа: Ахтунги
Сообщений: 116
Спасибо сказали: 0 раз
Рейтинг: 0

А как же тогда сделать, как на изображении в первом посте?

logist Подменю пользователя
сообщение 08.09.17, 9:34
Сообщение #18

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

В динамическом списке никак.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 23.04.24, 22:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!