v7: Обновление ЗиК: проблема с вычетами #589941


#0 by interds-2012
Обновляю Зик 314 на 319. Само обновление проходит нормально, а при первом запуске выдает ошибку : СпрВидыВычетов.Записать;     {Обработка.ОбновлениеИБ.Форма.Модуль(1674)}: Код не уникальный! Насколько смог понять, ругается на вычет с кодом 108. Как быть? Две другие базы обновились без проблем...
#1 by vicof
Переименовать
#2 by interds-2012
Сменить код не получается...
#3 by filh
программно смени
#4 by interds-2012
Программно тоже не дает, пишет, что может быть нарушена последовательность выборки.
#5 by filh
найди все дубли в первой выборке, потом перебей коды.
#6 by interds-2012
Да нет нам никаких дублей
#7 by filh
Врешь. Не было бы этого: {Обработка.ОбновлениеИБ.Форма.Модуль(1674)}: Код не уникальный!
#8 by interds-2012
Гадом буду, не вру. Как я понял, обработка пытается записать элемент справочника с кодом, который уже есть. А изначально - ни каких дублей, справочник-то не очень большой, все глазами видно.
#9 by filh
посмотри отладчиком на каком коде засыпается обновлениеИБ.
#10 by interds-2012
Так написал же, на 108 - м.
#11 by interds-2012
При ближайшем рассмотрении это оказались коды 108, 109, 110, 112.
#12 by filh
А есть код 108101?
#13 by interds-2012
Да
#14 by filh
А просто 108?
#15 by interds-2012
есть
#16 by interds-2012
Программно сменил коды: 108 на 108_ и т.д. Обновление прошло нормально. Возникла следующая проблема: при попытке проведения документа "Выплата зарплаты" выдает ошибку СуммыВычетов[Номер]=СуммыВычетов[Номер]+СуммаВычета; {Глобальный модуль(34479)}: Значение индексного выражения находится за границами массива
#17 by filh
Нужно ссылки проверить на смененые эл-ты.
#18 by mdocs
кодов вычетов больше чем может влезть в массив. Точно типовая?
#19 by interds-2012
Типовая...
#20 by mdocs
тогда пиши обработку по замене твоих левых кодов "108_" и т.д. на предусмотренные 1с и потом их пометишь на удаление и удалишь.
#21 by adamst
(скомуниздил с другого источника) Оказалось, что в справочнике Виды вычетов есть лишние строки с кодами 108,109,110,112. Поиск ссылок на эти объекты ничего не дал, поэтому я решил их переименовать в вид "хз108" и т.д. Можно в начало функции ОписатьКодВычетаНДФЛ2011 добавить код: КонецЕсли; Чтобы обновление само нашло и поправило дикие записи. вроде работает, сами думайте стоит или нет
#22 by adamst
походу одно обновление упустили, 319 релиза
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям