Имя: Пароль:
1C
 
ЗУП - обновить данные для расчета среднего
0 Масянька
 
08.11.24
15:23
День добрый!
Изменили индексацию премий (в начислениях).
Обработка "Обновить данные для расчета среднего заработка" обработала 54 док-та из 9674. Остальные 9620 - с ошибками. Везде ошибка "Значение не является значением объектного типа "НайтиСтроки".
Как победить?
Спасибо.
1 2S
 
08.11.24
15:26
Найти причину ошибки "Значение не является значением объектного типа "НайтиСтроки".
И исправить. Профит.
2 Масянька
 
08.11.24
15:29
(1) А без копания ... никак?
PS Привет! :)
3 Звездец
 
08.11.24
15:30
(2) пригласить программиста, пусть он копает, а Вы не копайте
4 okmail
 
08.11.24
15:33
(2) Можно попробовать обновить релиз до последнего. Не поможет - значит без копания никак
5 Масянька
 
08.11.24
15:33
(4) 3.1.31.32
6 SleepyHead
 
08.11.24
15:34
(0) "Как победить?"

Просто перепроведи все документы.
7 Звездец
 
08.11.24
15:36
(6) это же ЗУП, там разве перепроведение меняет что-то без обновления расчета внутри документа?
8 SleepyHead
 
08.11.24
15:38
(7) В этом конкретном случае метод рабочий.

Обновление данных для расчета среднего - это проведение документа только по одному виду учета - заработок для среднего (я разбирался в коде).

Ничего в форме пересчитывать не надо. Типовая обработка запускает модуль проведения, но ограничивает виды учета, которые меняются.

Так что обычное проведение сделает ровно то же самое, но несколько дольше.
9 Гена
 
08.11.24
15:59
Чудес не бывает. Проверьте период в обработке. По памяти Вы недавно ввели начальные остатки в базу. Понятно, что этот первый месяц не будет обработан. Может стоит начать обрабатывать даже следующий месяц, например, февраль, если остатки на 01.01.2024

Либо даже проверить в отладчике. Вдруг алгоритм всегда начинает с 1-го января.
10 mikecool
 
08.11.24
20:31
(0) остановку по ошибке не предлагать?
на первом же документе с ошибкой будет ясно - какая из ТЗ не ТЗ...
11 SleepyHead
 
09.11.24
06:13
(9) Вот кстати да, возможно, там были переносы данных, или другого рода документы, которые почему-то корректно не отрабатываютсяю

Я ж смотрел код типовой обработки по обновлению данных, он простой:
1. Сначала отбираются регистраторы, которые делали движения в регистрах накопления сумм для учета среднего
2. потом каждый регистратор перепроводится, в модуль проведения передается параметр, указывающий, что надо провести только по виду учета для среднего.
12 Anarki
 
11.11.24
02:11
(20) воспроизвести ошибку на типовой демобазе, написать в 1с
13 SleepyHead
 
11.11.24
06:29
(12) И это поможет? ))

Писал я как-то вопрос в отдел разработки, можно ли в типовую обработку добавить фильтр по сотруднику (хотя бы по одному). Иной раз по всем не надо данные обновлять, это долго.

Ответили, что идея им нравится, да вот только реализовывать ее некогда, хватает других задач.
И я их понимаю, это ж не просто по виду учета перепровести документ, еще и с фильтрами в каждом.

Так что обращение в ТП - это чисто пар выпустить. Проще руками перепровести.

А вот если при перепроведении руками ошибка повторяется - так это уже совсем другая история. Наверняка уже выпущен патч, исправление таких ошибок обычно не затягивают.
14 Масянька
 
11.11.24
08:23
Товарищи! Благодарю!
Ошибка в дописках (расширении).
Очень плохо, что типовая обработка не показывает где ошибка - всего одну строчку добавить.
15 DrZombi
 
11.11.24
08:44
(14) Если ваши расширения, а не от 1С. То рекомендую использовать метод "Хлебные крошки"....

Пример.
Вы обновили на версию  3.1.31.32, то пишите комментарий, или код. Вида

//Изменение."3.1.31.32" //Этот кусок кода надо сравнить, в следующий раз


Я использую вот такую конструкцию.
Пользователи бывают сами сообщают, если где чего пропустил :)

СОГ_ДопФункции.ПроверитьВерсиюИсполняемогоКода("3.0.142.57");


Функция ПроверитьВерсиюИсполняемогоКода(пРазрешеноРаботатьВерсии, Отказ=Ложь) Экспорт
    
    //пРазрешеноРаботатьВерсии = "3.0.70.25";
    Если Метаданные.Версия <> пРазрешеноРаботатьВерсии Тогда
        ТекстСообщения = "Сменилась версия 1С с '%1' на '%2', необходимо проверить функционал модуля! (сообщите программисту, он должен был проверить)";
        ТекстСообщения = СтрШаблон(ТекстСообщения,пРазрешеноРаботатьВерсии,Метаданные.Версия);
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,,,, Отказ);
    КонецЕсли;

    Возврат Отказ;
КонецФункции
16 Anarki
 
23.11.24
00:42
(14) ну а если бы не вые.. (Разглагольствовал). А попытался воспроизвести ошибку на типовой, ошибку бы не увидел. И понял что дело в дописках.
17 osa1C
 
23.11.24
07:35
(15) Прикольно. Т.е. о том, что у тебя сменился релиз ты узнаешь вдруг от пользователей....Не было печали и вдруг релиз ни с того, ни с сего сменился.  И самое интересное, какой код ты собираешься сравнивать? Весь что изменился от релиза к релизу?