Как обратиться к реквизиты обработки
22.04.2010
14:11
#1
"Всем, здравствуйте! Помогите разобраться с внешней обработкой. Проблема в следующем: внешняя обработка имеет несколько форм, мне необходимо передать данные из одной в другую. Я добавил реквизиты, на основной форме работать с ними получается. Я делаю это т.о.:
Обработка = ВнешниеОбработки.Создать("C:\Рабочая\ComCenter\ComCenter.epf");
Обработка.ТипФормы = "1";
Во второй форме я также создаю объект Обработка, но реквизиты пустые. Каким образом обратиться к реквизитам из второй формы.
Если не использовать реквизиты, то другой вариант - переменные Экспорт, но как к ним обратиться я тоже не знаю.
Спасибо за помощь."
Обработка = ВнешниеОбработки.Создать("C:\Рабочая\ComCenter\ComCenter.epf");
Обработка.ТипФормы = "1";
Во второй форме я также создаю объект Обработка, но реквизиты пустые. Каким образом обратиться к реквизитам из второй формы.
Если не использовать реквизиты, то другой вариант - переменные Экспорт, но как к ним обратиться я тоже не знаю.
Спасибо за помощь."
22.04.2010
14:25
#2
"Вы создаете объекты, а надо открывать формы.
Обработка = ВнешниеОбработки.Создать("C:\Рабочая\ComCenter\ComCenter.epf");
Форма1 = Обработка.ПолучитьФорму ("ИмяФормы1");
Форма2 = Обработка.ПолучитьФорму ("ИмяФормы2");
Если у форм в качестве основного реквизита стоит обработка, то обе формы будут иметь доступ к реквизитам Обработки.
Или опишите задачу иначе, а то у вас какая-то двойственность в описании: "У обработки 2 формы" и "во второй форме я также создаю объект Обработка""
Обработка = ВнешниеОбработки.Создать("C:\Рабочая\ComCenter\ComCenter.epf");
Форма1 = Обработка.ПолучитьФорму ("ИмяФормы1");
Форма2 = Обработка.ПолучитьФорму ("ИмяФормы2");
Если у форм в качестве основного реквизита стоит обработка, то обе формы будут иметь доступ к реквизитам Обработки.
Или опишите задачу иначе, а то у вас какая-то двойственность в описании: "У обработки 2 формы" и "во второй форме я также создаю объект Обработка""
22.04.2010
14:46
#3
"Ошибка, поле объекта не обнаружено (при попытке заполнить ТаблицуЗначений результатом запроса)
Процедура ПриОткрытии()
Обработка = ВнешниеОбработки.Создать("C:\Рабочая\ComCenter\ComCenter.epf");
Форма1 = Обработка.ПолучитьФорму ("ФормаОсновная");
КонецПроцедуры
заполняю так
Форма1.ППВТаблЗнач = РезультатЗапроса.Выгрузить();
Задача такая: на основной форме табличное поле, в него помещаю результат запроса (выборка приходников и выписок за период), двойном щелчке на строке Табличного поля должно открыться окно элементы которого заполняются параметрами платежа (номер, дата, сумма, контрагент, договор и т.п.). Мне это необходимо для правки некоторых позиций платежа и выполнить последующую выгрузку во внешнее приложение (точнее в БД этого приложения). Для изменения результат запроса помещаю в реквизит обработки ППВТаблЗнач, тип ТаблицаЗначений
Я не понял Вашей фразы: "Если у форм в качестве основного реквизита стоит обработка, то обе формы будут иметь доступ к реквизитам Обработки." В окне "Свойства" формы практически нет параметров для изменения.
Спасибо за помощь.
П.С. Прошу прощения если глупые вопросы, в 1С я плохо разбираюсь. Возникла необходимость связать внешнее приложение с 1С в плане платежей."
Процедура ПриОткрытии()
Обработка = ВнешниеОбработки.Создать("C:\Рабочая\ComCenter\ComCenter.epf");
Форма1 = Обработка.ПолучитьФорму ("ФормаОсновная");
КонецПроцедуры
заполняю так
Форма1.ППВТаблЗнач = РезультатЗапроса.Выгрузить();
Задача такая: на основной форме табличное поле, в него помещаю результат запроса (выборка приходников и выписок за период), двойном щелчке на строке Табличного поля должно открыться окно элементы которого заполняются параметрами платежа (номер, дата, сумма, контрагент, договор и т.п.). Мне это необходимо для правки некоторых позиций платежа и выполнить последующую выгрузку во внешнее приложение (точнее в БД этого приложения). Для изменения результат запроса помещаю в реквизит обработки ППВТаблЗнач, тип ТаблицаЗначений
Я не понял Вашей фразы: "Если у форм в качестве основного реквизита стоит обработка, то обе формы будут иметь доступ к реквизитам Обработки." В окне "Свойства" формы практически нет параметров для изменения.
Спасибо за помощь.
П.С. Прошу прощения если глупые вопросы, в 1С я плохо разбираюсь. Возникла необходимость связать внешнее приложение с 1С в плане платежей."
22.04.2010
15:35
#4
"Интересно, ваша Процедура ПриОткрытии() где находиться?
Предположим, что у вас ничего нет.
1. Создаете внешнюю обработку
2. Добавляете ей форму (по умолчанию у неё имя Форма) она же станет основной формой, открываемой при открытии обработки.
3. Кидаете на форму таблицу (я так понимаю назвали её ППВТаблЗнач)
4. В модуле формы формы в Процедуре ПриОткрытии делаете заполнение таблицы:
ППВТаблЗнач = РезультатЗапроса.Выгрузить();
ЭлементыФормы.ППВТаблЗнач.СоздатьКолонки();
5. Создаете 2-ю форму. По-умолчанию она получит имя Форма1.
6. Киньте на Форму1, скажем поле ввода. (имя ПолеВвода1)
7. Для таблицы (на Форме) задаете событие Выбор, где пишите, что-то типа:
ТекСтр = ППВТаблЗнач.ТекущаяСтрока(); //Можно воспользоваться Параметрами, но я привык так
лФорма = ЭтотОбъект.ПолучитьФорму("Форма1"); //"ЭтотОбъект." можно не писать - это подразумевается.
лФорма.ПолеВвода1 = ТекСтр.Ссылка; //Ссылка - это колонка в таблице, я не знаю как оно у вас назывется.
лФорма.Открыть();
В принципе - этого достаточно для демонстрации. Можно запускать.
p.s. Если вы зайдете на закладку Реквизиты у Формы, то увидите, что один реквизит выделен жирным (например ОбработкаОбъект) - этот реквизит основной для данной формы и она (форма) имеет полный доступ к реквизитам и экспортным функциям (процедурам) этого объекта"
Предположим, что у вас ничего нет.
1. Создаете внешнюю обработку
2. Добавляете ей форму (по умолчанию у неё имя Форма) она же станет основной формой, открываемой при открытии обработки.
3. Кидаете на форму таблицу (я так понимаю назвали её ППВТаблЗнач)
4. В модуле формы формы в Процедуре ПриОткрытии делаете заполнение таблицы:
ППВТаблЗнач = РезультатЗапроса.Выгрузить();
ЭлементыФормы.ППВТаблЗнач.СоздатьКолонки();
5. Создаете 2-ю форму. По-умолчанию она получит имя Форма1.
6. Киньте на Форму1, скажем поле ввода. (имя ПолеВвода1)
7. Для таблицы (на Форме) задаете событие Выбор, где пишите, что-то типа:
ТекСтр = ППВТаблЗнач.ТекущаяСтрока(); //Можно воспользоваться Параметрами, но я привык так
лФорма = ЭтотОбъект.ПолучитьФорму("Форма1"); //"ЭтотОбъект." можно не писать - это подразумевается.
лФорма.ПолеВвода1 = ТекСтр.Ссылка; //Ссылка - это колонка в таблице, я не знаю как оно у вас назывется.
лФорма.Открыть();
В принципе - этого достаточно для демонстрации. Можно запускать.
p.s. Если вы зайдете на закладку Реквизиты у Формы, то увидите, что один реквизит выделен жирным (например ОбработкаОбъект) - этот реквизит основной для данной формы и она (форма) имеет полный доступ к реквизитам и экспортным функциям (процедурам) этого объекта"
Читают тему
(гостей: 1)