Имя: Пароль:
1C
1C 7.7
v7: Номер строки таб. части документа
0 Масянька
 
20.09.13
16:11
День добрый!
Почему запрос не дает номер строки?

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "//{{ЗАПРОС
    |ОбрабатыватьДокументы Все;
    |Период с ДатаНачала по ДатаОкончания;
    |ТекДок        = Документ.ЗаявкаПокупателя.ТекущийДокумент,
    |              Документ.Реализация.ТекущийДокумент, Документ.РеализацияРозница.ТекущийДокумент,
    |              Документ.ТоварныйЧек.ТекущийДокумент, Документ.ТоварныйЧекСНДС.ТекущийДокумент;
    |Товар         = Документ.ЗаявкаПокупателя.Номенклатура,
    |              Документ.Реализация.Номенклатура, Документ.РеализацияРозница.Номенклатура,
    |              Документ.ТоварныйЧек.Номенклатура, Документ.ТоварныйЧекСНДС.Номенклатура;
    |ИмяТовар     = Документ.ЗаявкаПокупателя.Номенклатура.Наименование,
    |              Документ.Реализация.Номенклатура.Наименование, Документ.РеализацияРозница.Номенклатура.Наименование,
    |              Документ.ТоварныйЧек.Номенклатура.Наименование, Документ.ТоварныйЧекСНДС.Номенклатура.Наименование;
    |НомерСтроки= Документ.ЗаявкаПокупателя.НомерСтроки,
    |              Документ.Реализация.НомерСтроки, Документ.РеализацияРозница.НомерСтроки,
    |              Документ.ТоварныйЧек.НомерСтроки, Документ.ТоварныйЧекСНДС.НомерСтроки;
    |КолВо         = Документ.ЗаявкаПокупателя.Количество,
    |              Документ.Реализация.Количество, Документ.РеализацияРозница.Количество,
    |              Документ.ТоварныйЧек.Количество, Документ.ТоварныйЧекСНДС.Количество;
    |Условие (Товар в Номенклатура);
    |Группировка ТекДок;";


Спасибо.
1 Lazy Stranger
 
20.09.13
16:14
может группировку по строкам добавить?
2 Ёпрст
 
гуру
20.09.13
16:18
(0) а чего он должен давать при группировке ТекДок ?
Праильно - последний номер строки для этого документа, в твоём случае..
3 Масянька
 
20.09.13
16:20
Сделала так:

    гТабВыборка.УдалитьСтроки();

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "//{{ЗАПРОС
    |ОбрабатыватьДокументы Все;
    |Период с ДатаНачала по ДатаОкончания;
    |ТекДок        = Документ.ЗаявкаПокупателя.ТекущийДокумент,
    |              Документ.Реализация.ТекущийДокумент, Документ.РеализацияРозница.ТекущийДокумент,
    |              Документ.ТоварныйЧек.ТекущийДокумент, Документ.ТоварныйЧекСНДС.ТекущийДокумент;
    |Товар         = Документ.ЗаявкаПокупателя.Номенклатура,
    |              Документ.Реализация.Номенклатура, Документ.РеализацияРозница.Номенклатура,
    |              Документ.ТоварныйЧек.Номенклатура, Документ.ТоварныйЧекСНДС.Номенклатура;
    |ИмяТовар     = Документ.ЗаявкаПокупателя.Номенклатура.Наименование,
    |              Документ.Реализация.Номенклатура.Наименование, Документ.РеализацияРозница.Номенклатура.Наименование,
    |              Документ.ТоварныйЧек.Номенклатура.Наименование, Документ.ТоварныйЧекСНДС.Номенклатура.Наименование;
    |НомерСтроки= Документ.ЗаявкаПокупателя.НомерСтроки,
    |              Документ.Реализация.НомерСтроки, Документ.РеализацияРозница.НомерСтроки,
    |              Документ.ТоварныйЧек.НомерСтроки, Документ.ТоварныйЧекСНДС.НомерСтроки;
    |КолВо         = Документ.ЗаявкаПокупателя.Количество,
    |              Документ.Реализация.Количество, Документ.РеализацияРозница.Количество,
    |              Документ.ТоварныйЧек.Количество, Документ.ТоварныйЧекСНДС.Количество;
    |Условие (Товар в Номенклатура);
    |Группировка ТекДок;
    |Группировка НомерСтроки;";

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    Пока Запрос.Группировка("ТекДок") = 1 Цикл
        Пока Запрос.Группировка("НомерСтроки") = 1 Цикл
            гТабВыборка.НоваяСтрока();
            гТабВыборка.Документ         = Запрос.ТекДок;
            гТабВыборка.Номенклатура    = Запрос.ИмяТовар;
            гТабВыборка.Количество         = Запрос.КолВо;            
            гТабВыборка.НомерСтроки        = Запрос.НомерСтроки;            
        КонецЦикла;
    КонецЦикла;


Все равно - пусто....
4 Ёпрст
 
гуру
20.09.13
16:34
сделай так, что ли
    |Группировка СтрокаДокумента;
5 Масянька
 
20.09.13
16:38
В таком варианте:

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "//{{ЗАПРОС
    |ОбрабатыватьДокументы Все;
    |Период с ДатаНачала по ДатаОкончания;
    |ТекДок        = Документ.ЗаявкаПокупателя.ТекущийДокумент,
    |              Документ.Реализация.ТекущийДокумент, Документ.РеализацияРозница.ТекущийДокумент,
    |              Документ.ТоварныйЧек.ТекущийДокумент, Документ.ТоварныйЧекСНДС.ТекущийДокумент;
    |Товар         = Документ.ЗаявкаПокупателя.Номенклатура,
    |              Документ.Реализация.Номенклатура, Документ.РеализацияРозница.Номенклатура,
    |              Документ.ТоварныйЧек.Номенклатура, Документ.ТоварныйЧекСНДС.Номенклатура;
    |ИмяТовар     = Документ.ЗаявкаПокупателя.Номенклатура.Наименование,
    |              Документ.Реализация.Номенклатура.Наименование, Документ.РеализацияРозница.Номенклатура.Наименование,
    |              Документ.ТоварныйЧек.Номенклатура.Наименование, Документ.ТоварныйЧекСНДС.Номенклатура.Наименование;
    |НомерСтроки= Документ.ЗаявкаПокупателя.НомерСтроки,
    |              Документ.Реализация.НомерСтроки, Документ.РеализацияРозница.НомерСтроки,
    |              Документ.ТоварныйЧек.НомерСтроки, Документ.ТоварныйЧекСНДС.НомерСтроки;
    |КолВо         = Документ.ЗаявкаПокупателя.Количество,
    |              Документ.Реализация.Количество, Документ.РеализацияРозница.Количество,
    |              Документ.ТоварныйЧек.Количество, Документ.ТоварныйЧекСНДС.Количество;
    |Условие (Товар в Номенклатура);
    |Группировка ТекДок;
    |Группировка НомерСтроки;";

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    Пока Запрос.Группировка("ТекДок") = 1 Цикл
Сообщить("1 - " + Запрос.НомерСтроки + ", " + ТипЗначенияСтр(Запрос.НомерСтроки));        
        Пока Запрос.Группировка("НомерСтроки") = 1 Цикл
Сообщить("2 - " + Запрос.НомерСтроки + ", " + ТипЗначенияСтр(Запрос.НомерСтроки));        
            гТабВыборка.НоваяСтрока();
            гТабВыборка.Документ         = Запрос.ТекДок;
            гТабВыборка.Номенклатура    = Запрос.ИмяТовар;
            гТабВыборка.Количество         = Запрос.КолВо;            
            гТабВыборка.НомерСтроки        = Запрос.НомерСтроки;            
        КонецЦикла;
    КонецЦикла;


в первом сообщении - есть номер, а во втором нет......
ЧЯДНТ?
6 Масянька
 
20.09.13
16:44
+(5) Но в таблицу не выводится.....
7 Тьма
 
20.09.13
16:53
(5)См. (4). Используй предопределенную группировку СтрокаДокумента
8 Масянька
 
20.09.13
16:55
Спасибо всем - у меня все получилось :)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший