Четверг, 12 декабря, 2024

1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК

Проблема перехода на версию 3.0.44, причина, решение

 

При обновлении конфигурации «1с:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК» на релиз 3.0.44

2

возникает ошибка препятствующая обновлению «СостоянияДокументовЗачисленияЗарплаты.Имеются записи с одинаковыми измерениями»

3

Ошибка появляется и в базовой версии и проф, в типовой и измененной.

Решение

Проблема решается отменой проведения документов выплаты зарплаты. Нужно что бы в итоге не осталось ни одной записи в регистре. Это может не получиться если записей очень много или стоит дата запрета изменения документов. Или документов выплаты вообще нет в базе, а записи есть. Такие хвосты могут остаться после перехода с 2.0.

Можно воспользоваться универсальной обработкой и удалить записи. В некоторых случаях это помогает. Но на случай если результат будет отрицательный написал небольшую специальную обработку для удаления записей в регистре — УдалитьЗаписиРегистраСведений_СостояниеДокументовЗачисленияЗарплаты.

&НаСервере
Функция ПрочитатьНаСервере()
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   СостоянияДокументовЗачисленияЗарплаты.Документ,
        |   СостоянияДокументовЗачисленияЗарплаты.Состояние,
        |   СостоянияДокументовЗачисленияЗарплаты.Год,
        |   СостоянияДокументовЗачисленияЗарплаты.НомерРеестра,
        |   СостоянияДокументовЗачисленияЗарплаты.Организация
        |ИЗ
        |   РегистрСведений.СостоянияДокументовЗачисленияЗарплаты КАК СостоянияДокументовЗачисленияЗарплаты";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
    
    Возврат ВыборкаДетальныеЗаписи.Количество();

КонецФункции

&НаКлиенте
Процедура Прочитать(Команда)
    Объект.КолВоЗаписей = ПрочитатьНаСервере();
КонецПроцедуры

&НаСервере
Процедура УдалитьНаСервере()
    
    Выборка = РегистрыСведений.СостоянияДокументовЗачисленияЗарплаты.Выбрать();

    Пока Выборка.Следующий() Цикл
        Если  Выборка.Период < Дата("01.01.2010" + " 00:00:00") Тогда 
            Сообщить(Строка(Выборка.Документ) + " удален");
            Выборка.ПолучитьМенеджерЗаписи().Удалить();
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры

&НаКлиенте
Процедура Удалить(Команда)
    УдалитьНаСервере();
КонецПроцедуры

Скачать чистую базу и файлы обновления для конфигурации «1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК»

Пожалуйста лайк, репост

Это тоже интересно

РЕКОМЕНДУЕМ

Интересное