|
Таблица значений в параметрах запроса | ☑ | ||
---|---|---|---|---|
0
Штурман
22.04.14
✎
12:35
|
На форме было поле ввода, где выбирался элемент иерархического справочника. Это значение потом передавалось в запрос.
Когда же вместо поля ввода на форму добавили табличное поле, т.е. таблицу значений, чтобы одновременно выбрать несколько справочников, запрос перестал работать, а теперь попросту выводит все данные подряд за указанный промежуток времени. В чем может быть причина? Код: Массив = Новый Массив(); Для каждого стр из ТЗПодразделения цикл //ТЗПодразделения – ТЗ на форме справочника, про нее речь Массив.Добавить(стр.Подразделение); конеццикла; Подразделение = Массив; //////////////////////////////////////////////////////////////////////////////// Запрос. . . //////////////////////////////////////////////////////////////////////////////// Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ТЗРаб.Физлицо, | ТЗРаб.Сотрудник, | ТЗРаб.Подразделение, | ТЗРаб.Должность |ПОМЕСТИТЬ ВремТаб |ИЗ | &тзРаб КАК ТЗРаб |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВремТаб.Сотрудник, | ПодразделенияОрганизаций.Ссылка КАК ПодразделениеОрганизации, | ДолжностиОрганизаций.Ссылка КАК ДолжностьОрганизации, | ФизическиеЛица.Ссылка КАК ФизЛицо |ПОМЕСТИТЬ ВТРаботники |ИЗ | ВремТаб КАК ВремТаб | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДолжностиОрганизаций КАК ДолжностиОрганизаций | ПО ВремТаб.Должность = ДолжностиОрганизаций.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций | ПО ВремТаб.Подразделение = ПодразделенияОрганизаций.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица | ПО ВремТаб.Физлицо = ФизическиеЛица.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТРаботники.Сотрудник, | ВТРаботники.ПодразделениеОрганизации КАК Подразделение |ИЗ | ВТРаботники КАК ВТРаботники |ГДЕ | ВТРаботники.ПодразделениеОрганизации В ИЕРАРХИИ(&ПодразделениеОрганизации)"; Запрос.УстановитьПараметр("тзРаб", ТЗРаботники); Запрос.УстановитьПараметр("ДатаНачала", НачалоМесяца(ДатаОтчета)); //Дата Запрос.УстановитьПараметр("ДатаОкончания", КонецМесяца(ДатаОтчета)); //Дата Запрос.УстановитьПараметр("ПодразделениеОрганизации", Подразделение); //Справочник ссылка: Подразделения организации РезультатЗапроса2 = Запрос.Выполнить(); Выборка2 = РезультатЗапроса2.Выбрать(); |
|||
1
Wobland
22.04.14
✎
12:35
|
в этом: добавили табличное поле
|
|||
2
Штурман
22.04.14
✎
12:39
|
Вот картинка для иллюстраци:
http://f-lite.ru/lfp/i023.radikal.ru/1404/02/2e183a2d8127.png/htm Выше поле выбора, а потом добавили ТЗ |
|||
3
Штурман
22.04.14
✎
12:39
|
(1) а как в запрос передать несколько справочников?
|
|||
4
Wobland
22.04.14
✎
12:40
|
(3) В(&МощныйСписок)
|
|||
5
Штурман
22.04.14
✎
12:42
|
(4) тоже не работает, нужна именно ИЕРАРХИЯ, т.к. справочники имеют кучу уровней вложенности
|
|||
6
Cube
22.04.14
✎
12:42
|
(3) "несколько справочников"
Король формулировок! :))) |
|||
7
Cube
22.04.14
✎
12:43
|
(5) Разрешаю воспользоваться "В ИЕРАРХИИ"
|
|||
8
Wobland
22.04.14
✎
12:43
|
мда..
|
|||
9
Wobland
22.04.14
✎
12:44
|
(5) это ради иерархии ты ТЗ изобрёл?
|
|||
10
Штурман
22.04.14
✎
12:45
|
(6) (7) по делу есть что сказать?
|
|||
11
Штурман
22.04.14
✎
12:46
|
(9) а есть другие варианты?
|
|||
12
Cube
22.04.14
✎
12:49
|
(10) Я сказал именно по делу. Тебе осталось это просто осознать...
|
|||
13
Штурман
22.04.14
✎
12:49
|
(4) Написал вместо "В ИЕРАРХИИ" просто "В"
запрос вообще не работает |
|||
14
Штурман
22.04.14
✎
12:50
|
(12) так я в начале топика написал: что запрос выводит не подразделения, относящиеся к выбранным в табличном поле, а практически все подразделения
|
|||
15
Cube
22.04.14
✎
12:53
|
(14) Какие выбрал, такие и выводит. Плюс все, которые входят в те, что ты выбрал...
Что не так? |
|||
16
Wobland
22.04.14
✎
12:53
|
(14) ты всё ещё пользуешься запросом из (0)?
|
|||
17
Штурман
22.04.14
✎
12:55
|
(15) выводит практически все подразделения конторы, а не только те подразделения, которые входят в выбранные
а надо чтобы выводились только подразделения, которые входят в выбранные на форме |
|||
18
Штурман
22.04.14
✎
12:56
|
(16) да
|
|||
19
Cube
22.04.14
✎
12:57
|
(17) Давай запрос и структуру стравочника своего. Хватит обсасывать сферических коней в вакууме...
|
|||
20
Wobland
22.04.14
✎
12:58
|
(18) предлагаю выкинуть к чертям эту бабйню и сделать один нормальный запрос
|
|||
21
Штурман
22.04.14
✎
12:58
|
(17) т.е. есть Администрация, в ней Бухгалтерия, а отдельно от них, например Охрана,
так вот, когда выбираешь Администрацию, надо чтобы в результате выводились Администрация и Бухгалтерия а в запросе выводятся все, т.е. и Охрана, которую вообще не выбирали |
|||
22
Штурман
22.04.14
✎
12:59
|
(19) так я же запрос в (0) разместил
|
|||
23
Штурман
22.04.14
✎
12:59
|
там крестик размернуть
|
|||
24
Wobland
22.04.14
✎
12:59
|
(20) максимум - двойной ради ТЗ. если она вообще там упёрлась
|
|||
25
Штурман
22.04.14
✎
13:00
|
(19) Структура справочника:
Аднинистрация |---Бухгалтерия Охрана |
|||
26
Cube
22.04.14
✎
13:01
|
(22) Что такое ТЗРаботники? Говори его тип и значение.
|
|||
27
Cube
22.04.14
✎
13:02
|
(26) А, не надо, уже понял)
|
|||
28
Cube
22.04.14
✎
13:03
|
Давай значения массива "Подразделение".
|
|||
29
Cube
22.04.14
✎
13:04
|
+(28) Только не ври!
|
|||
30
Штурман
22.04.14
✎
13:04
|
(26) Это другой запрос, он просто вытягивает актуальные данные о том, где в определенный период работает сотрудник
(писала сама 1с) ОписаниеТиповФ = Новый ОписаниеТипов("СправочникСсылка.ФизическиеЛица"); ОписаниеТиповС = Новый ОписаниеТипов("СправочникСсылка.СотрудникиОрганизаций"); ОписаниеТиповП = Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"); ОписаниеТиповД = Новый ОписаниеТипов("СправочникСсылка.ДолжностиОрганизаций"); ТЗРаботники = Новый ТаблицаЗначений; ТЗРаботники.Колонки.Добавить("Физлицо", ОписаниеТиповФ); ТЗРаботники.Колонки.Добавить("Сотрудник", ОписаниеТиповС); ТЗРаботники.Колонки.Добавить("Подразделение", ОписаниеТиповП); ТЗРаботники.Колонки.Добавить("Должность", ОписаниеТиповД); Пока Выборка.Следующий() цикл стр = ТЗРаботники.Добавить(); стр.Физлицо = Выборка.Физлицо; стр.Сотрудник = Выборка.Сотрудник; стр.Подразделение = Выборка.Подразделение; стр.Должность = Выборка.Должность; КонецЦикла; |
|||
31
Штурман
22.04.14
✎
13:07
|
(29) странно, написал:
Для Каждого ЭлементМассива из Подразделение Цикл Сообщить(ЭлементМассива); КонецЦикла; выдает: Итератор для значения не определен Для Каждого ЭлементМассива из Подразделение Цикл |
|||
32
Cube
22.04.14
✎
13:08
|
(31) Может у тебя есть реквизит формы Подразделение с другим типом?
|
|||
33
Cube
22.04.14
✎
13:09
|
(31) Замени все вхождения "Подразделение" на "ВыбранныеПодразделения"
|
|||
34
Штурман
22.04.14
✎
13:12
|
(33) заменил:
ВыбранныеПодразделения = Новый Массив(); Для каждого стр из ТЗПодразделения цикл ВыбранныеПодразделения.Добавить(стр.Подразделение); конеццикла; --- Запрос.УстановитьПараметр("ПодразделениеОрганизации", ВыбранныеПодразделения); Заработало, спасибо Буду дальше тестировать :) |
|||
35
vovus
22.04.14
✎
13:16
|
Поле ввода старое по ходу и называлось "Подразделение"
|
|||
36
Cube
22.04.14
✎
13:21
|
(34) Ага, а то "запрос коряво работает"... :))
|
|||
37
Штурман
22.04.14
✎
13:21
|
(35) Да, вот косяк, старое поле ввода так и называлось)))
|
|||
38
AlexITGround
22.04.14
✎
13:22
|
(36) стоПудов с этой ошибкой столкнулся каждый из нас
|
|||
39
Cube
22.04.14
✎
13:28
|
(38) А ещё бывает и такое:
CуммаДокумента = 500; Сообщить(СуммаДокумента); Ошибка... А с виду и не скажешь, где... :) |
|||
40
Wobland
22.04.14
✎
13:42
|
я всё пропустил. Cube, зачем ему ТЗ?
|
|||
41
Cube
22.04.14
✎
13:51
|
(40) Он не сказал, а я не спрашивал))
|
|||
42
Wobland
22.04.14
✎
13:53
|
но что-то такое понял - (27). ну и ладно
|
|||
43
Штурман
22.04.14
✎
14:17
|
(40) в ТЗ можно добавить несколько подразделений, а в поле выбора можно выбрать только одно подразделение
|
|||
44
Wobland
22.04.14
✎
14:40
|
или только один список значений любой длины по вкусу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |