|
Перебор элементов формы | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
10.02.13
✎
23:22
|
Задача стоит в сабже. Надо достать каждый элемент, взять его свойства, его значение и... ну напечатать например - не важно.
Усугубляется все тем, что работа в упр формах. С получением формы я кое-как разобрался, до элементов добрался, но в значении ПутьКДанным стоит Ошибка чтения значения... Вопрос, а как достать данные то? |
|||
1
wade25
10.02.13
✎
23:24
|
Если реквизит, то на сервере кажись нужно это юзать.
|
|||
2
Rizhij_Nikitos
10.02.13
✎
23:27
|
Юзать что?
Форму я на сервере не получу. Ну либо я кретин, либо есть другой метод о котором я не знаю, либо на сервере форму реально нельзя получить. Пока склоняюсь к третьему. Мне надо не просто взять реквизит, мне надо еще чтобы была связь с элементом управления. Ну то есть знать что к чему. |
|||
3
wade25
10.02.13
✎
23:31
|
(2) Так зачем тебе форма на сервере, тебе же данные нужны, а данные в объекте, который не сервере. Я чисто теоретически, уже год не трогал УФ)
|
|||
4
Rizhij_Nikitos
10.02.13
✎
23:34
|
Мне радикально наплевать где я получу положительный результат, я хочу просто взять форму и распечатать Имя элемента управления:значение элемента управления.
В обычных формах это задача для дебила, в управляемых, у меня складывается ощущение, что задача для шахтера. Сам только разбираюсь с этой дрянью, постоянно плююсь и ругаюсь, надеюсь тут уже кто то через это прошел и подскажет чего мне не хватает для счастья или хотя бы что курить. |
|||
5
zladenuw
10.02.13
✎
23:36
|
||||
6
Rizhij_Nikitos
10.02.13
✎
23:48
|
Ага, почитал, проблема похожая. Объект я могу получить - не дурак, форму я тоже получил. Как мне теперь понять какой реквизит объекта лежит в каком поле на форме?
|
|||
7
DrShad
10.02.13
✎
23:51
|
как форму получил?
|
|||
8
IamAlexy
10.02.13
✎
23:53
|
не вкуриваю проблему вообще ни разу..
а что собственно не получается? |
|||
9
IamAlexy
10.02.13
✎
23:54
|
в БСП подсмотри.. вот была тема кстати: БСП: Подсистема "Запрет редактирования реквизитов" тормозит просто жутко
:) |
|||
10
Rizhij_Nikitos
10.02.13
✎
23:56
|
&НаКлиенте
Процедура Печать(Команда) //Определяем тип объекта через сервер, потому что на клиенте нет нужных нам типов ТипОбъекта=ОпределитьТип(ОбъектПечати); //Ищем символ двоеточия в названии типа чтобы знать где начинается название объекта СимволДвоеточия=Найти(ТипОбъекта,":"); //Достаем название объекта НазваниеОбъекта=СокрЛП(Прав(ТипОбъекта,СтрДлина(ТипОбъекта)-СимволДвоеточия)); //Убираем пробелы из названия если название объекта состоит из нескольких слов НазваниеОбъекта=СтрЗаменить(НазваниеОбъекта," ",""); //Получаем форму объекта в зависимости от того справочник это или документ ПараметрыФормы=Новый Структура("Ключ",ОбъектПечати); Если Найти(ТипОбъекта,"Справочник") Тогда Форма=ПолучитьФорму("Справочник."+НазваниеОбъекта+".Форма.ФормаЭлемента",ПараметрыФормы); ИначеЕсли Найти(ТипОбъекта,"Документ") Тогда Форма=ПолучитьФорму("Документ."+НазваниеОбъекта+".Форма.ФормаДокумента",ПараметрыФормы); КонецЕсли; Для Каждого Элемент Из Форма.Элементы Цикл Сообщить(""); КонецЦикла; КонецПроцедуры &НаСервере Функция ОпределитьТип(ОбъектПечати) Возврат(Строка(ТипЗнч(ОбъектПечати.ПолучитьОбъект()))); КонецФункции |
|||
11
IamAlexy
10.02.13
✎
23:57
|
жесть жестяная...
|
|||
12
IamAlexy
10.02.13
✎
23:58
|
кури БСП подсистему запрета изменения данных.
там форма лочится не форма.толькопросмотр а через установку доступности и толькопросмотра каждому элементу формы.. вот там как раз каждая форма перебирается и в зависимости от типа и значения применяется тот или иной метод блокировки доступа. |
|||
13
DrShad
11.02.13
✎
00:07
|
(10) а форму какого объекта ты там получаешь и откуда у элементов возьмутся значения?
такое даже на обычном приложение не канает |
|||
14
Rizhij_Nikitos
11.02.13
✎
09:00
|
Объект выбирается на форме, как видишь я его тип определяю и его как параметр ключ передаю.
|
|||
15
Rizhij_Nikitos
11.02.13
✎
09:43
|
(12) куда конкретно копать. Каждый модуль брать и перекапывать от и до?
|
|||
16
НЕА123
11.02.13
✎
10:06
|
(0)
>ПутьКДанным стоит Ошибка чтения значения... у всех? |
|||
17
Rizhij_Nikitos
11.02.13
✎
10:15
|
У всех. Вот открыл я БСП, там такие лихие разбирают этот путь данных... я вроде не дурак, догадался куда смотреть, но там данных то нет. В чем проблема?
|
|||
18
НЕА123
11.02.13
✎
10:21
|
ПутьКданным на сервере только.
|
|||
19
Rizhij_Nikitos
11.02.13
✎
10:31
|
А как я форму на сервере посмотрю? ПолучитьФорму только на клиенте работает.
|
|||
20
Rizhij_Nikitos
11.02.13
✎
10:59
|
Сделал в тестовом варианте такую ерунду: беру название поля ввода с формы, передаю на сервер, а там обращаюсь от объекта и возвращаю значение реквизита.
Проблема в том, что на форме есть такие вещи, которые заполняются при открытии формы. Например справочник валюты содержит в себе реквизит ПараметрыПрописиНаРусском. В строке эта дрянь выглядит как "доллар, доллара, долларов, м, цент, цента, центов, м, 2", а при открытии формы раскладывается в 8 реквизитов на форме и рассовывается по полям ввода. Как мне такие вещи достать? |
|||
21
DrShad
11.02.13
✎
11:03
|
(19) передавай ее на сервак как параметр процедуры и там смотри
|
|||
22
Rizhij_Nikitos
11.02.13
✎
11:16
|
На сервак форма не передается.
|
|||
23
DrShad
11.02.13
✎
11:19
|
(22) ну как бы у всех передается, а у тебя может и нет, я хз...
|
|||
24
DrShad
11.02.13
✎
11:20
|
УправляемаяФорма.ЭтаФорма (ManagedForm.ThisForm)
УправляемаяФорма (ManagedForm) ЭтаФорма (ThisForm) Использование: Только чтение. Описание: Тип: УправляемаяФорма. Содержит данную форму. Может быть использовано в модуле формы для получения данной формы и передачи ее в качестве параметра в другие формы, глобальные процедуры и функции и т.д. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент. |
|||
25
Rizhij_Nikitos
11.02.13
✎
11:28
|
{Форма.ФормаОтчета.Форма(29)}: Ошибка при вызове метода контекста (ПередатьФормуНаСервер)
ПередатьФормуНаСервер(Форма); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'УправляемаяФорма' |
|||
26
DrShad
11.02.13
✎
11:33
|
не Форма, а ЭтаФорма (ThisForm)
|
|||
27
Rizhij_Nikitos
11.02.13
✎
11:41
|
Сейчас потраим
|
|||
28
Rizhij_Nikitos
11.02.13
✎
11:44
|
ЭтаФорма возвращает тоже самое. То есть я беру Форма.ЭтаФорма и это тоже как ни странно "УправляемаяФорма"
|
|||
29
DrShad
11.02.13
✎
11:53
|
сорри, малость ошибся, ее не нужно передавать, она и так доступна - передавать ее нужно только в модуль менеджера
|
|||
30
Rizhij_Nikitos
11.02.13
✎
14:18
|
Она не может быть доступна. Это форма, которую я получаю программно. Документа, который я указываю сам на форме обработки или справочника - не важно. Форма не обработки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |