21 мая 2013 г.

Программная установка типа реквизита табличной части

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

&НаКлиенте
Процедура ДобавитьВалюту(Команда)
    
    ТС = Объект.ТЧ.Добавить();
    ТС.Имя = "Валюта";
    ТС.Значение = ПредопределенноеЗначение("Справочник.Валюты.ПустаяСсылка");
    Элементы.ТЧ.ПодчиненныеЭлементы.ТЧЗначение.ВыбиратьТип = Ложь;
    
КонецПроцедуры
 
После решил добавить решению универсальности и реализовать программное формирование контекстного меню для табличной части справочника с составным реквизитом с заранее неизвестным перечнем типов.

17 мая 2013 г.

Ответы на поисковые запросы


Как программно получить открытую форму в обычном приложении

У обычных и управляемых форм есть свойство "КлючУникальности". Например, если я сначала исполню в обычном приложении такой код:

Форма = ПолучитьФорму("Справочник.Контрагенты.Форма.ФормаСписка");
Форма.КлючУникальности = "МойКлюч";
Форма.Заголовок = "Тест ключа уникальности";
Форма.Открыть(); 

14 мая 2013 г.

Способы программной установки отборов в управляемых формах

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

1 мая 2013 г.

Простая подсистема записи истории изменений реквизитов

Тестовая конфигурация будет содержать следующие объекты:
  • Справочники данных Контрагенты, КонтактныеЛица, служебный справочник ХранимыеРеквизиты;
  • Документ ОплатаПокупателя;
  • Периодический регистр сведений ИсторияРеквизитов.
Обращаться к  процедуре сохранения истории реквизитов будем через подписку на события ЗаписьИстории, чтобы не прописывать код вызова в модуль каждого объекта.