|
Как из обработки обратится к открытому документу? | ☑ | ||
---|---|---|---|---|
0
Yuriy78
12.12.11
✎
01:39
|
Задача такая. Из формы открытого документа кнопкой я вызываю обработку, которая выполняет редактирование этого же документа, колонку "количество". И потом сохраняет открытый документ. Как в обработке получить ссылку на интересующий меня открытый документ и отредактировать его?
|
|||
1
IamAlexy
12.12.11
✎
01:40
|
открой любую типовую.. там тыщи примеров..
|
|||
2
Grusswelle
12.12.11
✎
01:40
|
ПолучитьОбъект()
|
|||
3
Yuriy78
12.12.11
✎
01:49
|
(2) А как ПолучитьОбьект() если он еще не сохранен?
|
|||
4
Grusswelle
12.12.11
✎
02:00
|
(3) ПолучитьСсылкуНового()
Возвращаемое значение: Тип: ДокументСсылка. Описание: Позволяет для нового (созданного и еще не записанного) объекта получить ранее установленное методом УстановитьСсылкуНового значение ссылки. См. также: ДокументМенеджер, метод ПолучитьСсылку |
|||
5
mirosh
12.12.11
✎
02:01
|
(0) получаешь форму обработки, указывая в параметрах к качестве владельца форму открытого документа.
Затем в форме обработке обращаешься к документу так: ВладелецФормы.ДокументОбъект. |
|||
6
golden-pack
12.12.11
✎
02:38
|
(2,4) что ты несешь ?
|
|||
7
Yuriy78
12.12.11
✎
12:58
|
(5) Спасибо, сейчас попробую. Похоже из всех советов ваш наиболее работоспособный. Вы уже применяли его на практике?
|
|||
8
Yuriy78
12.12.11
✎
23:16
|
В документе при нажатии кнопки вызываю форму. Вот этот код:
Аналоги=Обработки.КоличествоАналогов.ПолучитьФорму(ЭтаФорма,"ФормаДокумента", ); Аналоги.Открыть(); Этот код работает, форма обработки открывается. Но вот правильно я записал владельца формы? В форме обработки пишу: Процедура КнопкаВыполнитьНажатие(Кнопка) докПланЗакупок = ВладелецФормы.ДокументОбъект; Выдает ошибку: {Обработка.КоличествоАналогов.Форма.Форма(6)}: Значение не является значением объектного типа (ДокументОбъект) докПланЗакупок = ВладелецФормы.ДокументОбъект; Где мой ошибка и как будет правильно? |
|||
9
Yuriy78
13.12.11
✎
13:52
|
[CODE]Перем перПланЗакупок Экспорт;[/CODE]
На форме документа при нажатии кнопки: [CODE]перПланЗакупок = ЭтотОбъект.ПолучитьФорму("ФормаДокумента",ЭтотОбъект.ПолучитьФорму());[/CODE] в форме обработки пишу такой код: [CODE]докПланЗакупок = перПланЗакупок; Для Каждого ТекущаяСтрока Из докПланЗакупок.СоставПлана Цикл НаимНом = ТекущаяСтрока.Номенклатура; [/CODE] Выдает ошибку: {Обработка.КоличествоАналогов.Форма.Форма(7)}: Значение не является значением объектного типа (СоставПлана) Для Каждого ТекущаяСтрока Из докПланЗакупок.СоставПлана Цикл Что не так сделал? Тип значения переменной перПланЗакупок "форма". Как написать правильно? |
|||
10
Yuriy78
13.12.11
✎
13:54
|
в обработке, в модуле объекта объявил переменную:
[CODE]Перем перПланЗакупок Экспорт;[/CODE] На форме документа при нажатии кнопки: [CODE]перПланЗакупок = ЭтотОбъект.ПолучитьФорму("ФормаДокумента",ЭтотОбъект.ПолучитьФорму());[/CODE] в форме обработки пишу такой код: [CODE]докПланЗакупок = перПланЗакупок; Для Каждого ТекущаяСтрока Из докПланЗакупок.СоставПлана Цикл НаимНом = ТекущаяСтрока.Номенклатура; [/CODE] Выдает ошибку: {Обработка.КоличествоАналогов.Форма.Форма(7)}: Значение не является значением объектного типа (СоставПлана) Для Каждого ТекущаяСтрока Из докПланЗакупок.СоставПлана Цикл Что не так сделал? Тип значения переменной перПланЗакупок "форма". Как написать правильно? |
|||
11
Starhan
13.12.11
✎
13:58
|
(9)(10) у формы нет таб части "состав плана" возможно только элемент формы таб поле с именем "Состав плана".
Обращайся либо через объект, либо через элементы формы |
|||
12
Starhan
13.12.11
✎
14:00
|
в (8) неправильно передал параметры
смотри СП Синтаксис: ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>) Параметры: <Форма> (необязательный) Тип: Строка; ОбъектМетаданных: Форма . Имя формы, как оно задано в конфигураторе, или объект описания метаданного требуемой формы. Если параметр не указан, то используется основная форма, заданная в конфигураторе. <Владелец> (необязательный) Тип: Форма; Элемент управления. Объект, который будет являться владельцем открываемой формы. |
|||
13
Seeker
13.12.11
✎
14:08
|
Для начала надо сделать кнопку на форме, по которой ты будешь открывать свою обработку.
в модуле, на нажатие на кнопку пишешь примерно следующее Обработка.МояОбработка.ПолучитьФорму("ФОрма", ЭтаФорма, ЭтотОбъект).Открыть(); Дальше идем в обработку, открываем форму, создаем процедуру при открытии и там пишем Если ЗначениеЗаполнено(ВладелецФормы) Тогда Объект = КлючУникальности.ПолучитьОбъект(); //тут пишем все что хотим //Объект.Записать(); КонецЕсли; ну вот как то так... все писал руками, возможны синтаксические ошибки |
|||
14
Yuriy78
13.12.11
✎
15:51
|
(13)
Вот что на все это оно выдало: {Обработка.КоличествоАналогов.Форма.Форма(121)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено): Проверка мутабельных значений на заполненность не поддерживается Если ЗначениеЗаполнено(ВладелецФормы) Тогда |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |