[РЕШЕНО] Как передать массив в форме

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем impulse, 20 июл 2015.

  1. TopicStarter Overlay
    impulse
    Offline

    impulse Опытный в 1С

    Регистрация:
    16 июн 2013
    Сообщения:
    65
    Симпатии:
    4
    Баллы:
    29
    Приветствую. В форму ВПФ передается массив ОбъектыНазначенияМассив, надо его передать в другую процедуру/функцию в форме. Как это можно сделать?
    Код:
    &НаКлиенте
    Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    ...
    КонецПроцедуры
    
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Не совсем понимаю в чем подвох:

    Код:
    &НаКлиенте
    Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    
    ДругаяПроцедураВМодулеФормы(ОбъектыНазначенияМассив);
    
    КонецПроцедуры
  3. TopicStarter Overlay
    impulse
    Offline

    impulse Опытный в 1С

    Регистрация:
    16 июн 2013
    Сообщения:
    65
    Симпатии:
    4
    Баллы:
    29
    У меня несколько кнопок и их процедуры не связаны с процедурой Печать. Пробовал объявлять глобальную переменную, но платформа ругается "тип массив не может использоваться в данных формы". Пробовал применять Временное Хранилище, но оно одноразовое оказалось, т. е. один раз на кнопку нажал, событие отработало хранилище очистилось, а нужно чтобы сохранялось.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Тогда реквизит формы с типом произвольный/список значений/таблица значений
  5. TopicStarter Overlay
    impulse
    Offline

    impulse Опытный в 1С

    Регистрация:
    16 июн 2013
    Сообщения:
    65
    Симпатии:
    4
    Баллы:
    29
    1C: "тип массив не может использоваться в данных формы"

    Решил проблему, по статье с инфостарта: "Под капотом управляемых форм". Создал реквизит "СсылкаНаОбъектыЗначения" обработки, поместил массив во временное хранилище в одной процедуре.
    Код:
    Объект.СсылкаНаОбъектыЗначения = ПоместитьВоВременноеХранилище(ОбъектыНазначенияМассив, ЭтаФорма.УникальныйИдентификатор);
    
    Прочитал в другой процедуре:
    Код:
    ОбъектыНазначения = ПолучитьИзВременногоХранилища(Объект.СсылкаНаОбъектыЗначения);
    
    Если не указывать УникальныйИдентификатор формы, то хранилище живет всего два серверных вызова...

Поделиться этой страницей