Имя: Пароль:
1C
1С v8
Не находит документ по номеру
0 Melcor
 
19.03.14
11:39
Доброго дня. Не находит документ по номеру
    Пока ВыборкаПодразделение.Следующий() Цикл
        // Вставить обработку выборки ВыборкаПодразделение
        сообщить(ВыборкаПодразделение.Подразделение);
        ВыборкаДокументПродажи = ВыборкаПодразделение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

        Пока ВыборкаДокументПродажи.Следующий() Цикл
            // Вставить обработку выборки ВыборкаДокументПродажи
            сообщить(ВыборкаДокументПродажи.ДокументПродажи.ссылка.Метаданные().Имя);
            Если (ВыборкаДокументПродажи.ДокументПродажи.ссылка.Метаданные().Имя = "ОтчетОРозничныхПродажах") тогда
            //или (ВыборкаДокументПродажи.ДокументПродажи.ссылка.Метаданные().Имя = "РеализацияТоваровУслуг") тогда
                Док = Документы.ОтчетОРозничныхПродажах.НайтиПоНомеру(ВыборкаДокументПродажи.ДокументПродажи.Ссылка.Номер);
                ВыборкаТЧ = Док.Товары.выбрать();
                Пока ВыборкаТЧ.Следующий() цикл
                    сообщить(ВыборкаТЧ.Номенклатура+" - "+ВыборкаТЧ.Цена);        
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;

В отладчике ВыборкаДокументПродажи.ДокументПродажи.Ссылка.Номер дает существующий номер документа, но значение Док  пустое.
1 Salvador Limones
 
19.03.14
11:43
Фигасе, наркомания....

Док = ВыборкаДокументПродажи.ДокументПродажи.ПолучитьОбъект();
2 lxndr
 
19.03.14
11:44
(0) когда ищем?
3 Molinor
 
19.03.14
11:44
Ну и на будущее:

ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
НайтиПоНомеру (FindByNumber)
Синтаксис:
НайтиПоНомеру(<Номер документа>, <Дата интервала>)
Параметры:
<Номер документа> (обязательный)
Тип: Число, Строка. Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа.
<Дата интервала> (необязательный)
Тип: Дата. Дата из интервала, в котором проводится поиск по номеру. Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
Параметр используется для документов с периодической нумерацией.
Возвращаемое значение:
Тип: ДокументСсылка.<Имя документа>, Неопределено. Ссылка на найденный документ. Если документ не найден, возвращается пустая ссылка на документ.
Если номер не задан, то будет возвращено Неопределено.
Описание:
Осуществляет поиск документа по номеру.
4 Melcor
 
19.03.14
11:45
(1) Он так выборку по ТЧ не дает сделать
(2)за всё время
5 Melcor
 
19.03.14
11:46
(3) Ставил период, но так же не выдает ничего
6 lxndr
 
19.03.14
11:46
(5) врёшь!
7 Molinor
 
19.03.14
11:46
(4)
Для Каждого Стр Из Док.Товары Цикл
сообщить(Стр .Номенклатура+" - "+Стр .Цена);        
КонецЦикла;
8 Melcor
 
19.03.14
11:47
(6) Вот те крест!
9 Melcor
 
19.03.14
11:47
(7) Уже так сделал, просто загадка осталась, почему так
10 lxndr
 
19.03.14
11:48
а ведь правда, изврат.. Запрос по таб. части сразу запили
11 cons74
 
19.03.14
11:50
(0) ВыборкаДокументПродажи.ДокументПродажи.Ссылка.Номер
что выдает?
Просто 123 или УА000123 (все нули и префикс)?
12 Melcor
 
19.03.14
11:54
(11) Выдает "Р000000345"
13 13_Mult
 
19.03.14
12:08
(12) Либо нет такого, либо читай (3)