1с при вызове обработчика обновления произошла ошибка

  

Skaliy_art

08.04.15 — 03:49

1С 8.3.5.1517

Через конфигуратор обновил до 3.0.39.53 и запустил предприятие.

Началось обновление и вылезла ошибка:

{Справочник.СпособыВыплатыЗарплаты.МодульМенеджера(99)}: Ошибка при вызове метода контекста (Записать)

        СпособВыплаты.Записать();

по причине:

Предопределенный элемент не уникален

Откатываюсь на старую версию — все норм.

Как я понимаю, при обновлении, в новой конфигурации появляется элемент с Код, идентичным уже существующему элементу. И нужно где-то что-то поменять или удалить.

Не могу понять где и что делать. Подскажите пожалуйста.

  

Попытка1С

1 — 08.04.15 — 04:51

Запусти отладку, посмотри что он там пытается записать, какой элемент, сравни со своим справочником, сделай выводы.

  

Skaliy_art

16 — 09.04.15 — 08:28

(13) Спасибо, подтолкнули в правильном направлении.

Написал мануальчик по своему случаи, может пригодится:

1) Открываем рабочую конфу через режим "Предприятия" и ищем дубли с помощью "Администрирование"->"Поддержка и обслуживание"->"Поиск и удаление дублей"

2) Выбираем «Искать в» (в нашем случаи СпособыВыплатыЗарплат), отбирать (жмём крестик — получится «Все элементы») и ищем дубли. Тот элемент, которого

у нас больше, тот и считаем за главный, соответственно, тот, которого меньше, считаем дублем, который нужно удалить.

3) При нажатии кнопки "Удалить Дубли" возникает сложность в том, что проведенные документы, на основании которых уже существуют другие док-ты,
невозможно заменить необходимым элементом. Для это воспользуемся обработкой "Выгрузка и загрузка данных XML 8.3"

4) Выгружаем в XML файл (в нашем случаи справочник СпособыВыплатыЗарплат) и смотрим уникальные номера (с тегом Ref) дублирующихся элементов.

5) Следующий шаг — это выгрузить XML файл документа, в котором у нас используются дублирующий элемент (в нашем случае ВедомостьНаВыплатуЗарплатыВКассу) — файлы могут быть очень большими по размеру.

6) Теперь логика: в XML файле документа, где используются дубли, необходимо заменить Ref дубликатного элемента Ref-ом главного элемента.

7) После замены — загружаем исправленный файл через обработку обратно.

Грубо говоря мы сделали так, что дублирующий элемент никаким боком у нас не присутствует в документах. Теперь надо вообще удалить его.

8) Далее, так как предопределенный элемент справочника просто так не удалить, необходимо сделать это через конфигуратор.

Заведамо нужно в Конфигурация->Поддержка->Настройка Поддержки включить возможность редактирования
9) Открываем конфигурацию, справочники (в Нашем случаи СпособыВыплатыЗарплат). Нажимаем два раза -> Прочее -> Предопределенные -> и удаляем
единственный элемент (который и является дублем).
10) Не забываем после редактиирование нажать кнопку "Обновить конфигурацию базы данных"

11) Далее запускаем предприятие через отладку и повторяем пункты 1 и 2 — успешно удалив дубли.

12) Спокойно обновляем конфу и ошибка пропала.

Показывать по
10
20
40
сообщений

Новая тема

Ответить

АнатолийЩ

Дата регистрации: 28.09.2005
Сообщений: 31

При обновлении ошибка

При вызове обработчика обновления:
«Справочники.ОснованияУвольнения.ЗагрузитьКлассификатор()»
произошла ошибка:
При вызове обработчика обновления:
«Справочники.ОснованияУвольнения.ЗагрузитьКлассификатор()»
произошла ошибка:
«Уже существует основание увольнения с таким значением поля Наименование (п. 2 ч. 1 ст. 77)
{ОбщийМодуль.КадровыйУчет.Модуль(7561)}:            ОбъектСправочника.Записать();
{Справочник.ОснованияУвольнения.МодульМенеджера(70)}:            ПолучитьМакет(«ОснованияУвольненияПоТКРФ»));
{(1)}:Справочники.ОснованияУвольнения.ЗагрузитьКлассификатор()
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4937)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1778)}:                  ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1472)}:                  ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(93)}:      ВыполнитьДействияПриОбновленииИнформационнойБазы(ПараметрыОбновления, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1912)}:            Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}:            ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
Уже существует основание увольнения с таким значением поля Наименование (п. 2 ч. 1 ст. 77)
{ОбщийМодуль.ЗарплатаКадрыСобытия.Модуль(544)}:      ВызватьИсключение ТекстСообщения      
{ОбщийМодуль.КадровыйУчет.Модуль(7561)}:            ОбъектСправочника.Записать();
{Справочник.ОснованияУвольнения.МодульМенеджера(70)}:            ПолучитьМакет(«ОснованияУвольненияПоТКРФ»));
{(1)}:Справочники.ОснованияУвольнения.ЗагрузитьКлассификатор()
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4937)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1778)}:                  ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1472)}:                  ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(93)}:      ВыполнитьДействияПриОбновленииИнформационнойБазы(ПараметрыОбновления, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1912)}:            Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}:            ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);
«.

Valentin46

Дата регистрации: 10.02.2011
Сообщений: 1041

Анатолий, проведите полное ТИИ (при всех установленных флажках ) релиза 3.0.77.56 и повторите обновление.

АнатолийЩ

Дата регистрации: 28.09.2005
Сообщений: 31

После ТИИ
результат:

Уже существует основание увольнения с таким значением поля Наименование (п. 2 ч. 1 ст. 77)
{ОбщийМодуль.КадровыйУчет.Модуль(7561)}:            ОбъектСправочника.Записать();
{Справочник.ОснованияУвольнения.МодульМенеджера(70)}:            ПолучитьМакет(«ОснованияУвольненияПоТКРФ»));
{(1)}:Справочники.ОснованияУвольнения.ЗагрузитьКлассификатор()
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4937)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1778)}:                  ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1472)}:                  ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(93)}:      ВыполнитьДействияПриОбновленииИнформационнойБазы(ПараметрыОбновления, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1912)}:            Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}:            ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

по причине:
Ошибка при выполнении обработчика — ‘ПередЗаписью’
по причине:
Уже существует основание увольнения с таким значением поля Наименование (п. 2 ч. 1 ст. 77)
{ОбщийМодуль.ЗарплатаКадрыСобытия.Модуль(544)}:      ВызватьИсключение ТекстСообщения      
{ОбщийМодуль.КадровыйУчет.Модуль(7561)}:            ОбъектСправочника.Записать();
{Справочник.ОснованияУвольнения.МодульМенеджера(70)}:            ПолучитьМакет(«ОснованияУвольненияПоТКРФ»));
{(1)}:Справочники.ОснованияУвольнения.ЗагрузитьКлассификатор()
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4937)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик.Процедура, ПараметрыОбработчика);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1778)}:                  ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1472)}:                  ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(93)}:      ВыполнитьДействияПриОбновленииИнформационнойБазы(ПараметрыОбновления, ДополнительныеПараметры);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(1912)}:            Результат = ВыполнитьОбновлениеИнформационнойБазы(ПараметрыОбновления);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОбновлениеИнформационнойБазыВФоне(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}:      Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
{ОбщийМодуль.ДлительныеОперации.Модуль(1026)}:            ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1016)}:            ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

Александр Лейман

активный пользователь

офлайн

Дата регистрации: 12.02.2015
Сообщений: 244

АнатолийЩ

Дата регистрации: 28.09.2005
Сообщений: 31

Цитата
Спасибо помогла ссылка на обработку с указанного форума!!!

Показывать по
10
20
40
сообщений

Добрый день.

При обновлении на версию 2.0.15.1 с версии 2.0.14.4 выдает ошибку:

При вызове обработчика обновления:
«ОбновлениеИнформационнойБазыДеньги.Обновление_20151()»
произошла ошибка:
«{Документ.Перевод.МодульМенеджера(97)}: Преобразование значения к типу Булево не может быть выполнено
        СчетДенегКуда = ?(СтрокаДокумента.ИспользоватьДляНакопленийКуда, ПланыСчетов.РазделыУчета.Накопления, ПланыСчетов.РазделыУчета.СвободныеДеньги);».

При анализе причины возникновения ошибки выяснилось, что в процедуре ОбновлениеИнформационнойБазыДеньги.Обновление_20151_ОбновитьИтогиПоОбъектам()
выборка документов производиться без учета проведения и удаления документа. 

Запрос.Текст =
    «ВЫБРАТЬ
    |    ОбщийЖурналДокументов.Ссылка КАК Ссылка,
    |    ОбщийЖурналДокументов.Тип
    |ИЗ
    |    ЖурналДокументов.ОбщийЖурналДокументов КАК ОбщийЖурналДокументов
    |
    |УПОРЯДОЧИТЬ ПО
    |    ОбщийЖурналДокументов.Дата,
    |    Ссылка»;

После этого для каждого документа из этой выборки, содержащей не проведенные и удаленные документы, вызывается процедура         

Документы[Выборка.Ссылка.Метаданные().Имя].ЗаписатьОбъектыОперации(Выборка.Ссылка); — которая, по моим предположениям, формирует движения документа.

При этом если в удаленном документе Перемещение не заполнены поля: ИспользоватьДляНакопленийКуда или ИспользоватьДляНакопленийОткуда, то возникает ошибка.

Так как при выборке документов не учитывается признак проведения и удаления, это может быть причиной появления движений у непроведенных документов. Но это версия,

далеко в код не залезал и не проверял. Но если это так — 100% вероятность появления ошибок в учете.

Способ исправления ошибки — заполнить реквизиты в удаленных документах Перемещение или выполнить удаление помеченных объектов.

1С 8.3.5.1517 Через конфигуратор обновил до 3.0.39.53 и запустил предприятие. Началось обновление и вылезла ошибка: {Справочник.СпособыВыплатыЗарплаты.МодульМенеджера}: Ошибка при вызове метода контекста (Записать)         СпособВыплаты.Записать; по причине: Предопределенный элемент не уникален Откатываюсь на старую версию — все норм. Как я понимаю, при обновлении, в новой конфигурации появляется элемент с Код, идентичным уже существующему элементу. И нужно где-то что-то поменять или удалить. Не могу понять где и что делать. Подскажите пожалуйста.

Запусти отладку, посмотри что он там пытается записать, какой элемент, сравни со своим справочником, сделай выводы.

Написано же: Справочник.СпособыВыплатыЗарплаты там есть предопределенный элемент. Поменяй им номера.

Там один единственный предопределенный элемент, у которого поле «код» пустое. Только наименование «Зарплата». Это я в конфигураторе смотрю.

При вызове обработчика обновления: произошла ошибка: «{Справочник.СпособыВыплатыЗарплаты.МодульМенеджера}: Ошибка при вызове метода контекста (Записать)         СпособВыплаты.Записать; по причине: Предопределенный элемент не уникален». Эта ошибка перед ошибкой, указанной в теме

Ну и поменяй имя предопределенного на «Зарплата1», обновись, перекинь ссылки «Зарплата1» на «Запрплата» который создастся при обновлении.

Stim 1sanekmaloi1 Не помогло, поменял и «Имя» и «Наименование» элемента — при запуске отладки — такая же ошибка.

Уже 100 раз тут по моему обсуждалось. Нужно в режиме «Предприятия» «убить» задвоенные предопределенные элементы.

мне получается  нужно откатиться на рабочую конфигурацию и в ней искать? Потому что в обновленной — в режим предприятия не заходит.

необязательно. можно еще установить свойство Обновление предопр данных в Не обновлять автоматически у статей затрат

Да, откатиться. Потом посмотреть на этот справочник и там уже должны быть задвоенные предопределенные элементы. Их и исправлять.

а может быть такое, что задвоенные предопределенные элементы появляются после обновления. Как мне тогда их вычислить и удалить?

а с какого релиза и в какой последовательности обновлял?

Спасибо, подтолкнули в правильном направлении. Написал мануальчик по своему случаи, может пригодится: 1) Открываем рабочую конфу через режим «Предприятия» и ищем дубли с помощью «Администрирование»->»Поддержка и обслуживание»->»Поиск и удаление дублей» 2) Выбираем «Искать в» (в нашем случаи СпособыВыплатыЗарплат), отбирать (жмём крестик — получится «Все элементы») и ищем дубли. Тот элемент, которого у нас больше, тот и считаем за главный, соответственно, тот, которого меньше, считаем дублем, который нужно удалить. 3) При нажатии кнопки «Удалить Дубли» возникает сложность в том, что проведенные документы, на основании которых уже существуют другие док-ты, невозможно заменить необходимым элементом. Для это воспользуемся обработкой «Выгрузка и загрузка данных XML 8.3» 4) Выгружаем в XML файл (в нашем случаи справочник СпособыВыплатыЗарплат) и смотрим уникальные номера (с тегом Ref) дублирующихся элементов. 5) Следующий шаг — это выгрузить XML файл документа, в котором у нас используются дублирующий элемент (в нашем случае ВедомостьНаВыплатуЗарплатыВКассу) — файлы могут быть очень большими по размеру. 6) Теперь логика: в XML файле документа, где используются дубли, необходимо заменить Ref дубликатного элемента Ref-ом главного элемента. 7) После замены — загружаем исправленный файл через обработку обратно. Грубо говоря мы сделали так, что дублирующий элемент никаким боком у нас не присутствует в документах. Теперь надо вообще удалить его. 8) Далее, так как предопределенный элемент справочника просто так не удалить, необходимо сделать это через конфигуратор. Заведамо нужно в Конфигурация->Поддержка->Настройка Поддержки включить возможность редактирования 9) Открываем конфигурацию, справочники (в Нашем случаи СпособыВыплатыЗарплат). Нажимаем два раза -> Прочее -> Предопределенные -> и удаляем единственный элемент (который и является дублем). 10) Не забываем после редактиирование нажать кнопку «Обновить конфигурацию базы данных» 11) Далее запускаем предприятие через отладку и повторяем пункты 1 и 2 — успешно удалив дубли. 12) Спокойно обновляем конфу и ошибка пропала.

А разве п. 3) нельзя было сделать через поиск и замену? не если нет стандартной, то можно было свою написать. Потом как-то напрягает… В документах допустим ссылки поменяли. Возможно, что для данного варианта прокатит. А если ссылки есть еще в регистрах?

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Ошибка при обновлении 1С 8 КА 2 с подредакции 2.5.8 на 2.5.9: Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции). {РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(41)}:ЗаполнитьСловарьСопоставленияН

Описание ошибки:
«Проблема с обработчиками» была встречена при выполнении обработчиков обновления базы Комплексная автоматизация с релиза подредакции 2.5.8.287 на релиз подредакции 2.5.9.119. «Не все процедуры удалось выполнить» из дополнительных процедур обработки данных. Стандартный способ решения, предлагаемый разработчиками, не помог.

Найденные решения:

Данная проблема и последующее ее решение может поджидать Вас не только в конкретной конфигурации, но и в других, которые работают в режиме управляемого приложения, и могут быть «построены» с использованием Библиотеки стандартных подсистем (БСП).

1C 8 при обновлении проблемы с обработчиками, не все процедуры удалось выполнить
Рис. 1. Частный пример «проблемы с обработчиками», «не все процедуры удалось выполнить».

Общая рекомендация от 1С как подсказка в форме рекомендует открыть список дополнительных процедур обработки данных, перейдя по соответствующей ссылке и нажать в открывшемся окне на кнопку «Запустить», чтобы процесс принудительно снова выполнился.

1С 8, результат обновления программы с проблемой обработчиков
Рис. 2. Общая рекомендация о том, как исправить «проблемы с обработчиками» при обновлении в 1С 8.

В соответствии с рекомендацией — переходим по ссылке «Не все процедуры удалось выполнить» открываем форму списка «Дополнительные процедуры обработки данных». Находим копку «Запустить» и ожидаем.

Нажатие на изображении увеличит его
1С 8 ошибка, как исправить, решить, руководство, не все процедуры удалось выполнить
Рис. 3.  Форма списка «Дополнительные процедуры обработки данных» при обновлении в 1С 8

Если ошибка при дополнительной обработке носит не технический характер, то, возможно, что такой запуск избавит от ее. Но в обсуждаемом примере ошибка носила именно технический характер. И хоть сколько запускай — результат будет один и тот же. В частности, проблема была в участке кода:

Подробный текст ошибки:

Процедура «РегистрыСведений.СловарьСопоставленияНоменклатурыБЭД.ОбработатьДанныеДляПереходаНаНовуюВерсию» обработки данных завершилась с ошибкой:

Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)

Технические подробности:
Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 10be6416-8958-4124-b61f-023b79cfb16f по причине
Ошибка при вызове метода контекста (ВыгрузитьКолонку)
{РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(246)}:Порция = ОбновляемыеДанные.ВыгрузитьКолонку(«СсылкаНаОбъект»);
{РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(41)}:ЗаполнитьСловарьСопоставленияНоменклатурыБЭД(Параметры);
{(1)}:РегистрыСведений.СловарьСопоставленияНоменклатурыБЭД.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])

Нажатие на изображении увеличит его
1С 8 ошибка при обновлении базы, при выполнении дополнительных процедур
Рис. 4. Ошибка при обновлении базы «Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)».

Так как разрешить подобные «проблемы с обработчиками обновления данных» при обновлении баз 1С 8? Такая ошибка может поджидать не только в данном примере. Можно рассматривать два варианта — первый сразу пробовать исправлять код разработчиков, чтобы обработчик отработал после исправления. Второй — попробовать изменить порядок обновления. Еще раз отметим, что в данном примере выполнялось обновление с подредакции Комплексной автоматизации 2.5.8 на подредакцию 2.5.9, а значит, возможно может быть и в других конфигурациях, «построенных» на БСП (Библиотека стандартных подсистем), таких, как Управление торговлей ред. 11, ERP 2. И, скорее всего, переход с релиза …5.8.287 на релиз …5.9.119 во всех этих конфигурациях может сопровождаться такой ошибкой.

Итак, если имеется архив базы, созданный перед началом обновления, то можно попробовать другую комбинацию, другой порядок обновляемых релизов, предварительно восстановив базу. В данном же примере было еще выполнено обновление до релиза 2.5.8.303, потом обновление до подредакции 2.5.9.125. И при обновлении, при выполнении дополнительных процедур обработки данных все прошло без проблем и ошибок. Т.е. ошибка, которая содержалась, скорее всего, в коде релиза 5.9.119, была устранена в релизе 5.9.125. Можно, конечно, проверить по истории регистрации и исправления ошибок на сайте 1С. Но на это не было времени. И выбранный подход в обходе проблемы помог.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

05-12-2022

Журавлев А.С.
(Сайт azhur-c.ru)

Обновление конфигурации

Автор Aneet, 09 апр 2015, 08:19

0 Пользователей и 1 гость просматривают эту тему.

Здравствуйте! При обновлении (обновляю через Сервис — Обновление конфигурации…) 1С:Предприятие 8.2 (8.2.18.61)Бухгалтерия (конфигурация: редакция 1.0 (1.0.18.3)), пишет ошибку:
При вызове обработчика обновления:
«ОбновлениеИнформационнойБазыБГУ.ПерейтиНаВерсию_1_0_20_0()»
произошла ошибка:
«{Обработка.ЗаполнениеКорректныхКорреспонденцийСчетов.МодульОбъекта(195)}: Ошибка при вызове метода контекста (Записать)
   НаборЗаписей.Записать(УдалитьВсеСуществующие);
по причине:
Запись с такими ключевыми полями существует! : КорректныеКорреспонденцииСчетов: 201.11,  (Регистр сведений: Корректные корреспонденции счетов бухгалтерского учета; Номер строки: 3)».
Что делать в такой ситуации? Обновление, соответственно, дальше не идет.


Идете в регистр сведений (перед обновлением) Регистр сведений: Корректные корреспонденции счетов бухгалтерского учета, и смотрите что там. удаляете то что есть с  201.11. и обновляетесь

Помог? Нажми — Спасибо :)
skype: Soprov1C


Подскажите, пожалуйста, а через Конфигуратор можно удалить эти счета без вреда для базы? Если да, то каким способом?


Aneet, через конфигуратор не выйдет.
А вот у меня вопрос:
— судя по всему Вы обновляете БГУ 1.0 (кстати так и надо было писать);
— почему всё такое древнее (и платформа и обновляемый релиз)?

И если все-таки речь о БГУ, то релиз 1.0.18.3 можно обновлять на 1.0.19.х, но никак не на 1.0.20.х.


Потому что раньше 1С никто не занимался, пришел новый бухгалтер и вот. Теперь надо обновлять.
Т.к. обновлять достаточно много, решила попробовать через Инет и тут посыпались ошибки с Корректными счетами. Так что обновляется автоматически. Теперь мучаюсь. Если не в счете 201.11 ошибка, то обязательно в каком-нибудь другом.:( 


Aneet, надо думать, что резервная копия базы 1.0.18.3 у Вас есть, и есть доступ на сайт ИТС, откуда Вы можете скачать файлы обновлений для БГУ; там же Вы сможете увидеть, как можно сократить количество обновлений, составив план допустимых обновлений.

Вариант автоматического обновления не очень хорош — но это вопрос, разумеется, моих предпочтений.
Кстати, если в явном виде обновлялись бы по схеме 1.0.18.3 ==> 1.0.19.х, то возможно и не было бы ошибок с корреспонденцией счетов.


Добрый день.

При обновлении на версию 2.0.15.1 с версии 2.0.14.4 выдает ошибку:

При вызове обработчика обновления:
«ОбновлениеИнформационнойБазыДеньги.Обновление_20151()»
произошла ошибка:
«{Документ.Перевод.МодульМенеджера(97)}: Преобразование значения к типу Булево не может быть выполнено
        СчетДенегКуда = ?(СтрокаДокумента.ИспользоватьДляНакопленийКуда, ПланыСчетов.РазделыУчета.Накопления, ПланыСчетов.РазделыУчета.СвободныеДеньги);».

При анализе причины возникновения ошибки выяснилось, что в процедуре ОбновлениеИнформационнойБазыДеньги.Обновление_20151_ОбновитьИтогиПоОбъектам()
выборка документов производиться без учета проведения и удаления документа. 

Запрос.Текст =
    «ВЫБРАТЬ
    |    ОбщийЖурналДокументов.Ссылка КАК Ссылка,
    |    ОбщийЖурналДокументов.Тип
    |ИЗ
    |    ЖурналДокументов.ОбщийЖурналДокументов КАК ОбщийЖурналДокументов
    |
    |УПОРЯДОЧИТЬ ПО
    |    ОбщийЖурналДокументов.Дата,
    |    Ссылка»;

После этого для каждого документа из этой выборки, содержащей не проведенные и удаленные документы, вызывается процедура         

Документы[Выборка.Ссылка.Метаданные().Имя].ЗаписатьОбъектыОперации(Выборка.Ссылка); — которая, по моим предположениям, формирует движения документа.

При этом если в удаленном документе Перемещение не заполнены поля: ИспользоватьДляНакопленийКуда или ИспользоватьДляНакопленийОткуда, то возникает ошибка.

Так как при выборке документов не учитывается признак проведения и удаления, это может быть причиной появления движений у непроведенных документов. Но это версия,

далеко в код не залезал и не проверял. Но если это так — 100% вероятность появления ошибок в учете.

Способ исправления ошибки — заполнить реквизиты в удаленных документах Перемещение или выполнить удаление помеченных объектов.

Здравствуйте! Делаю обновление нетиповой БП 2.0.50.3 (добавлены свои отчеты и свои обработки, а также в ролях и правах изменения — типовые документы и справочники не редактировались) на 3.0.26.6 Пробовала и через объединение и полностью загружаю cf-ку. Всеравно выходит ошибка при обновлении: При вызове обработчика обновления: произошла ошибка: «{ОбщийМодуль.ОбновлениеСПредыдущейРедакции.Модуль}: Тип не определен (СправочникСсылка.КлассификаторСтранМира)                 МассивТипов.Добавить(Тип(НаименованиеТипа));». Справочник типовой, никакх изменений не было. В чем может быть дело? Подскажите, пожалуйста. Мне нужно полностью затереть типовую конфигурацию с сохранением данных в ней.

Как обновляете, с помощью cfu ?

сначала пробовала простым обновлением через поддержку, программа находила нужный релиз для обновления 3.0.26.6, и обновлялось, как обычно, если бы делалось обновление 2.0. Затем я просто выгрузила cf-ку из типовой БП 3.0.26.6 и Конфигурация — Загрузить конфигурацию из файла — загрузила эту cf-re Пробовала и через сравнение конфигцраций. Одна ошибка все равно

Попробуй обновить на релиз поменьше, так как у тебя разрыв в релизах заметный. Надо чтобы он был как можно меньше, чтобы у БП 3 дата была чуть выше чем у текущей базы

где-то в свойствах объектов у вас используется этот справочник. А там по-моему перепутано ключ и значение в соответствии чуть выше, хотя я могу ошибаться. Попробуйте свойства объектов почистить перед обновлением

та же ситуация. еще и в добавок много других ошибок. например, в подписках на событиях не подцеплены обработчики событий и т.д. нигде в свойствах не используется этот Классификатор, никаких изменений не было. не пойму в чем причина

попробую на всякий случай все почистить

причина в том, что справочника КлассификаторСтранМира в БП 3.0 нет, поэтому типа такого нет, поэтому оно и ругается. Он может попасть в эту строку только если в свойствах объектов где-то использовался этот справочник, ибо там через запрос к плану видов характеристик идет выборка свойств. Надо ПВХ этот почистить. Непонятно мне почему так написано. поэтому и говорю — могу ошибаться

Совет- загрузи типовой cf своего релиза на 2.0 и обновляй. Все равно обработки и отчеты придется переписывать заново

я так и делаю. я все затираю полностью типовым релизом

Я тебя поняла что ты грузишь cf от БП 3.0 т.е. ты используешь cf от БП 2.0.50.3 и получаешь такую ошибку?

ты в типовой сперва 2.0.53.х преврати свою нетиповую базу, а потом уже типовым 3.0.26 обновляйся

Обновляться нетиповой 2.0.50 на типовой 2.0.50 надо через загрузить конфигурацию, потом до 2.0.53 через поддержку, а затем до 3.0.26 тоже через поддержку

потом уже переписать отчёты и обработки под 3.0.26 заново, т.к. бывшие для 2.0 они работать на 3.0

т.к. бывшие для 2.0 они работать на 3.0 = т.к. бывшие для 2.0 не будут работать на 3.0

При объединении надо разрешить удаление объектов и проставить все галки.

прочитайте, что выше написано. так тоже пыталась через поддержку — программа всеравно выдает ошибку. поэтому и стала cf-ку загружать. забудьте вы про нетиповую. уже давно решено, что с нуля будем дописывать. мне данные нужны и новый релиз 3.0

попробую настройка удаления прямо в объединении?

Так делать нельзя, сначала сделай типовой свою базу а потом через поддержку обновляй на 3.0 выбирая вручную cf от БП 3.0 :)

уже 3й человек расжевал как правильно обновлять

Как я делала обновление с 2.0.34.13 (!) на 2.0.24.11. У меня было сильно дописанная конфа: алгоритмы + новые объекты и реквизиты + изменены некоторые типовые реквизиты. Этап0. Расскажу про него ниже. Этап1. Накатить сf 3.0 через Сравнить/Объединить на конфигурацию 2.0. — При этом нужно помнить про все измененные типовые реквизиты, чтобы не перезатереть типы. — ПВХ и планы счетов я вообще не трогала, а перенесла типовые изменения вручную. После этих манипуляций у меня данные не потерялись, а все алгоритмы затерлись типовыми алгоритмами и новые объекты 3.0 появились. Этап2. Запустила реструктуризацию и обновление ИБ. По ходу отлавливала всякие разные интересные ошибки, часть из них можно исправить до обновления ИБ, часть нужно было исправить еще на этапе «Этап0». Например много нашла объектов, которым присвоили в 3.0 префикс «Удалить» и добавили при этом объект с тем же именем. Или в справочнике организации такая же штука: Префикс стал «ПрефиксБП20» и появился новый реквизит «Префикс». Если этого не знать и на «Этап0» не переименовать самостоятельно, то при сравнении и объединении он некорректно соединит данные. И много других интересностей. Возможно есть другие варианты обновления. Но я рассказала про свой опыт. Правда обновление на 3.0. так и не довели дл конца, т.к. 1С пообещала поддерживать 2.0 и в 2014 году)) Кстати, в общем модуле «ОбновлениеСПредыдущейРедакции» в процедуре «ПереносДопСвойствПриОбновленииС20» я делала доработки — пришлось добавить парочку типовых соответствий и те, которые были нашими доработками из ПВХ «УдалитьСвойстваОбъектов». Кстати, их еще нужно добавить в тип для ПВХ «ДополнительныеРеквизитыИСведения». Но на эту типовую строчуу меня лично не ругался:

Расскажу, как делала я. Уже разными вариантами и релизами: 1) накатывала cf-ку через полностью згарузить — не получилось ошибка: При вызове обработчика обновления: произошла ошибка: «{ОбщийМодуль.ОбновлениеСПредыдущейРедакции.Модуль}: Тип не определен (СправочникСсылка.КлассификаторСтранМира)                 МассивТипов.Добавить(Тип(НаименованиеТипа));». 2) накатывала cf-ку и через сравнить/объединить с сохранением доработок — та же ошибка; 3) вчера пробовала поэтапно обновить релиз через поддержку типовым методам, удаляя все свои доработки, обновляя полностью до типовой с 2.0.50.3 на 2.0.51.10, затем на 2.0.52.6, затем на 2.0.53.8 и затем на 3.0.26.11 — ошибка: При вызове обработчика обновления: произошла ошибка: «{ОбщийМодуль.ОбновлениеСПредыдущейРедакции.Модуль}: Тип не определен (СправочникСсылка.КлассификаторСтранМира)                 МассивТипов.Добавить(Тип(НаименованиеТипа));». 4) затем попробовала просто обновить через поддержку, также с затиранием всех данных с 2.0.50.3 на 3.0.23.7 — та же ошибка: При вызове обработчика обновления: произошла ошибка: «{ОбщийМодуль.ОбновлениеСПредыдущейРедакции.Модуль}: Тип не определен (СправочникСсылка.КлассификаторСтранМира)                 МассивТипов.Добавить(Тип(НаименованиеТипа));». до этого посмотрела, что в справочнике «Классификатор стран мира» были два элемента — предопределенный «РОССИЯ»и новый «Германия», удалила тот, который добавлен руками не из классификатора, и везде, где он встречается. Значения доп.свойств тоже все подчистила в данных. и после этого обновляла. в чем может быть причина не пойму((((((

Спасибо за информацию. можно подробнее рассказать про Префикс и Этап2, не поняла, когда вы делаете реструктуризацию? это когда?

Сделала так. Я уже несколько раз типовые обновляла на 3.0  — ошибок не было. Я это метод знаю! Уже ищу альтернативы. в все описано. что это за классификатор стран мира такой??? Почему такая ошибка возникает??? При вызове обработчика обновления: произошла ошибка: «{ОбщийМодуль.ОбновлениеСПредыдущейРедакции.Модуль}: Тип не определен (СправочникСсылка.КлассификаторСтранМира)                 МассивТипов.Добавить(Тип(НаименованиеТипа));».

Еще раз напомню — все, что дописывалось, мне нужно. Я все затираю до 3.0 типовой полностью!

Решение такое: убрала в Плане видов характеристик «Удалить свойства объектов»  — «Страны мира» из типа данных. но теперь другая ошибка: При вызове обработчика обновления: произошла ошибка: «{ОбщийМодуль.ОбновлениеСПредыдущейРедакции.Модуль}: Ошибка при установке значения атрибута контекста (ТипЗначения)             ОбъектПВХ.ТипЗначения = Новый ОписаниеТипов(МассивТипов); по причине: Тип не является подмножеством типа значений плана видов характеристик». Понять одно не могу — я же конфиг затерла до типового. Все значения свойств объектов удалила предварительно в режиме предприятия. Почему он все время здесь зависает в этом модуле с ошибками?

застрял с такой же ошибкой — Тип не определен (СправочникСсылка.КлассификаторСтранМира). После обновления такого справочника просто нет в конфигурации. Вы не решили проблему?

закомментировал строчку с определением справочника СправочникСсылка.КлассификаторСтранМира, обновление выполнилось

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

1

01.09.2015, 18:10. Показов 8133. Ответов 11


Студворк — интернет-сервис помощи студентам

доброго дня. подскажите, может кто сталкивался с подобным?
перевожу БП 2.0 на БП 3.0 обычным обновлением. при принятии обновления уже в режиме Предприятия, начинают сыпаться ошибки:
1. При вызове обработчика обновления:
«ОбновлениеИнформационнойБазыБП.ВыполнитьКонвертациюСчетовФактур()»
произошла ошибка:
«{Документ.СчетФактураПолученный.МодульОбъекта(645)}: Преобразование значения к типу Булево не может быть выполнено
СтруктураПараметров.Вставить(«НДСПоСтавкам4и2», «.
2. Регламентное задание. Обмен сообщениями по учетным записям документооборота
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
3. Регламентное задание. Обновление агрегатов
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
4. Регламентное задание. Все обновления новостей
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
5. Регламентное задание. Обновление индекса ППД
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
6. Регламентное задание. Обновление задач бухгалтера
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
7. Регламентное задание. Загрузка курсов валют
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
8. Регламентное задание. Проверка контрагентов
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.
9. Регламентное задание. Загрузка классификатора банков РФ с сайта РБК
{ОбщийМодуль.ОбщегоНазначения.Модуль(1995)}: Вход в программу временно невозможен в связи с обновлением на новую версию.
Рекомендуется запрещать выполнение регламентных заданий на время обновления.

все регламентные задания в БП 2.0 я отключил. где еще нужно отключить рег.задания, чтобы не сыпались эти ошибки?
кто нибудь сталкивался с подобным?



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

01.09.2015, 20:30

2

start_kmv, начинать обновление надо с самой первой версии — смотря с какой перевести можно и по одному накатывать вверх к более старшим версиям.



0



3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

02.09.2015, 11:14

 [ТС]

3

1c-k, спасибо. попробую. что получится — отпишусь.



0



3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

04.09.2015, 12:56

 [ТС]

4

1c-k, не получается. те же ошибки. даже не знаю, что делать. конфигурация типовая.



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

04.09.2015, 13:13

5

start_kmv, какой релиз БП стоял и на какой переводится сейчас? цифры.



0



3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

04.09.2015, 15:50

 [ТС]

6

БП 2.0.64.36 -> БП 3.0.41.55



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

04.09.2015, 16:20

7

start_kmv, обновлением для этой версии я надеюсь делаете?



0



3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

04.09.2015, 17:28

 [ТС]

8

1c-k, конечно



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

04.09.2015, 17:32

9

start_kmv, тогда не должно быть проблем, т.к. там всё нормально работает.

Добавлено через 1 минуту
start_kmv, корп проф базовая? какая версия? чего-то не уточнил.



0



3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

04.09.2015, 19:14

 [ТС]

10

1c-k, проф версия. забыл уточнить — конфа снята с поддержки. сейчас вернул ее на поддержку и обновляю. посмотрим, что получится.
да, еще. ругалось на сч.фактуры полученные (они были в закрытом периоде). я их удалил. если будут нужны — перенесу обратно.



0



340 / 315 / 43

Регистрация: 20.08.2014

Сообщений: 1,242

Записей в блоге: 1

04.09.2015, 19:17

11

start_kmv, с профа на проф переходить надо. все таки конфигурации внутри отличаются иногда радикально.



0



3 / 3 / 3

Регистрация: 27.04.2014

Сообщений: 230

07.09.2015, 10:19

 [ТС]

12

1c-k, все получилось. спасибо за помощь.



0



  • 1с предприятие ошибка доступа к файлу
  • 1с предприятие ошибка деление на 0
  • 1с предприятие ошибка блокировки объекта объект уже заблокирован
  • 1с предприятие ошибка http при обращении к серверу
  • 1с предприятие ошибка 403