|   |   | 
| 
 | 1С:Комплексная автоматизация ред. 2.5 (2.5.9.125) сбой в "закрытие месяца" | ☑ | ||
|---|---|---|---|---|
| 0
    
        Nst 18.10.22✎ 11:39 | 
        Здравствуйте, при закрытии месяца выходит такая ошибка, подскажите, пожалуйста, что можно сделать?
 (было сделано - тии базы, отключение всех расширений, обновление базы, очистка кеша)доработок в самой базе нет Закрытие месяца.ФормированиеДвиженийПоРасчетамСПартнерамиИПереоценкаРасчетов При выполнении операции "Актуализация движений документов по данным взаиморасчетов" произошла ошибка: Преобразование значения к типу Число не может быть выполнено {ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(683)}: СуммаСписанияРегл = Окр(ДолгРегл + ДолгРаспределеноРегл - Окр(ДолгРаспределеноРегл,2),2); {ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(4044)}: ЗаполнитьОперативныеВзаиморасчеты(ОсновныеПараметры); {ОбщийМодуль.ВзаиморасчетыСервер.Модуль(13971)}: ОперативныеВзаиморасчетыСервер.ИсправитьОстаткиВзаиморасчетов(НачалоРасчета, ДанныеКРасчетуЗаМесяц.Организация); {(1)}:ВзаиморасчетыСервер.Выполнить_ФормированиеДвиженийПоРасчетамСПартнерамиИПереоценкаРасчетов(Параметры[0]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5263)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {Обработка.ОперацииЗакрытияМесяца.МодульМенеджера(1926)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации( {ОбщийМодуль.ЗакрытиеМесяцаСервер.Модуль(3354)}: Обработки.ОперацииЗакрытияМесяца.ВыполнитьРасчетЭтапов(ПараметрыЗапуска); | |||
| 1
    
        alarm2020 18.10.22✎ 11:54 | 
        (0) Как вариант, не ставить 2.5.9, оставаться на 2.5.8     | |||
| 2
    
        Nst 18.10.22✎ 11:59 | 
        обратно перешли на 1С:Комплексная автоматизация 2 (2.5.8.295) , но ошибка осталась     | |||
| 3
    
        Фрэнки 18.10.22✎ 11:59 | 
        А что тут делать...
 Воспроизводить вашу ошибку, чтоб указать со 100%-ой точностью? Не реально, да и времени займет очень много. Фишка в том, что это ветка 2.5.9, которая установлена даже еще реже, чем 2.5.8 На практике что делать : - смотреть на строчку {ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(683)}: СуммаСписанияРегл = Окр(ДолгРегл + ДолгРаспределеноРегл - Окр(ДолгРаспределеноРегл,2),2); в отладчике, если такая возможность есть. - проверять данные в регистре, которые пытается выбрать процедура. Вероятно, что каких-то ожидаемых строк просто нет. - вколотить HOOK (хук, крюк или костыль) перехватив сбойную строчку вместе со её процедурой в расширение. добавить проверки и зануление на пустые значения. Просто, чтоб не глючило. | |||
| 4
    
        Фрэнки 18.10.22✎ 12:12 | 
        И кстати, совет отктываться... ну так себе совет, потому что данные регистра, если они были испорчены обновлением, уже не откатить. Только перепроводить толпу документов.
 Кстати, тоже вариант. Не всегда помогает, но все-таки вариант. Запустить что-то вроде восстановления последовательности, т.е. перепроведения документов, которые влияют на состояние В данном случае состояние должно быть здесь: ВзаиморасчетыСервер.Выполнить_ФормированиеДвиженийПоРасчетамСПартнерамиИПереоценкаРасчетов(Параметры[0]) з.ы. и никаких гарантий, что эта попытка будет удачней остальных | |||
| 5
    
        kittystark 18.10.22✎ 12:21 | 
        (0) даю +1 к (1)
 2.5.8.х - LTS до апреля 2023 уже пол года расхлебываем переход с 2.4 на 2.5, до сих пор плююсь на 2.5.9 переходить будем оттягивая до последнего - т.к. как всегда "восьмерка еще сырая" | |||
| 6
    
        Nst 18.10.22✎ 13:00 | 
        (5)обратно перешли на 2.5.8.295, но ошибка осталась     | |||
| 7
    
        shuhard 18.10.22✎ 13:20 | 
        (0) [что можно сделать]
 поставить точку останова найти в Рг Расчетов сбойную запись и пофиксить | |||
| 8
    
        Nst 18.10.22✎ 13:22 | 
        (7) точку остановы поставила, но туда не заходит,
 а какой регистр посмотреть? | |||
| 9
    
        kittystark 18.10.22✎ 13:24 | 
        попробуй обновись до 2.5.8.309, не факт что поможет, но ошибки там фиксили     | |||
| 10
    
        shuhard 18.10.22✎ 14:33 | 
        (8) [точку остановы поставила, но туда не заходит] не подключены фоновые задания или не использован флаг Отладка     | |||
| 11
    
        Nst 18.10.22✎ 15:23 | 
        (10) отладка работает, но по точке не останавливается     | |||
| 12
    
        Nst 18.10.22✎ 19:51 | 
        обновили до 2.5.8.309 ошибка осталась     | |||
| 13
    
        Naumov 18.10.22✎ 22:54 | 
        (12) Ошибка прям такая же?     | |||
| 14
    
        Nst 19.10.22✎ 07:27 | 
        да, такая же     | |||
| 15
    
        Фрэнки 19.10.22✎ 08:22 | 
        (14) потому что состояние записей в регистре, со сбойной записью, одной или несколькими, никто не изменил.
 Если ставите эксперименты с отладкой и откатом, перекатом с релиза на релиз туда-сюда-обратно... данные в регистре/регистрах смогли установить, от которых зависит появление ошибки? | |||
| 16
    
        Nst 19.10.22✎ 10:34 | 
        (15) в каком именно регистре? делала поиск по регистрам в описании ошибки - и взаиморасчеты и остатки, ничего подобного нет     | |||
| 17
    
        Фрэнки 19.10.22✎ 10:41 | 
        (16) ладно. Давайте другим путем пойдем.
 С использованием Расширения готовы обойти этот глюк? Будете такое расширение делать? | |||
| 18
    
        Nst 19.10.22✎ 10:42 | 
        (17)да, готовы     | |||
| 19
    
        Фрэнки 19.10.22✎ 10:53 | 
        {ОбщийМодуль.ОперативныеВзаиморасчетыСервер.Модуль(683)}:                        СуммаСписанияРегл = Окр(ДолгРегл + ДолгРаспределеноРегл - Окр(ДолгРаспределеноРегл,2),2);
 Возле этого места сделать добавление в расширение способом " Вместо с контролем " И сделать вставку строк, в которых попыткой проверить Попытка ДолгРегл = Число(ДолгРегл); Исключение ДолгРегл = 0; КонецПопытки; Попытка ДолгРаспределеноРегл = Число(ДолгРаспределеноРегл); Исключение ДолгРаспределеноРегл = 0; КонецПопытки; Это костыль. Но именно преобразование в число он решит. | |||
| 20
    
        Nst 19.10.22✎ 10:58 | 
        (19) попробую, спасибо, 
 а вообще название регистра есть? в ошибке его нигде нет | |||
| 21
    
        Фрэнки 19.10.22✎ 11:11 | 
        (20) подразумевается что используемые регистры будут видны здесь
 ВзаиморасчетыСервер.Выполнить_ФормированиеДвиженийПоРасчетамСПартнерамиИПереоценкаРасчетов(Параметры[0]) Но у Вас не получилось поймать это место отладчиком и посмотреть, что там в параметрах и что там в коде процедуры задано, по каким регистрам строить запросы. Выше писали кратко, что нужно сделать, чтоб отладчик туда попал | |||
| 22
    
        2S 19.10.22✎ 11:14 | 
        (19) похоже на банальное отсутствие естьnull в запросе     | |||
| 23
    
        Naumov 19.10.22✎ 13:04 | 
        (14) В партнерке ничего подобного не писали. Других ошибок куча, такой не припомню     | |||
| 24
    
        Naumov 19.10.22✎ 13:06 | 
        (22) Кстати, у нас в старых релизах был вылет из-за отсутствия базы распределения доп.расходов, например доп.расходы проводились раньше, чем основание (поступление)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |