Приветствую! Пытаюсь перенести константы из одной базы БП в другую, по получаю вот такую не совсем информативную ошибку:
{Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(6406)}: Ошибка при вызове метода контекста (Записать): Не удалось записать: "Вести учет отчитывающихся по взносам организаций"!
По ошибке понятно, что запись набора констант падает на вот этой константе, но совершенна не ясна причина. Грешил на права доступа, но у пользователя все с правами ок (скрин ниже). Подскажите есть еще варианты куда посмотреть?
Простой код ниже, тоже падает с этой ошибкой.
Код
Набор = константы.СоздатьНабор();
Набор.Прочитать();
Попытка
Набор.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Нашел решение на мисте. А 1С, конечно молодцы, накой добавлять ненужную херню в конфигурацию?
Немного подправил код под свои нужды.
Если Объект <> Неопределено Тогда
ПереносимыеКонстанты = Новый Массив();
ПереносимыеКонстанты.Добавить("МояКонстанта");
Для каждого Эл из Метаданные.Константы Цикл
Попытка
Если ПереносимыеКонстанты.Найти(эл.имя) <> Неопределено Тогда
Константы[Эл.имя].Установить(Объект[Эл.имя]);
КонецЕсли;
Исключение
КонецПопытки
КонецЦикла;
Отказ = Истина;
КонецЕсли;
(4)Так я ее и не переношу. Но обмен устроен так что даже одну константу переносит набором. Код приблизительно такой:
Набор = константы.СоздатьНабор();
Набор.Прочитать();
Для каждого цикл // тут присваиваются значения переносимых констант
Попытка
Набор.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Нашел решение на мисте. А 1С, конечно молодцы, накой добавлять ненужную херню в конфигурацию?
Немного подправил код под свои нужды.
Если Объект <> Неопределено Тогда
ПереносимыеКонстанты = Новый Массив();
ПереносимыеКонстанты.Добавить("МояКонстанта");
Для каждого Эл из Метаданные.Константы Цикл
Попытка
Если ПереносимыеКонстанты.Найти(эл.имя) <> Неопределено Тогда
Константы[Эл.имя].Установить(Объект[Эл.имя]);
КонецЕсли;
Исключение
КонецПопытки
КонецЦикла;
Отказ = Истина;
КонецЕсли;
(6) для тех кто столкнется также с этим вопросом, код написанный выше надо прописать в ПКО КонстантыНабор в событии "ПослеЗагрузки" вместо "МояКонстанта" подставить все константы без синхронизации...