Имя: Пароль:
1C
1С v8
Одинаковые на 100% Запросы выводят разный результат
0 DenisVich
 
07.03.18
16:31
Есть запрос: "ВЫБРАТЬ РАЗЛИЧНЫЕ
    Компьютеры.Ссылка КАК НомерКомпьютера,
    Компьютеры.Контрагент КАК Контрагент,
    КомпьютерыРабочаяСтанция.Номенклатура КАК Оборудование,
    КомпьютерыСвойства.ЗначениеСвойства КАК ДатаВвода,
    ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(КомпьютерыСвойства.ЗначениеСвойства КАК ДАТА), МЕСЯЦ, 13) КАК ДатаОкончания,
    Компьютеры.ВидРабочейСтанции.Ссылка,
    Компьютеры.МестоНахождения

ИЗ
    Справочник.Компьютеры.РабочаяСтанция КАК КомпьютерыРабочаяСтанция
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компьютеры КАК Компьютеры
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компьютеры.Свойства КАК КомпьютерыСвойства
    ПО Компьютеры.Ссылка = КомпьютерыСвойства.Ссылка.Ссылка
        ПО КомпьютерыРабочаяСтанция.Ссылка.Ссылка = Компьютеры.Ссылка
    ГДЕ
    Компьютеры.ВидРабочейСтанции = &ВидРабочейСтанции1
    И КомпьютерыСвойства.ВидСвойства В(&ВидСвойства)
    И НЕ КомпьютерыСвойства.ВидСвойства = &ВидСвойства2
    И Компьютеры.Ссылка В(&СписокКомпьютеров)
    И НЕ Компьютеры.Родитель.Наименование ПОДОБНО &Исключение
    И ВЫРАЗИТЬ(КомпьютерыСвойства.ЗначениеСвойства КАК ДАТА)  >= &НачалоПериода13
    И ВЫРАЗИТЬ(КомпьютерыСвойства.ЗначениеСвойства КАК ДАТА)  <= &КонецПериода13
    И Компьютеры.Контрагент В (&Контрагент)
УПОРЯДОЧИТЬ ПО
    ДатаВвода,
    Контрагент"
Один в консоле запросов, второй в конфигурации. Параметры на 100% одинаковые, сравнивал через отладчик. Так вот поле дата ввода отличается. В Консоле берется последняя дата, а в конфигураторе берется первая. Т.е. для справочника компьютеры есть таблица свойств, там даты, идут по порядку. В консоле берется последняя, а в конфигураторе первая. Почему?
1 nordbox
 
07.03.18
16:37
А тебе какая нужна?
2 DenisVich
 
07.03.18
16:38
Последняя.
3 nordbox
 
07.03.18
16:40
Вот сюда смотри и подумай
УПОРЯДОЧИТЬ ПО
    ДатаВвода,
    Контрагент"
4 DenisVich
 
07.03.18
16:42
Это стоит везде.
5 Эверест
 
07.03.18
16:43
КомпьютерыСвойства.ЗначениеСвойства - составной тип
6 DenisVich
 
07.03.18
16:45
Правильно
7 DenisVich
 
07.03.18
16:45
Получается сто алгоритм работы платформы в двух режимах может отличаться.
8 DenisVich
 
07.03.18
16:46
*Получается что
9 Эверест
 
07.03.18
16:46
(6) Чо правильно? Что будет если сравнивать булево и справочник?
10 DenisVich
 
07.03.18
16:48
Ложь, но это тут причем. Запрос то работает.
11 tesseract
 
07.03.18
16:49
(10) Это случайность
12 Эверест
 
07.03.18
16:50
(10) Сортировка - часть запроса.
13 DenisVich
 
07.03.18
16:51
Может результат запроса завернуть в таблицу и там просортировать?
14 Мандалай
 
07.03.18
16:51
У тебя в конфигурации запрос в каком виде?
В виде обработки в которой прям запрос целиком видно или отчетик, который на СКД писан? Если СКД то смотри настройки СКД.
15 DenisVich
 
07.03.18
16:52
Нельзя запрос то выполнился.
16 Вафель
 
07.03.18
16:52
а если выразить?
17 Мандалай
 
07.03.18
16:52
И кстати посмотри в консоль внимательно, может у твоей консоли есть настройки, которые отрабатывают после выполнения основного текста запроса.
18 tesseract
 
07.03.18
16:53
Сравни параметры в консоли запросов и в самой обработке. Где-то накосячил. Запрос сильно кривой - тяжело читать.
19 Мандалай
 
07.03.18
16:53
Кэш почисти, может у тебя в кеше сохранился старый текст запроса, вот он и выполняется
20 mehfk
 
07.03.18
16:54
(0) "Консолем" и "канифолем" пользуются только безграмотные.
21 DenisVich
 
07.03.18
16:55
Без СКД. просто текст с параметрами. (14)
Стандартная консоль запросов из ИТС под 8.2. (17)
Конечно, лучше же сразу делать в жирной конфигурации. (20)
22 Мандалай
 
07.03.18
16:57
(19)+ еще и идентификатор у обработки поменяй, тоже может сработать.
23 DenisVich
 
07.03.18
16:58
Сам запрос в отчете писан давно и внедрен уже в конфе, хотя идентификатор все равно есть. (22)
24 Мандалай
 
07.03.18
16:59
И что, когда ты получаешь результат запроса в отладчике, ты прям видишь, что у тебя неверный результат? Или ты это видишь только по факту выполнения всей процедуры?
РезультатЗапроса.Выгрузить() - что дает? Верный результат или нет?
25 Мандалай
 
07.03.18
16:59
Кэш почистил?
26 kiruha
 
07.03.18
17:00
Вот это

ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компьютеры КАК Компьютеры
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компьютеры.Свойства КАК КомпьютерыСвойства
    ПО Компьютеры.Ссылка = КомпьютерыСвойства.Ссылка.Ссылка
        ПО КомпьютерыРабочаяСтанция.Ссылка.Ссылка = Компьютеры.Ссылка

НА

ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Компьютеры КАК Компьютеры
ПО КомпьютерыРабочаяСтанция.Ссылка
= Компьютеры.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Компьютеры.Свойства КАК КомпьютерыСвойства
    ПО Компьютеры.Ссылка = КомпьютерыСвойства.Ссылка
27 Вафель
 
07.03.18
17:01
а в чем разница? порядок строк в запросе роли не играет
28 Мандалай
 
07.03.18
17:01
Попробуй сохранить обработку во внешний файл, если, конечно, при этом не потеряется контекст выполнения запроса. Результат полученный во внешней обработке даст пищу для размышлений.
29 DenisVich
 
07.03.18
17:05
Чистка кэша не помогла.
Остальное пробую. Спасибо (25) (26) (24)
30 Мандалай
 
07.03.18
17:08
Насчет идентификатора встроенной обработки я погорячился.
Постарайся избежать этого решения - к твоей обработке может кто-то по данному идентификатору обращаться.
31 braslavets
 
07.03.18
18:14
(0) Консоль отчетов или консоль запросов?
Консоль отчетов очень творческая штука.
32 Cyberhawk
 
07.03.18
18:44
Консоль - женский род
33 _Дайвер_
 
12.03.18
11:12
Если твой запрос построен на СКД то смотри его не в консоли запросов, а в консоли СКД. Сохрани запрос в файл XML и открой его. После этого смотри запрос, запрос на СКД может отрабатывать по разному, в зависимости от параметров и настроек
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший