Имя: Пароль:
1C
1С v8
Можно ли во внешнем отчете создать глобальную переменную таблица значений в УФ?
0 Ночной Эльф
 
14.08.13
13:27
1с 8.2 УТ 11. Есть внешний отчет на управляемой форме. Необходимо реализовать так чтобы при нажатии на одну из кнопок формировалась таблица значений, а на другую кнопку из этой таблицы значений формировался файл по своим правилам. Разграничение между кнопками необходимо для того чтобы пользователь проверил таблицу значений на ошибки, т.е. первая кнопка формирует печатную форму. Вторая кнопка ее записывает если она правильная. Но пока пользователь проверяет таблицу значений документы могут поменяться и при нажатии на 2 кнопку которая формирует плейлист данные уже могут быть другие.

Так собсветнно вопрос как в Управляемой форме задать глобальную переменную типо таблица значений?

сейчас работает так у меня

Перем ТЗплейлист, ТЗплейлистНочь;

&НаКлиенте
Процедура СформироватьРасписание(Команда)
    ТабДок = Сформировать(0);

    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.Показать();
КонецПроцедуры

&НаСервере
Функция Сформировать(ПараметрВозврата)
    
    ТЗплейлист = Новый ТаблицаЗначений;
    ТЗплейлистНочь = Новый ТаблицаЗначений;
    ...
        //обработка ТЗплейлист и ТЗплейлистНочь
    ...
        Возврат ТабДок
КонецФункции

Где ТабДок это шаблон печатной формы который показывает при этом в функции Сформировать заполняются Две таблицы значений (ТЗплейлист ,ТЗплейлистНочь)

Далее вторая кнопка

&НаКлиенте
Процедура СоздатьПлейлист(Команда)
    СоздатьПлейлистНаСервере();
КонецПроцедуры

&НаСервере
Процедура СоздатьПлейлистНаСервере()
    //Обработка таблицы значений (ТЗплейлист ,ТЗплейлистНочь)
        //и вывод в файл, но они пустые и не объявленные получается уже здесь
КонецПроцедуры

Вроде в модуле формы они объявлены в самом начале но не являются глобальными для модуля формы.
Как получить эти самые таблицы значений в обработчике второй кнопки?

Всем заранее спасибо
1 ДенисЧ
 
14.08.13
13:28
Сделай табличную часть отчёта и в ней храни
2 Ночной Эльф
 
14.08.13
13:31
(1) а по другому не как ?
3 Ночной Эльф
 
14.08.13
14:00
Создал в реквизитах управляемой формы 2 таблицы значения

Плейлист и ПлейлистНочь

При нажатии на первую кнопку в процедуре в конце поставил

Плейлист = ТЗПлейлист.Скопировать();
ПлейлистНочь = ТЗПлейлистНочь.Скопировать();

выдает ошибку

{Форма.ФормаОтчета1.Форма(423)}: Ошибка при установке значения атрибута контекста (Плейлист)
    Плейлист = ТЗПлейлист.Скопировать();
по причине:
Нельзя изменять поле, содержащее объект данных формы

Как теперь в них записать?
4 ДенисЧ
 
14.08.13
14:07
Построчно заполнять - не предлагать?
5 Ночной Эльф
 
14.08.13
14:23
Что же все так сложно нельзя было разработчикам все упростить ))))
6 acsent
 
14.08.13
14:24
хинт: временное хранилище
7 acsent
 
14.08.13
14:25
ПлейлистНочь.Загрузить(ТЗПлейлист.Выгрпузить())
Основная теорема систематики: Новые системы плодят новые проблемы.