|
632 | 632 |
|
633 | 633 | КонецФункции |
634 | 634 |
|
| 635 | +Функция КлючиХраненияНастроек() |
| 636 | + |
| 637 | + Ключи = Новый Структура; |
| 638 | + // Ключом объекта должно быть не имя обработки, а полное имя метаданных, т.к. имя внешней обработки |
| 639 | + // может совпадать с именем обработки, встроенной в состав конфигурации |
| 640 | + // Для разделения настроек между параллельными запусками учитываем номер сеанса. |
| 641 | + // Настройки нужны только на время одного запуска для получения из разных контекстов. |
| 642 | + КлючОбъекта = Метаданные().ПолноеИмя() + Формат(НомерСеансаИнформационнойБазы(), "ЧГ=0"); |
| 643 | + Ключи.Вставить("Объект", КлючОбъекта); |
| 644 | + Ключи.Вставить("Настройка", ""); |
| 645 | + |
| 646 | + Возврат Ключи; |
| 647 | + |
| 648 | +КонецФункции |
| 649 | + |
635 | 650 | Процедура ЗагрузитьНастройки() Экспорт |
636 | 651 | ЭтотОбъект.Настройки = ПолучитьПустыеНастройкиБраузераТестирования(); |
637 | | - // Ключом настроек должно быть не имя обработки, а полное имя метаданных, т.к. имя внешней обработки |
638 | | - // может совпадать с именем обработки, встроенной в состав конфигурации |
639 | | - СчитанныеНастройки = ХранилищеОбщихНастроек.Загрузить(ЭтотОбъект.Метаданные().ПолноеИмя()); |
| 652 | + Ключи = КлючиХраненияНастроек(); |
| 653 | + СчитанныеНастройки = ХранилищеОбщихНастроек.Загрузить(Ключи.Объект, Ключи.Настройка); |
640 | 654 | Если ТипЗнч(СчитанныеНастройки) = Тип("Структура") Тогда |
641 | 655 | Для каждого КлючЗначение Из СчитанныеНастройки Цикл |
642 | 656 | Если ЭтотОбъект.Настройки.Свойство(КлючЗначение.Ключ) И ТипЗнч(КлючЗначение.Значение) = ТипЗнч(ЭтотОбъект.Настройки[КлючЗначение.Ключ]) Тогда |
|
647 | 661 | КонецПроцедуры |
648 | 662 |
|
649 | 663 | Процедура СохранитьНастройки() Экспорт |
| 664 | + Ключи = КлючиХраненияНастроек(); |
650 | 665 | Попытка |
651 | | - // Ключом настроек должно быть не имя обработки, а полное имя метаданных, т.к. имя внешней обработки |
652 | | - // может совпадать с именем обработки, встроенной в состав конфигурации |
653 | | - ХранилищеОбщихНастроек.Сохранить(ЭтотОбъект.Метаданные().ПолноеИмя(), , ЭтотОбъект.Настройки); |
| 666 | + ХранилищеОбщихНастроек.Сохранить(Ключи.Объект, Ключи.Настройка, ЭтотОбъект.Настройки); |
654 | 667 | Исключение |
655 | 668 | // TODO: При пакетном запуске и тестировании в тонком клиенте возникает ошибка типа XDTO |
656 | 669 | // Могут возникнуть ошибки, пропускаем |
|
0 commit comments