|
v7: Обновление ЗиК: проблема с вычетами | ☑ | ||
---|---|---|---|---|
0
interds-2012
16.01.12
✎
18:45
|
Обновляю Зик 314 на 319. Само обновление проходит нормально, а при первом запуске выдает ошибку :
СпрВидыВычетов.Записать(); {Обработка.ОбновлениеИБ.Форма.Модуль(1674)}: Код не уникальный! Насколько смог понять, ругается на вычет с кодом 108. Как быть? Две другие базы обновились без проблем... |
|||
1
vicof
16.01.12
✎
18:47
|
Переименовать
|
|||
2
interds-2012
16.01.12
✎
18:55
|
Сменить код не получается...
|
|||
3
filh
16.01.12
✎
18:58
|
(2) программно смени
|
|||
4
interds-2012
16.01.12
✎
19:18
|
Программно тоже не дает, пишет, что может быть нарушена последовательность выборки.
|
|||
5
filh
16.01.12
✎
19:24
|
(4) найди все дубли в первой выборке, потом перебей коды.
|
|||
6
interds-2012
16.01.12
✎
19:26
|
Да нет нам никаких дублей
|
|||
7
filh
16.01.12
✎
19:29
|
(6) Врешь. Не было бы этого:
{Обработка.ОбновлениеИБ.Форма.Модуль(1674)}: Код не уникальный! |
|||
8
interds-2012
16.01.12
✎
19:31
|
Гадом буду, не вру.
Как я понял, обработка пытается записать элемент справочника с кодом, который уже есть. А изначально - ни каких дублей, справочник-то не очень большой, все глазами видно. |
|||
9
filh
16.01.12
✎
19:38
|
(8) посмотри отладчиком на каком коде засыпается обновлениеИБ.
|
|||
10
interds-2012
16.01.12
✎
19:44
|
Так написал же, на 108 - м.
|
|||
11
interds-2012
16.01.12
✎
19:51
|
При ближайшем рассмотрении это оказались коды 108, 109, 110, 112.
|
|||
12
filh
16.01.12
✎
19:55
|
(11) А есть код 108\101?
|
|||
13
interds-2012
16.01.12
✎
20:38
|
Да
|
|||
14
filh
16.01.12
✎
20:41
|
А просто 108?
|
|||
15
interds-2012
16.01.12
✎
20:42
|
есть
|
|||
16
interds-2012
16.01.12
✎
20:48
|
Программно сменил коды: 108 на 108_ и т.д. Обновление прошло нормально. Возникла следующая проблема: при попытке проведения документа "Выплата зарплаты" выдает ошибку
СуммыВычетов[Номер]=СуммыВычетов[Номер]+СуммаВычета; {Глобальный модуль(34479)}: Значение индексного выражения находится за границами массива |
|||
17
filh
16.01.12
✎
20:50
|
(16) Нужно ссылки проверить на смененые эл-ты.
|
|||
18
mdocs
16.01.12
✎
20:50
|
кодов вычетов больше чем может влезть в массив. Точно типовая?
|
|||
19
interds-2012
17.01.12
✎
09:10
|
Типовая...
|
|||
20
mdocs
17.01.12
✎
09:39
|
тогда пиши обработку по замене твоих левых кодов "108_" и т.д. на предусмотренные 1с и потом их пометишь на удаление и удалишь.
|
|||
21
adamst
30.01.12
✎
09:36
|
(скомуниздил с другого источника)
Оказалось, что в справочнике Виды вычетов есть лишние строки с кодами 108,109,110,112. Поиск ссылок на эти объекты ничего не дал, поэтому я решил их переименовать в вид "хз108" и т.д. Можно в начало функции ОписатьКодВычетаНДФЛ2011 добавить код: Если КодВычета<>НовыйКод Тогда Если (СпрВидыВычетов.НайтиПоКоду(КодВычета,0)=1) и (СпрВидыВычетов.НайтиПоКоду(НовыйКод,0)=1) Тогда СпрВидыВычетов.Код = "хз"+СпрВидыВычетов.Код; СпрВидыВычетов.Записать(); КонецЕсли; КонецЕсли; Чтобы обновление само нашло и поправило дикие записи. вроде работает, сами думайте стоит или нет |
|||
22
adamst
30.01.12
✎
09:38
|
походу одно обновление упустили, 319 релиза
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |