Имя: Пароль:
1C
1С v8
УФ, внешняя обработка, дополнительная форма с настройками
0 Wefast
 
14.11.16
13:53
Есть обработка.

Хочу на дополнительную форму вывести к примеру табличную часть.

Чтобы пользователь ее заполнил и эти данные "Жили" пока живы настройки заполнения формы обработки.

Т.е. я ее открыл, заполнил там данные. Закрыл ее и эти данные были доступны к примеру через Объет.ТЧ

И в модуле основной формы я обрабатывал бы эти данные.

Чтобы при открытие в следующий раз этой обработки пользователь увидел на основной форме ранее выставленные значения реквезитов и не лез заново проставлять эти значения во второй форме.

И в модуле можно было бы эти значения при этом увидеть.


Такое вообще возможно?
Модальные окна не работают. Тонкий клиент
1 DrShad
 
14.11.16
14:04
возможно, но такое без извращений и в обычных формах не работало - ведь обработка это не хранимые данные
2 Fragster
 
гуру
14.11.16
14:13
>Такое вообще возможно?

да
3 Wefast
 
14.11.16
14:18
(2) как?

Обычный реквезит вроде сохраняется при закрытии. Но таблица значений - нет.

Можно к примеру хранить значения таблицы во внешнем файле. При загрузке брались бы значения из этого файла. При изменение сохранялись бы в него. Но это такая кривота и не стабильность.
4 mikecool
 
14.11.16
14:20
(3) точно ТЗ не сохраняется?
5 Wefast
 
14.11.16
14:29
6 Wefast
 
14.11.16
14:33
(4) http://pastenow.ru/Upload/Paste/17ENH.png

вот по симпатичнее сссылка
7 Fragster
 
гуру
14.11.16
14:34
(3) закрыть(Значение) - и всё
8 Fragster
 
гуру
14.11.16
14:36
(6) если так, то что-то типа того


ОткрытьФорму(... Новый(Структура("Объект", Объект)... )

ПриСозданииНаСервере()
  СкопироватьДанныеФормы(Параметры.Объект, ОБъект)
...

Закрыть(Объект)



При закрытии подчиненной формы

СкопироватьДанныеФормы(ПараметрЗакрытия, Объект)
9 Fragster
 
гуру
14.11.16
14:39
последняя строка - в исходной форме
10 Wefast
 
14.11.16
14:48
(9) Да так вроде получается.

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

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
    Если ВРег(ИсточникВыбора.ИмяФормы) = ВРег("Справочник.Сотрудники.Форма.ФормаВыбора") Тогда
        ОбработкаВыборкаНаСервере(ВыбранноеЗначение);
    Иначе // ВОТ ТУТ ОБРАБОТКА ВЫБОРА ЭТОЙ ФОРМЫ
        КопироватьДанныеФормы(ВыбранноеЗначение,Объект);
    КонецЕсли;        
КонецПроцедуры



Во второй:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Параметры.Объект.Удержания.Количество() >0 Тогда
        КопироватьДанныеФормы(Параметры.Объект, Объект);
    Иначе
        Для каждого Уд Из Перечисления.ВидыОперацийПоЗарплате Цикл
            Стр = Объект.Удержания.Добавить();
            Стр.Удержание = Уд;
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии()
    ОповеститьОВыборе(Объект);
КонецПроцедуры
11 Wefast
 
14.11.16
14:49
(9) но где хранить эти данные если не во внешнем файле? Чтобы при открытие обработка помнила что там было заполнено до этого
12 Fragster
 
гуру
14.11.16
15:00
(11) ну, есть еще сохраняемые данные форм
13 Wefast
 
14.11.16
15:04
(12) да ну я же скрин кинул, там нельзя у табличной части поставить галочку "сохранять"
14 Fragster
 
гуру
14.11.16
15:06
(13) можно ставить у реквизитов формы, а не у объекта
15 Fragster
 
гуру
14.11.16
15:07
ну а вообще в файл - для временных правильно
16 Fragster
 
гуру
14.11.16
15:07
*внешних