|
1с перебрать реквизиты формы 8.2 | ☑ | ||
---|---|---|---|---|
0
kanalex
10.09.12
✎
17:47
|
Искал тут способ перебрать реквизиты формы, с тем, чтобы отправить все настройки, которые набъет пользователь в отчет себе на мэйл и потом посмотреть на тех же настройках, что получается по отчету.
Получилось так: Процедура ОтправитьНастройкиПоЭлПочтеНажатие(Элемент) ИмяФайла = "nastroiki.txt"; // Попытка инициализации Outlook Попытка Outlook = Новый COMОбъект("Outlook.Application"); Исключение Предупреждение("Не удалось создать объект Outlook.Application!"); Возврат; КонецПопытки; Настройки = Новый Соответствие; РеквизитыВСтрутуру(Настройки); // Попытка сохранения отчета Попытка ЗначениеВФайл(КаталогВременныхФайлов() + ИмяФайла, Настройки); //ЗначениеВФайл(КаталогВременныхФайлов() + ИмяФайла, Налоги_Сч20); Исключение Предупреждение("Не удалось создать файл " + ИмяФайла + "!"); Возврат; КонецПопытки; // Заполнение реквизитов письма Письмо = Outlook.CreateItem(0); Письмо.Subject = "Настройки отчета Себестоимость"; Письмо.Body = "Настройки отчета Себестоимость во вложении"; Письмо.to = "[email protected]"; Письмо.Attachments.Add(КаталогВременныхФайлов() + ИмяФайла); // Попытка открытия подготовленного письма Попытка Письмо.Send(); Исключение Сообщить("Письмо отправить не удалось!!!"); КонецПопытки; КонецПроцедуры Процедура РеквизитыВСтрутуру(Структура) Для каждого мРеквизит ИЗ ЭтаФорма.ЭлементыФормы Цикл Если мРеквизит.Данные <> "" Тогда Структура.Вставить(мРеквизит.Имя, мРеквизит.Значение); КонецЕсли; КонецЦикла; КонецПроцедуры Процедура ЗагрузитьНастройкиИзФайлаНажатие(Элемент) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.Заголовок="Выбор файла настроек построителя отчета"; Диалог.Каталог=КаталогВременныхФайлов(); Диалог.Расширение="txt"; Диалог.Фильтр="Настройки посторителя отчета (*.txt)|*.txt"; Если Диалог.Выбрать() Тогда Попытка Настройки = ЗначениеИзФайла(Диалог.ПолноеИмяФайла); Исключение Сообщить("Не удалось загрузить настройки построителя отчета.", СтатусСообщения.Внимание); КонецПопытки; //тут надо втащить на форму настройки... КонецЕсли; КонецПроцедуры |
|||
1
Asmody
10.09.12
✎
17:54
|
ЭлементыФормы <> реквизиты формы. учите матчать уже
|
|||
2
kanalex
10.09.12
✎
17:57
|
я в курсе:)
(1) при переборе реквизитов возвращается только один реквизит. Кроме того я выбираю только те элементы, которые имеют данные. |
|||
3
DrShad
10.09.12
✎
17:59
|
(2) а почему просто не перебрать реквизиты формы?
|
|||
4
kanalex
10.09.12
✎
18:17
|
(3) не получилось
|
|||
5
zladenuw
10.09.12
✎
18:20
|
ПолучитьРеквизиты(<Путь>)
Параметры: <Путь> (необязательный) Тип: Строка. Указывает путь к родительскому реквизиту. Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня. Возвращаемое значение: Тип: Массив. Массив объектов РеквизитФормы. |
|||
6
jump if overflow
10.09.12
✎
18:20
|
УправляемаяФорма.ПолучитьРеквизиты
|
|||
7
kanalex
10.09.12
✎
19:10
|
так смысл в том, чтобы перебрать все..., а не по имени к ним обращаться.
|
|||
8
zladenuw
10.09.12
✎
19:11
|
(7) тоесть по имени. тут массив всех элементов на форме твоей
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |