gifts2017

Несколько одноходовок

Опубликовал Даниил Матвеев (cargobird) в раздел Администрирование - Сервисные утилиты

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

Перечень одноходовок

1. Внутр (ЗначениеВСтрокуВнутр и обратно)

2. СсылкаУИД (Получение текстовой ссылки на объект и обратно).

3. Сторно (Сторнируем любой документ программно корректировкой записей регистров)

4. Очистить значение (Очищаем значение переменной, сохраненное через СохранитьЗначение)


Детальное описание

1. Внутр

Внутр

Вставляем в верхнее поле строковое значение, полученное из преобразования объекта ссылочного типа оператором "ЗначениеИзСтрокиВнутр", нажимаем кнопку вниз, получаем во втором поле сам объект.

Или, вставляем в нижнее поле объект ссылочного типа, нажимаем кнопку вверх, получаем его представление после преобразования оператором "ЗначениеВСтрокуВнутр".

В обработке не содержится абсолютно никаких фишек, просто два оператора и красивая форма со стрелками.

Область применения:

Например, обмен данными. В регистре сведений "СоответствиеОбъектовДляОбмена" содержатся те самые строковые значения "Внутр". То есть, при обмене УТ и БП, в соответствующем регистре сведений БП хранятся строковые соответствия объектов УТ. Копируем строковое значение, идем в УТ, открываем обработку, вставляем строковое значение, получаем объект. Таким образом можно решить вопрос, какое соответствие оставить при сведении дублей, какой объект в БП должен соответствовать объекту из УТ и т.д.

 

2. "СсылкаУИД".

СсылкаУИД

Вставляем в верхнее поле строковое значение уникального идентификатора объекта, выбираем в нижнем поле тип метаданного для поиска, нажимаем кнопку вниз, получаем во втором поле сам объект.

Или, вставляем в нижнее поле объект ссылочного типа, нажимаем кнопку вверх, получаем его уникальный идентификатор.

А здесь кроме красивой формы со стрелками одна фишка таки есть, работа с метаданными и конструктором уникального идентификатора по строке:

Если Метаданные.Справочники.Содержит(ЗначениеПоСтроке.Метаданные()) И НЕ Отказ Тогда
   ЗначениеПоСтроке = Справочники[ЗначениеПоСтроке.Метаданные().Имя].ПолучитьСсылку(Новый УникальныйИдентификатор(СтроковоеЗначение));
КонецЕсли;

Область применения: те же обмены данными, надо найти объект по УИД, содержащийся в xml-файле выгрузки. Тип объекта известен, но больше нет никаких других опознавательных признаков, вроде наименования и т.д.

 

3. Сторно

Сторно

На самом деле строк тут несколько:

    КЗР = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
    КЗР.Дата = ДокументДляСторно.Дата;
    КЗР.ИспользоватьЗаполнениеДвижений = Истина;
    КЗР_ЗД = КЗР.ЗаполнениеДвижений.Добавить();
    КЗР_ЗД.Действие = "Сторно движений документа";
    КЗР_ЗД.Документ = ДокументДляСторно;
    ФормаКЗР = КЗР.ПолучитьФорму();
    ФормаКЗР.ВыполнитьДействияДокумента();
    КЗР.Записать();
    Сообщить("Записан документ сторно " + Строка(КЗР));

Но фишка одна. Экспортная процедура формы документа при правильном заполнении формы заполняет объект документа.

Написано для возникшей необходимости программного сторнирования документа, выделено в отдельную обработку для красоты.

 

4. ОчиститьЗначение

ОчиститьЗначение

Здесь всё совсем просто. Имеется сохраненная переменная под определенным пользователем, в ней - битое значение (например, "Объект не найден", получившийся после свертки дублей).

Чистка кэша в случае sql-ной базы не помогает. Чистим программно:

    СохранитьЗначение(ИмяПеременной, Неопределено);

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

P.S. Можно скачать, можно написать, как душе угодно.

P.P.S. Еще пара простых утилит:

Простое сравнение двух документов или элементов справочников

Анализ изменений документа по журналу регистрации

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Одноходовки
.rar 15,59Kb
13.10.15
3
.rar 15,59Kb 3 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Михаил Варовин (varovinm) 25.09.15 14:34
Сенсэй, приветствую! А еще с помощью этих функций можно организовать Хранение в константе таблицы значений.
2. Даниил Матвеев (cargobird) 25.09.15 15:09
(1) varovinm, приветствую, Миша!
Да, я тоже часто использую эти функции "внутр" для хранения и передачи в строковых значениях структур и таблиц значений. Только просмотр содержимого таких строковых значений уже не совсем простая задача. Но есть над чем подумать, спасибо)
3. Ярослав Радкевич (WKBAPKA) 01.10.15 09:16
4. Даниил Матвеев (cargobird) 22.10.15 11:52
[update 2015-10-13]: добавлено две новых одноходовки.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа