|
v7: Выборка подчиненных документов в запросе | ☑ | ||
---|---|---|---|---|
0
1С-ница
11.11.14
✎
13:11
|
Платформа 7.70.027
Можно ли в одном запросе получить документ и его подчиненные? Текст запроса: Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(НайтиРазмещения) |Период с НачДата по КонДата; |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |Размещение = Документ.Размещение.ТекущийДокумент; // |ДопУслуги = Документ.ДополнительныеУслугиПоФакту.Основание; |Гость = Документ.Размещение.Гость; |Тариф = Документ.Размещение.Тариф; |ДатаДок = Документ.Размещение.ДатаДок; |ДатаР = Документ.Размещение.Гость.ДатаРождения; |Группировка Гость упорядочить по Гость.Наименование; |Условие(Гость.Город.Наименование В (Города)); |Условие((ТекущаяДата()-ДатаР)>6570); //|Условие(ДопУслугиПоФакту.ДокументОснование=Размещение); |"//}}ЗАПРОС Основной документ - Размещение, соответственно ДопУслуги - подчиненные. Если их выбрать (допУслуги),то почему то при выполнении отчета валится ошибка что "Значение не представляет агрегатный объект (Город):2" |
|||
1
1С-ница
11.11.14
✎
13:12
|
Пыталась искать подчиненные Выборкой, но почему то зациклилось на 1 документе, причем не нужного типа:
ДопУслуги = СоздатьОбъект("Документ"); Пока Запрос.Группировка() = 1 Цикл Если Запрос.Гость.этогруппа() = 0 Тогда //Ищем подчиненные доп услуги Пока ДопУслуги.ВыбратьПодчиненныеДокументы(НачДата,КонДата,Запрос.Размещение) = 1 Цикл // Заполнение полей НайтиРазмещения Таб.ВывестиСекцию("НайтиРазмещения"); КонецЦикла; КонецЕсли; КонецЦикла; |
|||
2
Ёпрст
11.11.14
✎
13:13
|
// Пока ДопУслуги.ВыбратьПодчиненныеДокументы(НачДата,КонДата,Запрос.Размещение) = 1 Цикл
// Заполнение полей НайтиРазмещения ДопУслуги.ВыбратьПодчиненныеДокументы(НачДата,КонДата,Запрос.Размещение); Пока ДопУслуги.ПолучитьДокумент()=1 Цикл Таб.ВывестиСекцию("НайтиРазмещения"); КонецЦикла; |
|||
3
Ёпрст
11.11.14
✎
13:16
|
(0)
>>>Можно ли в одном запросе получить документ и его подчиненные? Можно, в прямом запросе. |
|||
4
Злопчинский
11.11.14
✎
13:17
|
Инженер минус программист смайл
Запросом не получится |
|||
5
1С-ница
11.11.14
✎
13:17
|
(2) Спасибо,
(3) А у меня какой? |
|||
6
Ёпрст
11.11.14
✎
13:18
|
(5) а у тебя обычный, чорный
|
|||
7
1С-ница
11.11.14
✎
13:19
|
(6) Подскажите как мой переделать
|
|||
8
Ёпрст
11.11.14
✎
13:20
|
(7) открыть для себя мир 1cpp(1sqlite) и прямых запросов к данным
|
|||
9
Ёпрст
11.11.14
✎
13:21
|
Ну, для староверов, можно и через ado лепить.
|
|||
10
Злопчинский
11.11.14
✎
13:21
|
К прямому запросу нужно один эс плюс плюс вк загрузить
|
|||
11
1С-ница
11.11.14
✎
13:21
|
Переделала выборку:
Пока Запрос.Группировка() = 1 Цикл Если Запрос.Гость.этогруппа() = 0 Тогда //Ищем подчиненные доп услуги ДопУслуги.ВыбратьПодчиненныеДокументы(НачДата,КонДата,Запрос.Размещение); Пока ДопУслуги.ПолучитьДокумент()=1 Цикл Если ДопУслуги.Вид() = "ДополнительныеУслугиПоФакту" Тогда // Заполнение полей НайтиРазмещения Таб.ВывестиСекцию("НайтиРазмещения"); КонецЕсли; КонецЦикла; КонецЕсли; //Сообщить("" + Запрос.Гость + " " + Запрос.Размещение); КонецЦикла; Почему то выводит не все подчиненные документы нужного вида |
|||
12
Злопчинский
11.11.14
✎
13:22
|
Перст а можно текст такого запроса с выбором подчиненных определенного вида вопрос
|
|||
13
Злопчинский
11.11.14
✎
13:22
|
период смотри
|
|||
14
Злопчинский
11.11.14
✎
13:23
|
для проверки в журнале стань на родителя пкм подчиненные документы и сверяй
|
|||
15
1С-ница
11.11.14
✎
13:25
|
(13) спасибо. За 1 день быстро отрабатывает, за год будет наверное долго.
|
|||
16
1С-ница
11.11.14
✎
13:26
|
Да и в подчиненных нужно табчасть отрабатывать и группировать, так что очень надо в запросе получать все данные
|
|||
17
VoditelKobyly
11.11.14
✎
13:27
|
Тебе быстрее будет в выборке чем 1срр изучить
|
|||
18
Злопчинский
11.11.14
✎
13:28
|
16 сделай запросом извлечение допуслуг с извлечением из допуслуг дока основания выгрузи итог запроса в из отсортируй по основанию плюс допуслуга
|
|||
19
1С-ница
11.11.14
✎
13:30
|
(18) не получилось так
|
|||
20
1С-ница
11.11.14
✎
13:31
|
|Период с НачДата по КонДата;
|Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |Размещение = Документ.ДополнительныеУслугиПоФакту.Основание; |ДопУслуги = Документ.ДополнительныеУслугиПоФакту.ТекущийДокумент; |Гость = Документ.Размещение.Гость; |Тариф = Документ.Размещение.Тариф; |ДатаДок = Документ.Размещение.ДатаДок; |ДатаР = Документ.Размещение.Гость.ДатаРождения; |Группировка Гость упорядочить по Гость.Наименование; |Условие(Гость.Город.Наименование В (Города)); |Условие((ТекущаяДата()-ДатаР)>6570); //|Условие(ДопУслугиПоФакту.ДокументОснование=Размещение); |"//}}ЗАПРОС |
|||
21
1С-ница
11.11.14
✎
13:32
|
Ругается на Город
|
|||
22
VoditelKobyly
11.11.14
✎
13:33
|
(12) Там два варианта: либо выборка сразу подчиненных со связкой по parenval, либо выбока основных со связкой по CHILDID. Сразу даже не угадаешь что быстрее будет работать.
|
|||
23
Ёпрст
11.11.14
✎
13:40
|
(11) период выборки подч. документов расширь
|
|||
24
1С-ница
11.11.14
✎
13:41
|
(23) уже починила
|
|||
25
Злопчинский
11.11.14
✎
14:57
|
|Период с НачДата по КонДата;
|Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |Размещение = Документ.ДополнительныеУслугиПоФакту.Основание; |ДопУслуги = Документ.ДополнительныеУслугиПоФакту.ТекущийДокумент; |Гость = Документ.ДополнительныеУслугиПоФакту.Основание.Гость; |Тариф = окумент.ДополнительныеУслугиПоФакту.Основание.Тариф; |ДатаДок = окумент.ДополнительныеУслугиПоФакту.Основание.ДатаДок; |ДатаР = окумент.ДополнительныеУслугиПоФакту.Основание.Гость.ДатаРождения; |Группировка Гость упорядочить по Гость.Наименование; |Условие(Гость.Город В Города); |Условие((ТекущаяДата()-ДатаР)>6570); |"//}}ЗАПРОС |
|||
26
Злопчинский
11.11.14
✎
14:59
|
Попробуй так.
. И что это за бредовое условие 1. НАИМЕНОВАНИЯ городов в списке? ты уверена что обезъяны манагеры тольятти и таллинн напишут без ошибок в одном месте и это будет совпадать с какимито сторками введенными в другом месте? 2. Условие(ДопУслугиПоФакту.ДокументОснование=Размещение); - это что за фигня? ограничение для ОДНОГО КОНКРЕТНОГО дока размещение? - нафейхоа? |
|||
27
Злопчинский
11.11.14
✎
16:39
|
И вообще - группировка гость - какая то фигня
. мну кажется логичнее использовать |Группировка Гость |Группировка Размещение |Группировка ДопУслуги . ??? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |