Чтобы при закрытии формы возвращалось значение, надо в параметрах метода Закрыть() указать нужное значение, например Закрыть(Объект.Ссылка);.
Если форму можно закрыть разными методами (кнопка "Выбор", "Закрыть", "Отмена" и т.д.), а возвращать какое-то значение надо всегда, тогда в процедуру формы ПриЗакрытии() надо добавит метод ОповеститьОВыборе(<значение>), например ОповеститьОВыборе(Объект.Ссылка);
Для того, чтобы на форме списка, при добавлении полей в отборе ("Все действия / Настроит список / Отбор") эти поля автоматически добавлялись на форму списка, надо у элемента списка заполнить свойство "Группа пользовательских настроек". В этом свойстве надо указать группу, в которую будут добавляться поля и условия отбора.
У данного метода я нашел 2 неудобства:
если в условии отбора стоит "Равно", то оно автоматически не отображается. Метод борьбы с этим безобразием можно посмотреть здесь: https://infostart.ru/1c/articles/839438/
если в группе есть другие элементы, то они автоматически удаляются с формы, т.е. группа должна быть пустой.
Собственно это не неожиданности, а ошибки в настройке.
Главное что надо помнить, это то, что у вас все-таки несколько серверов, поэтому сюрпризом может быть то, что часть журнала регистрации пропадет. Это происходит потому, что при перезагрузке кластера, он может решить, что с текущего момента журнал будет вестись на другом доступном сервере.
Чтобы такого не произошло, на кластере для серверов надо настроить «Требования назначения функциональности»
Почитать можно здесь: https://is1c.ru/about/pc/article/klaster-serverov-1s/
Функцией РАЗНОСТЬДАТ(втДаты.дата1, втДаты.дата2, ГОД) пользоваться нельзя, так как она просто вычтет один год из другого. Аналогичная ситуация с периодом МЕСЯЦ. Если разница между датами будет несколько дней, то функция выдаст неверный ответ.
Для решения использовал дополнительно функцию ДЕНЬГОДА()
Для работы с WEB-сервисами часто надо передавать данные сложной формы, поэтому сделал не очень красивый механизм сохранения структуры данных в XML и обратное его преобразование.
Для того, чтобы данные однозначно распознались, надо создать тип XDTO, на основании которого будет создана структура, но так как для каждого отдельного случая нет желания создавать отдельный XDTO-пакет, то попытался сделать универсальный механизм.
При переводе структуры в XML в элементе Value передается тип в атрибуте "xsi:type". По нему определяем тип передаваемого элемента. Можно использовать элементарные типы, вложенные структуры и массивы. Для использования других типов надо дописать код.
Передача параметров в вложенную схему не составляет проблем. После того, как создали вложенную схему заходим в настройки и заполняем значения параметров из параметров данных владельца.
После этого в настройке варианта отчета добавляем вложенный отчет. Параметры заполняются автоматически настройками, выполненными на предыдущем шаге.
С помощью этого механизма можно настраивать контекстно-зависимые отчеты, если в значение параметра выбрать реквизит родительского отчета.
Можно сразу здесь настраивать значения параметров без предварительной настройки.
С передачей отбора сложнее и так не получиться. Я решил задачу с помощью процедуры ПриКомпоновкеРезультата()