Имя: Пароль:
1C
1С v8
помогите, ошибка в отчете
0 Razzle Kay
 
29.12.17
07:52
{ОбщийМодуль.ФункцииСКД.Модуль(59)}: Значение не является значением объектного типа (ДопустимоеЧислоДнейЗадолженности)
    Если ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности = 0 тогда

в чем может быть ошибка? не могу отладкой никуда попасть, только на эту строку
отчет на скд
подскажите, как посмотреть ? )
1 Альбатрос
 
29.12.17
07:53
Ошибка в том, что ДоговорКонтрагента не является элементом справочника
2 Razzle Kay
 
29.12.17
07:53
(1) и? не оч понял что из этого следует
3 Альбатрос
 
29.12.17
07:55
(2) Это значит, что ДоговорКонтрагента не имеет реквизита ДопустимоеЧислоДнейЗадолженности.
4 Альбатрос
 
29.12.17
07:55
+(3) Смотри, откуда получаешь ДоговорКонтрагента.
5 Razzle Kay
 
29.12.17
07:59
|ИЗ
                   |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&Дата, ДоговорКонтрагента = &Договор) КАК ВзаиморасчетыСКонтрагентамиОстатки
                   |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&Дата, , , ДоговорКонтрагента = &Договор) КАК ВзаиморасчетыСКонтрагентамиОбороты
                   |        ПО ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента = ВзаиморасчетыСКонтрагентамиОбороты.ДоговорКонтрагента"
6 Razzle Kay
 
29.12.17
08:07
я просто не пойму, как мне посмотреть на каком контрагенте ошибка валится
7 Альбатрос
 
29.12.17
08:16
Я бы покопался в твоем запросе, но у меня корпоратив скоро и мне лень.
8 igorPetrov
 
29.12.17
08:16
(6) На всех  скорее всего
9 Razzle Kay
 
29.12.17
08:18
(8) я вот не могу понять, как посмотреть, в отладке не попадёшь никуда, шо делать ?)
10 catena
 
29.12.17
08:20
Что говорит отладчик на ДоговорКонтрагента  перед ошибкой?
11 Lexey_
 
29.12.17
08:20
(9) смотреть сюда
ОбщийМодуль.ФункцииСКД.Модуль(59)
12 Razzle Kay
 
29.12.17
08:21
(11) блин, ну понятно))) но там особо и не походишь, ошибка в 1ой строчке ) (10) тип Неопределено
13 igorPetrov
 
29.12.17
08:22
(12) Ну, и о чем это говорит?
14 Мимохожий Однако
 
29.12.17
08:23
Добавь проверку на тип у поля ДоговорКонтрагента
15 Razzle Kay
 
29.12.17
08:23
(13) о том, что мне не понятно, почему так)
16 Мимохожий Однако
 
29.12.17
08:25
(15) Пустое значение измерения
17 Razzle Kay
 
29.12.17
08:30
(16) почему ????
18 Razzle Kay
 
29.12.17
08:32
(16) ну и-за чего так может быть
19 Мимохожий Однако
 
29.12.17
08:35
(18) Например, из-за корректировки регистра. Чтобы не гадать, достаточно для начала взять консоль отчетов. Еще есть консоль СКД.
Попробуй вывести ДопустимоеЧислоДнейЗадолженности  как отдельное поля для начала.
20 Razzle Kay
 
29.12.17
08:36
(19) ага
там числа
21 MrStomak
 
29.12.17
08:38
(18) После полного соединения в запросе не отработан null?
22 MrStomak
 
29.12.17
08:40
Или параметр из СКД не тот передается
23 Razzle Kay
 
29.12.17
08:42
(21)
"ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток, 0) - ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрРасход, 0) > 0
                   |            ТОГДА ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток, 0) - ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрРасход, 0)
                   |        ИНАЧЕ 0
                   |    КОНЕЦ КАК ПросроченнаяЗадолженность
                   |ИЗ
                   |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&Дата, ДоговорКонтрагента = &Договор) КАК ВзаиморасчетыСКонтрагентамиОстатки
                   |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&Дата, , , ДоговорКонтрагента = &Договор) КАК ВзаиморасчетыСКонтрагентамиОбороты
                   |        ПО ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента = ВзаиморасчетыСКонтрагентамиОбороты.ДоговорКонтрагента"
24 Мимохожий Однако
 
29.12.17
08:43
КОГДА ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток, 0) - ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрРасход, 0) > 0
....
ИСТИНА - ИСТИНА > 0
Такое возможно?
25 Lexey_
 
29.12.17
08:47
(24) нет истины в твоем предположении
26 Мимохожий Однако
 
29.12.17
08:51
(25) А вот в этом?
ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток, 0) - ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиОбороты.СуммаУпрРасход, 0) > 0
27 Lexey_
 
29.12.17
08:53
(26) конечно: "ноль либо другое число" - "ноль либо другое число" > 0
28 Альбатрос
 
29.12.17
08:54
(23) Где в этом запросе выбирается ДоговорКонтрагента?
29 Razzle Kay
 
29.12.17
08:55
Если ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности = 0 тогда
        Возврат Дата;
    КонецЕсли;
                 КраснаяДата = Дата;
    
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ " + ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности + "
                                  |    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря
                                  |ПОМЕСТИТЬ Дни
                                  |ИЗ
                                  |    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
                                  |ГДЕ
                                  |    РегламентированныйПроизводственныйКалендарь.ВидДня В(&ВидДня)
                                  |    И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря < НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)
                                  |
                                  |УПОРЯДОЧИТЬ ПО
                                  |    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря УБЫВ
                                  |;
                                  |
                                  |////////////////////////////////////////////////////////////////////////////////
                                  |ВЫБРАТЬ
                                  |    МИНИМУМ(Дни.ДатаКалендаря) КАК ДатаКалендаря
                                  |ИЗ
                                  |    Дни КАК Дни";
                                  
    Запрос.УстановитьПараметр("Дата",Дата);
30 Lexey_
 
29.12.17
08:56
(29) зачем нам код после ошибки? ты до покажи
31 Razzle Kay
 
29.12.17
09:18
(30) это всё
32 Razzle Kay
 
29.12.17
09:18
ну в общем не важно, отборами отделался
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.