Имя: Пароль:
1C
 
Ошибка динамического списка
0 unikon
 
16.05.20
20:37
Всем доброе время суток.

Есть такая задача. Допустим есть справочник "Товары" и "Инвентарные номера". Конечно справочник "Товары" владелец "Инв. номеров".

Нужно в динамическом списке вывести информацию (2 колонки):
  
   Товар | Инв. номер

Условие 1. Вывести нужно так, что бы в этом списке были товары у которых нет инв. номеров.
Условие 2. Вывести товары у которых есть инв. номера, но они допустим помечены на удаление.
Т.е. товар должен отображаться как будто у него нет инв. номеров.

Таблицу "Товары" нельзя указывать в динамическом списке, т.к. обязательно будут дубли по товару.
Уникальной ссылкой должен быть инв. номер.

Написал такой простой запрос:

"ВЫБРАТЬ
|    СправочникТовары.Ссылка КАК Номенклатура,
|    СправочникИнвНомера.Ссылка КАК Бухта
|ИЗ
|    Справочник.Товары КАК СправочникТовары
|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ИнвентарныеНомера КАК СправочникИнвНомера
|        ПО СправочникТовары.Ссылка = СправочникИнвНомера.Владелец
|ГДЕ
|    СправочникТовары.Ссылка В(&СписокТоваров)"

И частично он решил мою проблему. Но, если указать условие "ГДЕ СправочникИнвНомера.ПометкаУдаления", то пропадают полностью товары у которых есть инв. номера, но они все помечены на удаление.

Кто нибудь можешь знает как можно решить данную задачу?)
1 ам794123
 
16.05.20
20:44
отборы ДС устанавливаются в его настройках.
2 unikon
 
16.05.20
20:46
(1) Установив отбор в ДС исчезнут строки без инв. номера
3 ам794123
 
16.05.20
20:47
(2) смотря какой отбор
4 unikon
 
16.05.20
20:49
(3) Я пробовал по разному делать. Пока ничего не вышло.
Нужен результат, что бы в списке были либо пустые строки "Товар без инв. номера", либо "Товар с инв. номером (который не помечен на удаление)"
5 ам794123
 
16.05.20
20:50
в запросе условие ГДЕ выбрось, а потом стандартными отборами ДС воспользуйся
6 unikon
 
16.05.20
20:58
(5) Я пробовал так. Не работает
7 vicof
 
16.05.20
22:08
ЕСТЬNULL во-первых,
Условия на пустую ссылку бухты
или условия на пометку и и не непустую ссылку
8 unikon
 
16.05.20
22:36
Когда появляются строчки к примеру 2 разных товаров у которых нет инв. номеров, то он выдает ошибку. Если сгруппировать по товару в настройках ДС, то строки начинают пересеаться. Т.е.

Товар1
   Товар1 | пустая ссылка инв. номер
Товар2
   Товар1 | пустая ссылка инв. номер

А должно:

Товар1
   Товар1 | пустая ссылка инв. номер
Товар2
   Товар2 | пустая ссылка инв. номер
9 vde69
 
16.05.20
22:40
тебе надо инвентарные номера собрать в одно текстовое поле (через запятую), тогда никакого задвоения не будет. в принцепе это можно сделать в обработчике "при получении данных на сервере" или в самом запросе, зависит от конкретике
10 unikon
 
17.05.20
08:40
(9) Нет, мне не нужно в одну строку. Мне нужно что бы были разные строки, потому что это как форма выбора. Если выберут пустую строку то создадутся новые инв. номера. Если выберут ту, что уже с номером, то она попадет в таб. часть документа.
11 Сияющий в темноте
 
17.05.20
12:00
Если у товара есть номер1 помеченный  на удаление и номер2 что должно быть на выходе?
12 unikon
 
17.05.20
12:43
(11) Только Номер2
13 vde69
 
17.05.20
13:01
(10) тогда у тебя основная таблица - это справочник инв. номера, а номенклатуры выводишь через Владелец и все свойства то-же
14 mistеr
 
17.05.20
13:05
По-моему, такое с ДС не сделать. Нет уникального идентификатора строки.
Делай как отчет.
15 unikon
 
17.05.20
15:28
(14) Да, я понимал, что там нужная уникальная ссылка. Если сгруппировать по товару в настройках ДС, то он такое дает сделать и если не разворачивать группу, то вроде норм) Но если там есть 2 и более строк с пустой ссылкой инв. номера, то получится каша как я выше изобразил. Для моих целей оказалось оставить просто свернутые строки и запретить их разворачивать) Костыль, но что поделать
16 ДедМорроз
 
17.05.20
19:02
Ключевое поле собрать отдельно
Если есть номер,то туда его ссылку,если нету,то ссылку товара,тогда будет уникальность.
18 mistеr
 
17.05.20
19:45
(16) С ДС такое не пройдет.
19 unikon
 
17.05.20
20:56
(17) Меня всегда удивляют такие ответы как ваш. Если так пишите, то и ссылку давайте на ответ.
Прежде чем создать тут тему я пол дня просидел над этим вопросом пытаясь что нибудь найти полезное.
20 palsergeich
 
17.05.20
22:17
(18) Пройдет.
с 10 платформы есть ПриПолученииДанныхНаСервере
21 mistеr
 
18.05.20
09:28
(20) А как будет выглядеть запрос?
22 unikon
 
18.05.20
10:24
(20) Если я не ошибаюсь "ПриПолученииДанныхНаСервере" ты можешь только добавить информацию к существующим строкам (данным), но не изменить их.
23 Маленький Вопросик
 
18.05.20
10:59
ГДЕ СправочникИнвНомера.ПометкаУдаления - условие "ГДЕ" лучше не использовать в динамических списках
24 palsergeich
 
18.05.20
11:22
(22) чойто, прям в демо примере на зазеркалье именно меняют данные в существующем поле
25 palsergeich
 
18.05.20
11:23
26 palsergeich
 
18.05.20
11:26
Другой вопрос что потом отборы и сортировка по этому полю не рекомендуются.
Мне недавно надо было сделать очень хитрое оформление ДС. Если его было делать запросом - то результат удручал.
Добавил несколько полей флажков скрытых и по ним уже красил. Получилось огонь.
27 palsergeich
 
18.05.20
11:29
Крнкретно в примере из (0) добавляется дополнительное скрытое поле, по нему в формате устанавливается свойство текст.
Задача решена.