Имя: Пароль:
1C
1С v8
Запрос возвращает разное количество строк в консоли и в обработке
0 Kaukass
 
22.07.15
12:00
Как и почему такое могёт быть?
Отладил в консоли запрос, скопировал текст в обработку.
В консоли возвращает 589 строк, а обработке 780.
В отладчике посмотрел значения параметров - те же самые, что и в консоли.
code
Процедура СоздатьТЧ(Документ, Контрагент);
     склад = Справочники.Склады.НайтиПоНаименованию("Основной склад");
//СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
ТипЦен = справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничные");
    НенужнСклад = Справочники.Склады.НайтиПоНаименованию("Магазин стройматериалы");
    Запрос = Новый Запрос;
    Запрос.Текст  =  "ВЫБРАТЬ
                     |    ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
                     |    ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
                     |    ПартииТоваровНаСкладахОстатки.СтоимостьОстаток КАК СтоимостьОстаток
                     |ПОМЕСТИТЬ партии
                     |ИЗ
                     |    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
                     |            КОНЕЦПЕРИОДА(&ДатаО, ДЕНЬ),
                     |            Склад <> &СКЛАД
                     |                И ДокументОприходования.Контрагент = &Контрагент) КАК ПартииТоваровНаСкладахОстатки
                     |;
                     |
                     |////////////////////////////////////////////////////////////////////////////////
                     |ВЫБРАТЬ
                     |    партии.Номенклатура,
                     |    партии.КоличествоОстаток КАК Количество,
                     |    партии.СтоимостьОстаток КАК Стоимость,
                     |    ВложенныйЗапрос.Цена,
                     |    партии.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
                     |    партии.Номенклатура.СтавкаНДС КАК СтавкаНДС,
                     |    партии.КоличествоОстаток * ВложенныйЗапрос.Цена КАК Сумма
                     |ИЗ
                     |    партии КАК партии
                     |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                     |            ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
                     |            ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
                     |        ИЗ
                     |            РегистрСведений.ЦеныНоменклатуры.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаО, ДЕНЬ), ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних) КАК ВложенныйЗапрос
                     |        ПО партии.Номенклатура = ВложенныйЗапрос.Номенклатура";
                    
                     Запрос.УстановитьПараметр("ДатаН", ДатаН);
                     Запрос.УстановитьПараметр("ДатаО", ДатаО);
                     Запрос.УстановитьПараметр("Контрагент", Контрагент);
                     Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
                     Запрос.УстановитьПараметр("Склад",НенужнСклад);
                     Результат = Запрос.Выполнить().Выбрать();
                     Сообщить(Результат.Количество());
                      количество = 0;
                     Пока Результат.Следующий() ЦИКЛ
                          СтрДок = Документ.Товары.Добавить();
                          Стрдок.Номенклатура = Результат.Номенклатура;
                          СтрДок.Количество = Результат.Количество;
                          СтрДок.Цена = Результат.Цена;
                          СтрДок.ЕдиницаИзмерения = Результат.ЕдиницаИзмерения;
                          СтрДок.Коэффициент = 1;
                          СтрДок.Склад =  склад;
                          СтрДок.Сумма = Результат.сумма;
                          СтрДок.СтавкаНДС = Результат.СтавкаНДС;
                          Количество =  Количество + 1;
                          
                          
                     КонецЦикла;
                     Сообщить(Количество);
                    
КонецПроцедуры;
code
1 Kaukass
 
22.07.15
12:16
Что еще проверить можно?
2 1Сергей
 
22.07.15
12:18
параметры
3 Cyberhawk
 
22.07.15
12:18
Дата и граница / момент времени
4 1Сергей
 
22.07.15
12:19
не нашел в тексте  Документ.Товары.Очистить();
5 Andrey2C
 
22.07.15
12:22
(3) Значения параметров разные! К бабке не ходи:) Ну или базы разные. Или запросы разные. Что то разное из этого.
6 1Сергей
 
22.07.15
12:29
подозреваю, что ДатаН и ДатаО попутаны
7 Kaukass
 
22.07.15
12:30
(4) Так документ же новый создается. (6) ДатаН случайно осталась в коде. Работает только ДатаО
8 John83
 
22.07.15
12:31
еще есть заполнитьзначениясвойтсв, а еще лучше Загрузить
9 Kaukass
 
22.07.15
12:32
(5) проверю-ка я склад.
10 Kaukass
 
22.07.15
12:54
Пойду дверями мшины себе по рукам хлопну:
с этого момента завязываю искать по наименованиям .
11 1Сергей
 
22.07.15
13:08
(10) на видео запиши
12 Kaukass
 
22.07.15
15:09