Имя: Пароль:
1C
1С v8
Реквизиты
,
0 leftmails
 
06.09.12
08:01
Всем привет!
Пожалуйста подскажите, открываю стороннею форму, можно ли как то вывести список доступных реквизитов этой формы? при условии что я их не знаю
1 ZanderZ
 
06.09.12
08:02
можно
2 leftmails
 
06.09.12
08:05
пожалуйста подскажите как..
3 Рэйв
 
06.09.12
08:07
Для каждого Рек Из ЭлементыФормы Цикл

Конеццикла
4 leftmails
 
06.09.12
08:20
Огромнейшее спасибо!!!
У меня вывелось:

----->ДействияФормы ----->
----->ОсновныеДействияФормы ----->
----->ШапкаПанель ----->
----->ТаблицаРазделитель ----->
----->ШаблонРеквизит1Надпись ----->
----->ШаблонРеквизит1 ----->
----->ШапкаРазделитель ----->
----->ШаблонРеквизит2Надпись ----->
----->ШаблонРеквизит2 ----->
----->Таблица ----->
----->ТаблицаДействия ----->
----->ТаблицаНадпись ----->
----->Панель ----->
----->ТаблицаПанель ----->
----->ДополнительноПанель ----->
----->ОснованиеНадпись ----->
----->ДокументОснование ----->
----->АвторНадпись ----->
----->Автор ----->
----->Описание ----->
----->ОписаниеНадпись ----->
----->КомментарийНадпись ----->
----->Номер ----->
----->ДатаНадпись ----->
----->Дата ----->
----->ДокументВидНадпись ----->
----->ШаблонВидНадпись ----->
----->Реквизит5Надпись ----->

Код:
Для каждого Рек Из ДокументФорма.ЭлементыФормы Цикл
 Сообщить("----->"+Строка(Рек.Имя)+" -----> ");
Конеццикла;


А как можно присвоить значение этим реквизитам или считать? Рек.Значение= не катит
5 Рэйв
 
06.09.12
08:25
Если элементы формы по именам совпадают с именами реквизитов, то

ЭтотОбъект(Рек.Имя)=чтото;

Иначе придется бродить с бубном
6 Рэйв
 
06.09.12
08:25
Вернее
ЭтотОбъект[Рек.Имя]=чтото;
7 Рэйв
 
06.09.12
08:26
Если форма совершенно сторонняя, то смотри что у нее в качестве объекта и заменяй ЭтотОбъект на него
8 Рэйв
 
06.09.12
08:27
хотя не факт что взлетит:-)  Мало инфы по твоему коду
9 leftmails
 
06.09.12
08:30
{Справочник.Тест.Форма.Форма(44,2)}: Переменная не определена (ЭтотОбъект)
<<?>>ЭтотОбъект[Рек.Имя]="Прием";

 
Ошибка:(
10 Рэйв
 
06.09.12
08:31
(9)Ну, я предупреждал.
11 unregistered
 
06.09.12
08:42
(9) Ты бы озвучил цель своих извращений.

Что-то мне подсказывает, что тебе нужны реквизиты не формы, а объекта, связанного с формой.
12 leftmails
 
06.09.12
08:56
Цель:
программный Запуск Задачи/сессии системы интелев с заполнением  реквизитов и полей с проводкой (нажать кнопочку окей).

Я бы спросил у инталевцев, но к сожалению техподдержка закончилась и они молчат и не хотят общаться.
Мне удалось привязаться к нужной задачи, но в этой задаче поля/реквизиты могут меняться

Теперь с вашей помощью я получаю список реквизитов
Удалось конечно изменить данные, но значение стало пустым(возможно по типу данных не проходит)


если Рек.Имя="Автор" тогда
Рек.Значение="фывфыв";
иначе
конецесли
13 unregistered
 
06.09.12
09:00
(12) Ну и при чем тут форма?...

Тебе нужно получить (или создать новый?) объект.
Установить (заполнить) его реквизиты.
Записать объект (провести, если речь о документе).

Нафига тебе форма вообще.

PS. Заплатите лучше за поддержку или вызовите специалиста.
14 Serg_1960
 
06.09.12
09:04
(13) Ключевые слова - "но в этой задаче поля/реквизиты могут меняться"(12)
15 leftmails
 
06.09.12
09:07
Я так и делаю:
ДокументФорма=Инт_ПроформаФорма.СоздатьФорма(Новый Структура("Режим,РеквизитыЗначения",Данные.Ссылка,РеквизитыЗначения),Ложь,Истина,,,Ложь);Но не знал реквизиты.. форму открывал для общего развития..


А как теперь провести документ этот?    

ДокументФорма.Провести(); не катит
а вот обычные Записать, Закрыть катит:(
16 leftmails
 
06.09.12
09:08
{Справочник.Тест.Форма.Форма(53)}: Метод объекта не обнаружен (Провести)
ДокументФорма.Провести();
17 Serg_1960
 
06.09.12
09:09
Открой СП и посмотри свойства и методы элементов формы.

ЭлементыФормы.ТвойРеквизит.Данные - можно проверить связан ли реквизит с данными.
ЭлементыФормы.ТвойРеквизит.ТипЗначения - смотрим допустимые типы значений...

ЭлементыФормы.Автор - скорее всего содержит ссылку на справочник "Пользователи". Но возможны варианты - ФизичискиеЛица, Сотрудники...
18 Serg_1960
 
06.09.12
09:09
(16) Всё, свободен. Обратитесь к специалисту.
19 leftmails
 
06.09.12
09:10
Да верно, я разобрался как работать с реквизитами: Просто Отслеживаю имя реквизита: Реквизит5 и присваиваю ему значение - катит:)

Как можно провести форму?
20 k1us181b
 
06.09.12
09:10
Док.Записать(режимПроведенияДокумента.Проведение)
21 leftmails
 
06.09.12
09:12
Не получилось:( Выдало ошибку:
ДокументФорма.Записать(режимПроведенияДокумента.Проведение);


{Справочник.Тест.Форма.Форма(53)}: Поле объекта не обнаружено (Проведение)
ДокументФорма.Записать(режимПроведенияДокумента.Проведение);
22 k1us181b
 
06.09.12
09:13
тьху,
Док.Записать(режимЗаписиДокумента.Проведение) конечно же
23 stix2010
 
06.09.12
09:14
сегодня че пятница?
24 leftmails
 
06.09.12
09:14
Ставил Оперативный и неоперативный и без доп. параметров ошибку:


{Справочник.Тест.Форма.Форма(53)}: Ошибка при вызове метода контекста (Записать): Несоответствие типов (параметр номер '1')
ДокументФорма.Записать(режимПроведенияДокумента);
по причине:
Несоответствие типов (параметр номер '1')
25 stix2010
 
06.09.12
09:15
если это справочник то как можно провести?
26 leftmails
 
06.09.12
09:15
кажется Получилось!!!! Огромноейшее спасибо!!!!!!!!!!!!!!!!!!!!!!!
27 leftmails
 
06.09.12
09:17
Проверил, все отлично работает!!! еще раз благодарю!!!!!!
28 leftmails
 
06.09.12
13:06
Возвращаюсь к этому вопросу!
Выяснилось что при открытии действительно меняются реквизиты...
Но при записи, проведении эти реквизиты не сохраняются:(
Открываешь а там все старое, что можеть быть?
29 vasmedv
 
26.09.12
11:14
помоему В ДокументФорма.ЭлементыФормы хранятся элементы формы а не реквизиты, поэтому при записи их значения не сохраняются.
30 cw014
 
26.09.12
11:24
(12) Ты сейчас произнес страшное слово "Инталев", скажи версия этого чуда какая?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс