|   |   | 
| 
 | v7: Запрос к таб части документа | ☑ | ||
|---|---|---|---|---|
| 0
    
        1С-ница 04.06.13✎ 17:07 | 
        Помогите разобраться: нужно чтобы в запросе выбирались услуги из документа.
  Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНач по ДатаКон; |Остаток = Регистр.ОстатокНаСчете.Сумма; |Клиент = Регистр.ОстатокНаСчете.Клиент; |Док = Регистр.ОстатокНаСчете.Документ; |ТекДок = Регистр.ОстатокНаСчете.ТекущийДокумент; |Функция Нач = НачОст(Остаток); |Функция Прих = Приход(Остаток); |Функция Расх = Расход(Остаток); |Функция Кон = КонОст(Остаток);"; Если флПоДокументам=0 Тогда ТекстЗапроса = ТекстЗапроса + " |Группировка Клиент; |Группировка ТекДок;"; Иначе ТекстЗапроса = ТекстЗапроса + " |Группировка Клиент; |Группировка Док; //|Группировка ТекДок;"; //Ольга |Группировка ТекДок; |Группировка Услуга;"; КонецЕсли; Если флПополнения=0 Тогда ТекстЗапроса = ТекстЗапроса + " |Условие(((ТекДок.Вид()<>""ПриходныйОрдер"") и (ТекДок.Вид()<>""ПоступлениеДенег"") и (ПредставлениеДокумента(ТекДок)<>""Чек на продажу"")) или (Док.Выбран()=0));"; КонецЕсли; Если флОплатаКредита=0 Тогда ТекстЗапроса = ТекстЗапроса + " |Условие(((ТекДок.Вид()<>""ПриходныйОрдер"") и (ТекДок.Вид()<>""ПоступлениеДенег"") и (ПредставлениеДокумента(ТекДок)<>""Чек на продажу"")) или (Док.Выбран()=1));"; КонецЕсли; Если флСнятия=0 Тогда ТекстЗапроса = ТекстЗапроса + " |Условие((ТекДок.Вид()<>""РасходныйОрдер"") и (ПредставлениеДокумента(ТекДок)<>""Чек на возврат""));"; КонецЕсли; Если флПродажи=0 Тогда ТекстЗапроса = ТекстЗапроса + " |Условие((ТекДок.Вид()<>""ОказаниеУслуг"") и (ТекДок.Вид()<>""ПродажаМатериалов"") и (ТекДок.Вид()<>""РасходМатериалов"") и (ТекДок.Вид()<>""ВыдачаКарты""));"; КонецЕсли; Если флВозвраты=0 Тогда ТекстЗапроса = ТекстЗапроса + " |Условие((ТекДок.Вид()<>""ВозвратУслуг"") и (ТекДок.Вид()<>""ВозвратОтПокупателя""));"; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |Условие(Клиент в ВыбКлиент); |"//}}ЗАПРОС ; | |||
| 1
    
        Ёпрст гуру 04.06.13✎ 17:10 | 
        (0) как бэ записи регистров к строкам документа имеют весьма посредственное отношение.     | |||
| 2
    
        Ёпрст гуру 04.06.13✎ 17:11 | 
        Ты уж определись, что тебе надо - обращение к регистру, или к документам и его строкам.     | |||
| 3
    
        1С-ница 04.06.13✎ 17:11 | 
        И вместе с услугой (с отбором по виду услуги) мастер (тоже есть в таб части документа)     | |||
| 4
    
        1С-ница 04.06.13✎ 17:11 | 
        Запрос не я писала, допилить его надо     | |||
| 5
    
        Ёпрст гуру 04.06.13✎ 17:12 | 
        Ну и совсем не комильфо - пихать условие на вид документа движения регистра при вычислении НачОст и КонОст.     | |||
| 6
    
        Ёпрст гуру 04.06.13✎ 17:13 | 
        (4) его надо не допилить, ему место в топке.     | |||
| 7
    
        1С-ница 04.06.13✎ 17:14 | 
        (6) Если знаете как сделать более оптимальный запрос со всеми условиями - я все внимание     | |||
| 8
    
        1С-ница 04.06.13✎ 17:15 | 
        Я даже не могу открыть этот запрос конструктором, ругается видимо на то что запрос рваный..     | |||
| 9
    
        1С-ница 04.06.13✎ 17:16 | 
        Функция Кон  = КонОст(Остаток); <<?>> ";
  Запрос[10] : Неизвестая ошибка '"; ' Ошибок - 1, Предупреждений - 0. | |||
| 10
    
        Ёпрст гуру 04.06.13✎ 17:17 | 
        А зачем его открывать конструктором ?
  :) | |||
| 11
    
        1С-ница 04.06.13✎ 17:18 | 
        Я в 7.7 ни разу запросы не делала, не понимаю как они устроены..     | |||
| 12
    
        1С-ница 04.06.13✎ 17:21 | 
        хотя зайти в конструктор все-таки получилось)     | |||
| 13
    
        1С-ница 04.06.13✎ 17:24 | 
        Может проще организовать выборку по документу и не париться с запросом...     | |||
| 14
    
        Ёпрст гуру 04.06.13✎ 17:24 | 
        Короче, не знаю, зачем тебе строки документа в этом запросе, но если нужны в нём НачОст и КонОст, то своими условиями на вид документа..ты их теряешь напрочь.
  Ну и тормозня тоже дикая из-за этих условия, особенно там, где на Выбран() у тя еще проверяется. | |||
| 15
    
        1С-ница 04.06.13✎ 17:26 | 
        (14) строки документа нужны чтобы получить услуги и мастера     | |||
| 16
    
        Ёпрст гуру 04.06.13✎ 17:27 | 
        (15) возьми эти данные с нужного регистра.     | |||
| 17
    
        Ёпрст гуру 04.06.13✎ 17:27 | 
        или делай запрос к документам и его табличной части.     | |||
| 18
    
        Ёпрст гуру 04.06.13✎ 17:28 | 
        Цель твоя не ясна, судя по запросу - это получение долгов клиентоса в разрезе КредДокументов..
  Какое отношение он имеет к табличной части дока - не ясно. | |||
| 19
    
        1С-ница 04.06.13✎ 17:34 | 
        (18) В отчете есть информация по клиенту: начальный остаток, приход,  расход, конечный остаток. Сейчас это сделано в разрезе документов (Оказание услуг), нужно чтобы была аналитика по услугам по каждому Оказанию услуг.     | |||
| 20
    
        1С-ница 04.06.13✎ 17:35 | 
        переделывать запрос не хочется, хочется добавить группировку по Услугам и выводить ее..     | |||
| 21
    
        Ёпрст гуру 04.06.13✎ 17:35 | 
        (19) Ну скажем так, нет у тебя НачОст и КонОст, если хоть 1 фильтр будет включен     | |||
| 22
    
        Ёпрст гуру 04.06.13✎ 17:36 | 
        (20) её нет и не будет в этом запросе, ибо в регистре нет никакой инфы об этом, а строки документа не имеют никакого отношения к записям этого регистра.     | |||
| 23
    
        Ёпрст гуру 04.06.13✎ 17:44 | 
        Подсказка: останки по долгам бери с этого регистра, всё остальное - с другово, подходящего.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |