Имя: Пароль:
1C
1С v8
Не могу сделать подбор для нескольких складов
0 Jokerman
 
28.08.12
15:07
Здрасте всем, простецкий запрос в динамическом списке:
ВЫБРАТЬ
   НоменклатураПродаж.Ссылка КАК Ссылка,
   НоменклатураПродаж.Код,
   НоменклатураПродаж.Цена,
   НоменклатураПродаж.ЭтоГруппа,
   ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
   ХозрасчетныйОстатки.Субконто2 КАК Склад,
   ХозрасчетныйОстатки.КоличествоОстатокДт КАК КоличествоОстаток
ИЗ
   Справочник.НоменклатураПродаж КАК НоменклатураПродаж
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
               &Период,
               Счет = &Счет,
               ,
               Организация = &Организация
                   ) КАК ХозрасчетныйОстатки
       ПО (ХозрасчетныйОстатки.Субконто1 = НоменклатураПродаж.Ссылка)

В результат попадают только строчки с последним складом в переданном массиве. Целый день бьюсь, что не так, в консоли этот же запрос отрабатывает со всеми складами, что не так?
1 kible
 
28.08.12
15:10
(0) А где склады передаешь?
2 Ненавижу 1С
 
гуру
28.08.12
15:10
чето не вижу я параметра складов
3 Jokerman
 
28.08.12
15:12
Извиняюсь это старый запрос:
ВЫБРАТЬ
   НоменклатураПродаж.Ссылка КАК Ссылка,
   НоменклатураПродаж.Код,
   НоменклатураПродаж.Цена,
   НоменклатураПродаж.ЭтоГруппа,
   ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
   ХозрасчетныйОстатки.Субконто2 КАК Склад,
   ХозрасчетныйОстатки.КоличествоОстатокДт КАК КоличествоОстаток
ИЗ
   Справочник.НоменклатураПродаж КАК НоменклатураПродаж
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
               &Период,
               Счет = &Счет,
               ,
               Организация = &Организация
                   И Субконто2 В (&Склады)) КАК ХозрасчетныйОстатки
       ПО (ХозрасчетныйОстатки.Субконто1 = НоменклатураПродаж.Ссылка)
4 Jokerman
 
28.08.12
15:13
ОтборСклады = Новый Массив;
//траляля здесь добавляем склады
СписокТоваров.Параметры.УстановитьЗначениеПараметра("Склады", ОтборСклады);
5 Jokerman
 
28.08.12
15:19
Все проверил, элементы массива - это ссылки "Справочник.Склады", счет 2910 (НоменклатураПродаж, склады), все параметры есть "Организация, Счет, Период". Остатки на этот период есть как минимум на 5 складах, в параметре передаю 3 склада, а выдает только 1, причем последний, я заметил, п.ч. если меняю последний склад, то меняется на этот последний!
6 Ненавижу 1С
 
гуру
28.08.12
15:40
//траляля здесь добавляем склады

как добавляешь?
7 Jokerman
 
28.08.12
15:44
По моему догадываюсь сам, основная таблица - Справочник.НоменклатураПродаж, поэтому не может 2 строчки сделать, если я убираю основную таблица, то отображает все склада, только исчезают группы и связь с деревом значений, т.е тупо не иерархический список!
8 Jokerman
 
28.08.12
15:45
ОтборСклады.Добавить(ЦентрУчета.Витрина);
ОтборСклады.Добавить(ЦентрУчета.ОсновнойСклад);    
ОтборСклады.Добавить(ЦентрУчета.ОперативныйСклад);
(7) только как сделать чтобы было как надо, что отказаться от динамического списка?
9 Jokerman
 
28.08.12
15:47
Короче меж двух огней! Никто не делал подбор, по нескольким складам?
10 Папа Гапа
 
28.08.12
15:48
Покаж какую таблицу получить хочешь. В 'trctkt нарисуй и наскриншотай сюда
11 Папа Гапа
 
28.08.12
15:48
Покаж какую таблицу получить хочешь. В эекселе нарисуй и наскриншотай сюда
12 Jokerman
 
28.08.12
15:51
Щас
13 shuhard
 
28.08.12
15:52
(9) откуда - ты первый в мире, кто решился на отбор по субконто =)
14 ILM
 
гуру
28.08.12
15:56
(13) Так нельзя же, Я кофе подавился,
сейчас нужно клавиатуру протирать)))
15 Jokerman
 
28.08.12
15:58
16 Jokerman
 
28.08.12
15:59
(13) я не в коем случае не сомневался в этом, это для тех, кто читает!
17 Jokerman
 
28.08.12
16:00
(13) если вам не сложно поделитесь мудростью, у вас получилось это в динамическом списке?
18 Jokerman
 
28.08.12
16:01
Я прав в (7)?
19 Никола_
Питерский
 
28.08.12
16:04
(18) Внимательно читал на ИТС особенности работы динамического списка ?
20 Jokerman
 
28.08.12
16:05
(19) Нет вообще не читал, если честно!
21 Никола_
Питерский
 
28.08.12
16:08
(20) Цитато с ИТС:

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

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

Избавиться от этого, не меняя запрос можно, убрав указание основной таблицы. При этом запрос становится полностью статическим и для каждой строки выборки генерируется суррогатный ключ - простое число.
22 Jokerman
 
28.08.12
16:11
(21) в (7) я вроде допетрил, но не знаю как решить мою проблему наиболее простым способом! В таблицу значений?