Имя: Пароль:
1C
1C 7.7
v7: Запрос по документам, как получить документ ?
,
0 Trotter
 
11.08.17
10:48
Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса = "
        
        |Период с xml_ДатаДок по xml_ДатаДок;
        |ТекущийДокумент = Документ.ПоступлениеТоваров.ТекущийДокумент;
        |Дата = Документ.ПоступлениеТоваров.ДатаДок;
        |Контрагент = Документ.ПоступлениеТоваров.Контрагент;
        |СуммаР = Документ.ПоступлениеТоваров.РозничнаяСумма;
        |Сумма = Документ.ПоступлениеТоваров.Всего;
        |Условие(Дата =  xml_ДатаДок);
        |Условие(Контрагент = xml_Контрагент);
        |Условие(Сумма = xml_Сумма);
        |Условие(СуммаР = xml_СуммаР);";

Документ находит, но как получить его ? Через табло Запрос.ТекущийДокумент = ""
1 Ёпрст
 
11.08.17
10:49
Группировка ТекущийДокумент;
2 Trotter
 
11.08.17
10:49
(1) тоже самое
3 Trotter
 
11.08.17
10:50
|Период с xml_ДатаДок по xml_ДатаДок;
        |ТекущийДокумент = Документ.ПоступлениеТоваров.ТекущийДокумент;
        |Группировка ТекущийДокумент;
        |Дата = Документ.ПоступлениеТоваров.ДатаДок;
        |Контрагент = Документ.ПоступлениеТоваров.Контрагент;
        |СуммаР = Документ.ПоступлениеТоваров.РозничнаяСумма;
        |Сумма = Документ.ПоступлениеТоваров.Всего;
        |Условие(Дата =  xml_ДатаДок);
        |Условие(Контрагент = xml_Контрагент);
        |Условие(Сумма = xml_Сумма);
        |Условие(СуммаР = xml_СуммаР);";
4 Ёпрст
 
11.08.17
10:50
(2) больше текста
5 Trotter
 
11.08.17
10:51
(4)
    Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса = "
        
        |Период с xml_ДатаДок по xml_ДатаДок;
        |ТекущийДокумент = Документ.ПоступлениеТоваров.ТекущийДокумент;
        |Группировка ТекущийДокумент;
        |Дата = Документ.ПоступлениеТоваров.ДатаДок;
        |Контрагент = Документ.ПоступлениеТоваров.Контрагент;
        |СуммаР = Документ.ПоступлениеТоваров.РозничнаяСумма;
        |Сумма = Документ.ПоступлениеТоваров.Всего;
        |Условие(Дата =  xml_ДатаДок);
        |Условие(Контрагент = xml_Контрагент);
        |Условие(Сумма = xml_Сумма);
        |Условие(СуммаР = xml_СуммаР);";
        
        
        Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
            Сообщить("Пусто");
        Иначе
            Сообщить("НашлиДокумент");
            Запрос.Выгрузить(мТЗ,0,0);
        КонецЕсли;
    КонецЕсли;
6 Ёпрст
 
11.08.17
10:51
Покажи обход группировки
7 Ёпрст
 
11.08.17
10:53
(5) удаляй условия, найдешь те, которые неверные
8 Trotter
 
11.08.17
10:53
упс, а её и нету, а как она должна выглядеть ?)
Пока Запрос.Группировка(1) = 1 Цикл
    тут что ?
КонецЦикла
9 Ёпрст
 
11.08.17
10:53
xml_Контрагент, например, это че у тебя ?
10 Ёпрст
 
11.08.17
10:53
(8) в коде в (5) она не нужна.
11 Ёпрст
 
11.08.17
10:54
Запрос.Выгрузить(мТЗ,0,0);
мТз.ВыбратьСтроку() //тут смотри, че там есть
12 Trotter
 
11.08.17
10:54
документ находится, xml_Контрагент = контрагент (спр)
мТз.ВыбратьСтроку() тут пусто
13 Chameleon1980
 
11.08.17
10:54
(8) ну и в тексте запроза Группировка ПеременнаяЗапроса;

тебе выше подсказывали
14 Trotter
 
11.08.17
11:01
Не работает и группировка есть. "Б" не сообщает, Запрос.Группировка(1) всегда = 0     
Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса = "
        
        |Период с xml_ДатаДок по xml_ДатаДок;
        |ТекущийДокумент = Документ.ПоступлениеТоваров.ТекущийДокумент;
        |Группировка ТекущийДокумент;
        |Дата = Документ.ПоступлениеТоваров.ДатаДок;
        |Контрагент = Документ.ПоступлениеТоваров.Контрагент;
        |СуммаР = Документ.ПоступлениеТоваров.РозничнаяСумма;
        |Сумма = Документ.ПоступлениеТоваров.Всего;
        |Условие(Дата =  xml_ДатаДок);
        |Условие(Контрагент = xml_Контрагент);
        |Условие(Сумма = xml_Сумма);
        |Условие(СуммаР = xml_СуммаР);";
        
        
        Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
            Сообщить("Пусто");
        Иначе  
            Пока Запрос.Группировка(1) = 1 Цикл
                Сообщить("Б");
            КонецЦикла;
            Сообщить("НашлиДокумент");
            Запрос.Выгрузить(мТЗ,0,0);
        КонецЕсли;
    КонецЕсли;
15 Builder
 
11.08.17
11:02
Условие
|Условие(Дата =  xml_ДатаДок);
выкинуть, оно задано в "Период ..."

Дальше убирать все условия и смотреть что попадает.
Добавлять по одному.
16 Builder
 
11.08.17
11:04
Документы проведены? Запрос в таком виде выбирает только проведенные.
17 Trotter
 
11.08.17
11:10
Всем спасибо ТипЗначенияСтр(xml_ДатаДок) = "строка"