|
v7: Запрос к табличной части документа | ☑ | ||
---|---|---|---|---|
0
GOshaSaveiko
16.04.12
✎
15:49
|
Помогите пожалуйста, нужно найти в табличной части конкретного документа значение колонки конкретного сотрудника. 7.7.
Как делаю:
Сотрудник и документ выбираются в предыдущем запросе. Сообщить(Запрос.Сотр); //отдает сотрудника нормально
Сообщить(Запрос.Док); //отдает документ нормально
Убирал условие по сотруднику, все равно 0. Т.е. даже на док не позиционируется. Результатом ДБ единственная строка. Что я не так делаю? Пробовал выгружать в ТЗ - единственная строка-единственная колонка "0" Скажите, где прошляпился, пожалуйста. |
|||
1
Voronve
16.04.12
✎
15:50
|
(0) Группровку по доку забыл сделать
|
|||
2
Voronve
16.04.12
✎
15:52
|
ТекстЗапросаПоДок = "
|ТекДок = Документ.Табель.ТекущийДокумент; |Сотрудник = Документ.Табель.Сотрудник; |Дней = Документ.Табель.Дней; |Функция ДнейСумма = Сумма(Дней); |Группировка ТекДок; |Условие(Сотрудник = СотрудникТабель); |Условие(ТекДок = ДокументТабель);"; "; Если ЗапросПоДок.Выполнить(ТекстЗапросаПоДок)=1 Тогда Пока Запрос.Группировка(1) = 1 Цикл ... тут шаришься по документам полученным ... КонецЦикла; КонецЕсли; |
|||
3
miki
16.04.12
✎
15:54
|
период не нужен?
|
|||
4
GOshaSaveiko
16.04.12
✎
15:57
|
А фиг там - даже в группировку не заходит. Я туда "Сообщить" запилил
|
|||
5
GOshaSaveiko
16.04.12
✎
15:58
|
(3) Давайте попробуем с периодом - но у меня есть ссылка на конкретный док
|
|||
6
miki
16.04.12
✎
15:59
|
(5)тогда зачем вообще запрос?
|
|||
7
GOshaSaveiko
16.04.12
✎
16:00
|
(6) - вы правы, нужно было указать период. Запрос для того, чтобы быстро спозиционироваться на сотрудника в табличной части документа. Есть другие предложения? С удовольствием посмотрел бы.
|
|||
8
Обработка
16.04.12
✎
16:05
|
(7) запрос делаете в модуле формы документа?
|
|||
9
GOshaSaveiko
16.04.12
✎
16:07
|
(8) - Запрос во внешнем отчете
|
|||
10
Voronve
16.04.12
✎
16:08
|
(7)
Имея документ в котором есть искомый сотрудник: Перем ТЗ; ... ДокументТабель.ВыгрузитьТабличнуюЧасть(ТЗ); Переменная = 0; Если ТЗ.НайтиЗначение(СотрудникТабель, Переменная,"<название колонки таблицы где находятся жлементы справочника сотрудники>") = 1 Тогда ТЗ.ПолучитьСтрокуПоНомеру(Переменная); КонецЕсли; Пойдет ? |
|||
11
miki
16.04.12
✎
16:10
|
>>Запрос для того, чтобы быстро спозиционироваться на сотрудника в табличной части документа
А найти нужную строку и сделать её текущей? Я не вижу задачи вцелом, возможно, весь твой алгоритм стОит потереть... |
|||
12
miki
16.04.12
✎
16:11
|
+ вот так: (10)
Строку можно взять и не только в ТЗ, а сразу в ТЧ. |
|||
13
GOshaSaveiko
16.04.12
✎
16:21
|
(10),(12) - спасибо. Разрулил. Работает и так, и так. Но без подзапроса шустрее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |