Корисні прийоми для керованих форм, агентство простих рішень

Привіт всім, хто недавно взявся за керовані форми 1С.

Хоч ідея закладена в керованих формах і вельми цікава, проте після товстого клієнта виникає кілька питань - рішення яких досить нетривіально.

Почнемо з простого:


Як отримати Макет зовнішнього звіту / обробки?


Як зберегти налаштування форми звіту або обробки?

Те що раніше ми робили функціями (товстий клієнт)

Тепер робиться так (тонкий клієнт / керовані форми):

Тут варто пояснити пару нюансів:

  1. Приклад наведено для конфігурації Управління торгівлі 11.х. В УТ 11.х є кілька стандартних сховищ. Стандартні сховища не вимагають додаткового коду тобто можна користуватися «ЯК Є». Нюанс в тому що не всі з цих сховищ будуть робити те що вам потрібно - просто підберіть то яке буде працювати:
    1. ХраніліщеПользовательскіхНастроекДінаміческіхСпісков
    2. ХраніліщеНастроекДаннихФорм
    3. ХраніліщеОбщіхНастроек
    4. ХраніліщеПользовательскіхНастроекОтчетов
    5. ХраніліщеСістемнихНастроек
  2. В УТ 11 є також стандартне сховище ХраніліщеВаріантовОтчетов - для нього в конфігурації вже написаний спец обробник який вимагає певної структури параметрів. Якщо є бажання - можете розібратися з ними самостійно.
  3. Є також об'єкт ХраніліщеНастроек - він призначений для розробки власних сховищ. Тут нюанс в тому, що цей об'єкт сам по собі нічого не робить він надає кілька обробників (порожніх) в яких треба написати код для збереження переданих значень. Куди і як зберігати справа суто особиста, кожного хто вирішив з цим зв'язатися.


Довільний відбір в керованих формах.

Часто для різних спец обробок потрібно мати довільний відбір на формі. У товстому клієнті ми користувалися об'єктом Відбір, програмно його заповнювали і раділи життю. У керованих формах і тонкому клієнті у нас відібрали таку можливість, але дали іншу, виглядає вона страхітливо, проте вельми проста у використанні, а головне - писати коду потрібно навіть менше.

  1. Заводимо реквізит форми типу КомпоновщікНастроекКомпоновкіДанних (або реквізит обробки, кому як подобається) - назвемо його НовийОтбор (для прикладу)
  2. Якщо розгорнути хрестиком НовийОтбор, то всередині ми побачимо властивість Налаштування, а всередині Налаштування побачимо Відбір - хапаємо відбір мишкою і тягнемо на форму - в результаті побачимо форму стандартного відбору як в старі добрі ...
  3. Ініціалізація відбору - просто так заповнити відбір елементами вийде. Для цього потрібно зробити два кроки
    1. Створити макет схеми (приклад) - для тих хто в курсі як робити схеми СКД поясню простий принцип (хто не в курсі - дивимося приклад): Робимо елементарний запит (в СКД схемою) виду
    За запитом, СКД визначить поля доступні для відбору. Якщо ми хочемо щоб у відборі були вже якісь поля додані автоматично - йдемо на закладку Налаштування (в СКД) -> Відбір і додаємо там поля в ліву частину (не забуваємо встановлювати значення за замовчуванням). Якщо незрозуміло - дивимося приклад.
    Схему додаємо в макети обробки / звіту.
  4. Виконати код (на сервері - функція з модифікатором На сервері): Код можна запхати наприклад в функцію ПріСозданііНаСервере (Відмова, СтандартнаяОбработка)
  • Використання відбору - Всі елементи відбору знаходяться тут:

    Це колекція, тому обходимо її стандартним чином

    Схожі статті