Имя: Пароль:
1C
1С v8
результат запроса в отладчике и в консоли разный, почему может быть такое?
0 slasher
 
02.12.15
16:31
Добрый вечер!
Есть мысли?
1 VikingKosmo
 
02.12.15
16:32
параметры разные?
2 Горогуля
 
02.12.15
16:32
параметры, кривопопие, тупизм
3 User_Agronom
 
02.12.15
16:34
Дополню (2): Разные базы.
Консоль в рабочей, а отладчик в тестовой.
4 ДенисЧ
 
02.12.15
16:34
разные базы, разные параметры.
5 VikingKosmo
 
02.12.15
16:35
Дополню (3): в отладчике запрос выполняется в момент проведения...
6 aleks_default
 
02.12.15
16:35
А че про параметры ниче не сказали?
7 Горогуля
 
02.12.15
16:36
разные тексты запросов
8 Горогуля
 
02.12.15
16:37
господин ведущий, мы берём дополнительную минуту
9 User_Agronom
 
02.12.15
16:37
Дополню (5): у пользователя в отладчике полные права, а в консоли нет. На часть записей нет прав.
(6) см (2)
10 VikingKosmo
 
02.12.15
16:37
(6) см (1) (2) (4)
11 ДенисЧ
 
02.12.15
16:38
(8) Господин крупье, публика желает музыкальную паузу!
12 slasher
 
02.12.15
16:40
(1) (2) (3) (4)
параметры беру из отладчика, текст запроса тоже из отладчика, про разные базы говорить, ну это к невнимательности относится
13 aleks_default
 
02.12.15
16:40
(9)(6) Вы кончили?
14 slasher
 
02.12.15
16:41
давайте не будем глумиться, я уже 2 дня решаю проблему
15 User_Agronom
 
02.12.15
16:42
(13) Да.
(14) Гм... Запрос большой?
16 Горогуля
 
02.12.15
16:43
(14) с такой постановкой вопроса не дождёшься

Самая жлобская передача на ТВ - "Что? Где? Когда?": сидят шестеро интеллектуально развитых мужиков в дорогих костюмах и пытаются отжать шесть тысяч рублей у пенсионера из Уфы...
17 VikingKosmo
 
02.12.15
16:43
(13) мы взяли дополнительную минуту
18 VikingKosmo
 
02.12.15
16:44
(12) а среди параметров много типа Граница?
19 slasher
 
02.12.15
16:45
(5) да, в момент проведения,
но дело даже не в том что разные результаты запроса, а разная структура результата запроса.
20 slasher
 
02.12.15
16:45
ВЫБРАТЬ
    СписанныеТовары.НомерСтрокиДокумента КАК НомерСтрокиДокумента,
    ПартииТоваровНаСкладах.Номенклатура,
    ПартииТоваровНаСкладах.ДокументОприходования КАК ДокументОприходования,
    ПартииТоваровНаСкладах.ДокументОприходования.Дата КАК ДокументОприходованияДата,
    ПартииТоваровНаСкладах.Склад,
    ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    ПартииТоваровНаСкладах.СерияНоменклатуры,
    ПартииТоваровНаСкладах.Качество,
    ПартииТоваровНаСкладах.Заказ,
    ПартииТоваровНаСкладах.КоличествоОстаток КАК Количество,
    ПартииТоваровНаСкладах.СтоимостьОстаток КАК Стоимость,
    ПартииТоваровНаСкладах.СтатусПартии,
    ВЫБОР
        КОГДА СписанныеТовары.СерияНоменклатуры = ПартииТоваровНаСкладах.СерияНоменклатуры
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК ЧислоСерияНоменклатуры,
    ВЫБОР
        КОГДА СписанныеТовары.ДокументПартии = НЕОПРЕДЕЛЕНО
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА СписанныеТовары.ДокументПартии = ПартииТоваровНаСкладах.ДокументОприходования
                    ТОГДА 0
                ИНАЧЕ 1
            КОНЕЦ
    КОНЕЦ КАК ЧислоДокументОприходования,
    ВЫБОР
        КОГДА СписанныеТовары.ЗаказПартии = НЕОПРЕДЕЛЕНО
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА ПартииТоваровНаСкладах.Заказ = &ПустойЗаказ
                    ТОГДА 1
                ИНАЧЕ 0
            КОНЕЦ
    КОНЕЦ КАК ЧислоЗаказ,
    ВЫБОР
        КОГДА ПартииТоваровНаСкладах.СтатусПартии = &НаКомиссию
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК ЧислоСтатусПартии
ИЗ
    РегистрСведений.СписанныеТовары КАК СписанныеТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
        &Дат, Организация = &Организация И
        Номенклатура В
            (ВЫБРАТЬ
                РегистрСведений.СписанныеТовары.Номенклатура
            ИЗ
                РегистрСведений.СписанныеТовары
            ГДЕ
                РегистрСведений.СписанныеТовары.Регистратор = &Ссылка)
        И (Склад В
            (ВЫБРАТЬ
                РегистрСведений.СписанныеТовары.Склад
            ИЗ
                РегистрСведений.СписанныеТовары
            ГДЕ
                РегистрСведений.СписанныеТовары.Регистратор = &Ссылка) ИЛИ Склад = &ПустойСклад)) КАК ПартииТоваровНаСкладах
        ПО СписанныеТовары.Номенклатура = ПартииТоваровНаСкладах.Номенклатура
            И СписанныеТовары.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры
            И (ВЫБОР
                КОГДА ПартииТоваровНаСкладах.Качество = &ПустоеКачество
                    ТОГДА ИСТИНА
                ИНАЧЕ ВЫБОР
                        КОГДА СписанныеТовары.Качество = &ПустоеКачество
                            ТОГДА ПартииТоваровНаСкладах.Качество = &КачествоНовый
                        ИНАЧЕ ПартииТоваровНаСкладах.Качество = СписанныеТовары.Качество
                    КОНЕЦ
            КОНЕЦ)
            И (ПартииТоваровНаСкладах.Склад = СписанныеТовары.Склад ИЛИ ПартииТоваровНаСкладах.Склад = &ПустойСклад)
            И (ВЫБОР
                КОГДА СписанныеТовары.ДопустимыйСтатус1 <> &ПустойСтатус
                        ИЛИ СписанныеТовары.ДопустимыйСтатус2 <> &ПустойСтатус
                        ИЛИ СписанныеТовары.ДопустимыйСтатус3 <> &ПустойСтатус
                        ИЛИ СписанныеТовары.ДопустимыйСтатус4 <> &ПустойСтатус
                    ТОГДА ПартииТоваровНаСкладах.СтатусПартии = &ПустойСтатус
                            ИЛИ ПартииТоваровНаСкладах.СтатусПартии = &СтатусПартииПоОрдеру
                            ИЛИ ПартииТоваровНаСкладах.СтатусПартии = СписанныеТовары.ДопустимыйСтатус1
                            ИЛИ ПартииТоваровНаСкладах.СтатусПартии = СписанныеТовары.ДопустимыйСтатус2
                            ИЛИ ПартииТоваровНаСкладах.СтатусПартии = СписанныеТовары.ДопустимыйСтатус3
                            ИЛИ ПартииТоваровНаСкладах.СтатусПартии = СписанныеТовары.ДопустимыйСтатус4
                ИНАЧЕ ИСТИНА
            КОНЕЦ)
    
        И (ВЫБОР
            КОГДА СписанныеТовары.СписыватьТолькоПоЗаказу = ИСТИНА
                ТОГДА ВЫБОР
                        КОГДА ПартииТоваровНаСкладах.Заказ <> СписанныеТовары.ЗаказПартии
                            ТОГДА ВЫБОР
                                    КОГДА (НЕ СписанныеТовары.ЗаказПартии = НЕОПРЕДЕЛЕНО)
                                        ТОГДА ЛОЖЬ
                                    ИНАЧЕ ПартииТоваровНаСкладах.Заказ = &ПустойЗаказ
                                КОНЕЦ
                        ИНАЧЕ ИСТИНА
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА ПартииТоваровНаСкладах.Заказ <> СписанныеТовары.ЗаказПартии
                        ТОГДА ПартииТоваровНаСкладах.Заказ = &ПустойЗаказ
                    ИНАЧЕ ИСТИНА
                КОНЕЦ
        КОНЕЦ)
        И (СписанныеТовары.СерияНоменклатуры = ПартииТоваровНаСкладах.СерияНоменклатуры
            ИЛИ ПартииТоваровНаСкладах.СерияНоменклатуры = &ПустаяСерияНоменклатуры)
ГДЕ
    СписанныеТовары.Регистратор = &ОсновнойДокумент

УПОРЯДОЧИТЬ ПО
    ЧислоСерияНоменклатуры,
    ЧислоДокументОприходования,
    ЧислоЗаказ,
    ЧислоСтатусПартии Убыв,
    ДокументОприходованияДата,
    ДокументОприходования,
    ПартииТоваровНаСкладах.Склад
ИТОГИ ПО
    НомерСтрокиДокумента
21 VikingKosmo
 
02.12.15
16:45
(20) ну так мы ж с этого и начинали...
22 VikingKosmo
 
02.12.15
16:46
где мои 6 т.р.?!
23 Горогуля
 
02.12.15
16:47
>СписанныеТовары.НомерСтрокиДокумента
это что за хламидомонада? да ещё плюс итоги
24 VikingKosmo
 
02.12.15
16:47
(23) это похоже на типовой партионный запрос в УПП
25 VikingKosmo
 
02.12.15
16:48
(23) он мне иногда, ***, в кошмарах снится
26 User_Agronom
 
02.12.15
16:49
(24) Я тоже так подумал.
27 User_Agronom
 
02.12.15
16:49
(19) Чего проводишь то?
28 slasher
 
02.12.15
16:49
(24) да это типовой запрос партионного учета только в комплексной
29 slasher
 
02.12.15
16:50
(27) провожу реализацию товаров и услуг
30 VikingKosmo
 
02.12.15
16:50
ладно, с конфой, почти угадал, согласен на 3 т.р.
31 aleks_default
 
02.12.15
16:52
Предполагаю что-то вроде ПартииТоваровНаСкладах.Качество- составного типа и = неопрелделено, а в консоли Неопределено нельзя задать как значение параметра
32 VikingKosmo
 
02.12.15
16:53
(31) в консоли он выполняет запрос, когда документ уже проведен...
33 slasher
 
02.12.15
17:01
(30) ладно 1 т.р.
34 VikingKosmo
 
02.12.15
17:05
(33) "Я согласен!" (с)
35 _KaA
 
02.12.15
17:10
(1) Роли могут быть разные... допустим в отладчике привелигированный режим, а в консоль пускаем под лоховским профилем...
36 slasher
 
02.12.15
17:14
(35) всё под одним пользователем, админом с полными правами
37 slasher
 
02.12.15
17:15
(34) и...
38 aleks_default
 
02.12.15
17:25
(35) По новому кругу пойдем?
39 Леха Дум
 
02.12.15
17:38
дайте мне угадать! в отладчике параметр &Дат - это момент времени, а в консоли тупо датаВремя?
40 Гёдза
 
02.12.15
17:45
про транзакцию была речь?
41 slasher
 
02.12.15
17:52
(39) да, и что?
42 Леха Дум
 
02.12.15
17:53
(41) да так, ничего. При наличии нескольких документов с одинаковой датой и временем будешь получать разные данные
43 slasher
 
02.12.15
17:56
(42) документ один в сутки, товар уникальный за счет серии
44 slasher
 
02.12.15
17:58
(0) точнее, не то чтобы результат разный, в консоли есть результат, а в отладчике нет результата (пустой результат запроса)
45 Мимохожий Однако
 
02.12.15
18:06
(0)Есть такая штука в 1С. Называется технологический журнал. Можно сравнить планы запросов, которые формирует консоль и которые формирует программа.
46 slasher
 
02.12.15
18:10
(45) это интересно, надо почитать
47 Гёдза
 
02.12.15
18:26
(45) Зачем сравнивать планы? это инструмент совсем для другого
48 slasher
 
03.12.15
15:54
(45) (47) если я правильно разобрался, то это инструмент больше для анализа исключительных ситуаций, например когда база падает в дамп. Здесь ситуация когда в отладчике пустой результат запроса а в консоли нормальный (непустой)
49 aleks_default
 
03.12.15
16:16
Вроде в (32) уже выяснили вопрос, не?
50 User_Agronom
 
03.12.15
16:20
(48) До сих пор?!!!
51 slasher
 
03.12.15
16:27
(48) вопрос открыт
52 slasher
 
03.12.15
16:29
(49) не, не выяснили
53 aleks_default
 
03.12.15
16:43
Мда, ТС, ты король интровертов. Слова лишнего не выташишь...
Ты давай, расслабся, откинься на кушетку, расскажи чуть больше о своей проблеме....
54 slasher
 
03.12.15
16:49
(53) проблема в том что не списываются партии товаров, ни в управленческом ни в бухгалтерском учете. Причем ведется партионный учет по сериям. Поковырявшись в модуле проведения, обнаружил, что запрос, который вытаскивает партии для списания, возвращает пустой результат. В консоли этот запрос отрабатывается нормально. Вопрос, почему так может быть?
55 salvator
 
03.12.15
16:51
(54) Остатки в модуле берутся на дату или границу включая?
56 slasher
 
03.12.15
17:03
на момент времени
ДокументМоментВремени = Новый МоментВремени(СтруктураДата.Дата, ОбрабатываемыйДокумент)
57 тарам пам пам
 
03.12.15
17:19
(56) ну так найди нормальную консоль, которая умеет устанавливать в параметр запроса МоментВремени и проверь в ней. Консоль из инструментов разработчика, например, это умеет.
58 slasher
 
03.12.15
17:34
(57) проверил, результат тот же, в отладчике РезультатЗапроса пустой, в консоли всё нормально.
59 Мимохожий Однако
 
03.12.15
17:36
"Не верю"©Станиславский.
60 slasher
 
03.12.15
17:40
(59) тимвьювер есть?
61 Мимохожий Однако
 
03.12.15
17:42
(60)Тимвьювером не пользуюсь. Я плохой спец.
62 slasher
 
04.12.15
09:52
ТиИ результатов не принесло,
выгрузка-загрузка данных тоже
63 slasher
 
04.12.15
11:12
и пересчет итогов тоже делал, ничо не помогает
64 salvator
 
04.12.15
11:17
(63) Попробуй разбить запрос на части и определить, на каком этапе появляются расхождения.
65 hhhh
 
04.12.15
11:25
(62) всё- таки проверь, что там выше твоего запроса делается. Походу проведение там что-то чистит, а потом этот запрос выполняется. А консоль ничего не чистит, сразу запрос, поэтому у нее другие данные.
66 slasher
 
04.12.15
11:35
(65) текст запроса я беру из отладчика непосредственно перед его выполнением, параметры тоже из отладчика, тоже перед выполнением
67 hhhh
 
04.12.15
11:52
(66) содержимое регистров другое. Причем тут текст запроса.
68 Матиус
 
04.12.15
11:54
Параметры разные
69 hhhh
 
04.12.15
11:58
(66) вот это особенно проверь

ГДЕ
    СписанныеТовары.Регистратор = &ОсновнойДокумент


бред ведь. Откуда у тебя там списанные товары, если ты только начинаешь списание?
70 mistеr
 
04.12.15
12:03
(66) Есть куча вариантов консоли с возможностью вызова из любого места с подготовденным запросом. Получишь на 100? идентичные текст и параметры.

Готов спорить, что значания параметрыов отличаются.
71 mistеr
 
04.12.15
12:03
(70) *подготовленным*
*на 100%*
72 slasher
 
04.12.15
15:29
(69) Просто движения по регистру сведений "СписанныеТовары" делаются чуть раньше ПартийТоваровНаСкладах
73 slasher
 
04.12.15
15:42
Разобрался я с этим недоразумением.
Решил сопоставить цфники текущей и когда-то работавшей нормально базы.
Обнаружил, что измерение "Заказ" РегистрНакопления.ПартииТоваровНаСкладах имеет измененный тип.
Стал копать дальше и обнаружил, что я до этого добавлял новый документ. Причем создал его видимо некорректно. Изначально в конфигурации был документ "ЗаказПокупателя". Я его переименовал в "ЗаказПокупателяСтарый" и тут же создал совершенно новый документ и назвал его "ЗаказПокупателя".
При сохранении конфы ошибок не было, но при компиляции, видимо, произошел какой-то перекос в мозгах. Как следствие некорректная отработка запроса при обращении к регистру "ПартииТоваровНаСкладах". Как-то так.
Вывод такой, не надо делать как я, не надо переименовывать старые документы, надо создавать свои имена.
74 VikingKosmo
 
04.12.15
15:44
эх, жаль до стоточки не дотянули...
75 VikingKosmo
 
04.12.15
15:44
*соточки
76 slasher
 
04.12.15
16:12
(75) это не главное в жизни,
но всё равно всем спасибо кто не прошел мимо.