Перечень одноходовок
1. Внутр (ЗначениеВСтрокуВнутр и обратно)
2. СсылкаУИД (Получение текстовой ссылки на объект и обратно).
3. Сторно (Сторнируем любой документ программно корректировкой записей регистров)
4. Очистить значение (Очищаем значение переменной, сохраненное через СохранитьЗначение)
Детальное описание
1. Внутр
Вставляем в верхнее поле строковое значение, полученное из преобразования объекта ссылочного типа оператором "ЗначениеИзСтрокиВнутр", нажимаем кнопку вниз, получаем во втором поле сам объект.
Или, вставляем в нижнее поле объект ссылочного типа, нажимаем кнопку вверх, получаем его представление после преобразования оператором "ЗначениеВСтрокуВнутр".
В обработке не содержится абсолютно никаких фишек, просто два оператора и красивая форма со стрелками.
Область применения:
Например, обмен данными. В регистре сведений "СоответствиеОбъектовДляОбмена" содержатся те самые строковые значения "Внутр". То есть, при обмене УТ и БП, в соответствующем регистре сведений БП хранятся строковые соответствия объектов УТ. Копируем строковое значение, идем в УТ, открываем обработку, вставляем строковое значение, получаем объект. Таким образом можно решить вопрос, какое соответствие оставить при сведении дублей, какой объект в БП должен соответствовать объекту из УТ и т.д.
2. "СсылкаУИД".
Вставляем в верхнее поле строковое значение уникального идентификатора объекта, выбираем в нижнем поле тип метаданного для поиска, нажимаем кнопку вниз, получаем во втором поле сам объект.
Или, вставляем в нижнее поле объект ссылочного типа, нажимаем кнопку вверх, получаем его уникальный идентификатор.
А здесь кроме красивой формы со стрелками одна фишка таки есть, работа с метаданными и конструктором уникального идентификатора по строке:
Если Метаданные.Справочники.Содержит(ЗначениеПоСтроке.Метаданные()) И НЕ Отказ Тогда
ЗначениеПоСтроке = Справочники[ЗначениеПоСтроке.Метаданные().Имя].ПолучитьСсылку(Новый УникальныйИдентификатор(СтроковоеЗначение));
КонецЕсли;
Область применения: те же обмены данными, надо найти объект по УИД, содержащийся в xml-файле выгрузки. Тип объекта известен, но больше нет никаких других опознавательных признаков, вроде наименования и т.д.
3. Сторно
На самом деле строк тут несколько:
КЗР = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент(); КЗР.Дата = ДокументДляСторно.Дата; КЗР.ИспользоватьЗаполнениеДвижений = Истина; КЗР_ЗД = КЗР.ЗаполнениеДвижений.Добавить(); КЗР_ЗД.Действие = "Сторно движений документа"; КЗР_ЗД.Документ = ДокументДляСторно; ФормаКЗР = КЗР.ПолучитьФорму(); ФормаКЗР.ВыполнитьДействияДокумента(); КЗР.Записать(); Сообщить("Записан документ сторно " + Строка(КЗР));
Но фишка одна. Экспортная процедура формы документа при правильном заполнении формы заполняет объект документа.
Написано для возникшей необходимости программного сторнирования документа, выделено в отдельную обработку для красоты.
4. ОчиститьЗначение
Здесь всё совсем просто. Имеется сохраненная переменная под определенным пользователем, в ней - битое значение (например, "Объект не найден", получившийся после свертки дублей).
Чистка кэша в случае sql-ной базы не помогает. Чистим программно:
СохранитьЗначение(ИмяПеременной, Неопределено);
Найти бы еще способ прочитать все переменные, сохраненные под данным пользователем... Ну да ладно.
P.S. Можно скачать, можно написать, как душе угодно.
P.P.S. Еще пара простых утилит:
Простое сравнение двух документов или элементов справочников
Анализ изменений документа по журналу регистрации