Передача параметров из второй формы обратно
Элементы коллекции:
КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Свойства:
Методы:
Конструкторы:
Описание:
Представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка.
К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства.
Структура используется обычно для хранения небольшого количества значений, каждое из которым имеет некоторое имя.
Возможен обмен с сервером. Сериализуется.
Пример:
См. также:
Массив (Array)
Элементы коллекции:
Произвольный
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения элементов массива.
Возможно обращение к значению элемента посредством оператора [. ]. В качестве аргумента передается индекс значения (нумерация с 0).
Описание:
Предназначен для доступа к элементам массива, его методам и конструктору.
Элементы коллекции:
ЭлементСпискаЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [. ]. В качестве аргумента передается индекс (нумерация с 0) элемента.
Описание:
Используется для доступа к методам
Этот кусок одновременно открывает форму модально и принимает возвращаемое значение:
При закрытии формы открытой модально в параметре метода:
ЭтаФорма.Закрыть(ВозвращаемоеЗначение)
ну и когда получаешь форму указываешь владельца
Если конфа своя, то не нужно структуры.
В реквизитах формы создай три параметра и юзай.
1с возврат значения из формы
При закрытии формы может потребоваться вернуть из нее некоторые значения. Например, при нажатии на кнопку основной формы, открывается другая произвольная форма. После выполнения необходимых действий дополнительная форма закрывается, а в основную передается значение.
Открытие формы
Необходимо модально открыть произвольную форму с помощью функции ОткрытьФормуМодально().
Закрытие формы с возвратом значения
У открытой формы необходимо вызвать встроенный метод Закрыть(), который на вход принимает возвращаемое значение. Тип возвращаемого значения произвольный. В данном примере возвращается структура.
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Статья решает задачи:
Исходные данные:
1. Пишем процедуру по открытию «НашаФорма» и передаче в нее параметра «МножительА»
2. Пишем процедуру, которая при открытии «Наша форма» (в обработчике ПриСозданииНаСервере) будет заполнять реквизит «МножительА» по полученному значению
3. Пишем процедуру по вычислению результата умножения и возврату значения
Сайт о программировании в 1с версии 7.7 и 8.x
1 сентября 2011 г.
Модальное открытие формы в 1с 8. Как вернуть результат ОткрытьМодально()
Открытие формы модально — форма появляется на экране и блокирует другие окна, пока не будет закрыта.
Возникает проблема возврата результата, если форма не «для выбора»
В описании функции ОткрытьМодально() написано:
Форма.ОткрытьМодально (Form.DoModal)
ОткрытьМодально( )
Я специально выделил фразу цветом. Получается: если форма определена «для выбора» — то она возвращает выбранные значения
В любых других случаях будет возвращаться — Неопределено.
В этом случае есть несколько решений:
1. Получив доступ к форме, мы можем вызывать различные функции и получать переменные. Естественно нужно, чтобы эти функции имели статус Экспорт
Функция НашаФункция ( ПараметрыФункции ) Экспорт
1с возврат значения из формы
При закрытии формы может потребоваться вернуть из нее некоторые значения. Например, при нажатии на кнопку основной формы, открывается другая произвольная форма. После выполнения необходимых действий дополнительная форма закрывается, а в основную передается значение.
Открытие формы
Необходимо модально открыть произвольную форму с помощью функции ОткрытьФормуМодально().
Закрытие формы с возвратом значения
У открытой формы необходимо вызвать встроенный метод Закрыть(), который на вход принимает возвращаемое значение. Тип возвращаемого значения произвольный. В данном примере возвращается структура.
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Статья решает задачи:
Исходные данные:
1. Пишем процедуру по открытию «НашаФорма» и передаче в нее параметра «МножительА»
2. Пишем процедуру, которая при открытии «Наша форма» (в обработчике ПриСозданииНаСервере) будет заполнять реквизит «МножительА» по полученному значению
3. Пишем процедуру по вычислению результата умножения и возврату значения
Сайт о программировании в 1с версии 7.7 и 8.x
1 сентября 2011 г.
Модальное открытие формы в 1с 8. Как вернуть результат ОткрытьМодально()
Открытие формы модально — форма появляется на экране и блокирует другие окна, пока не будет закрыта.
Возникает проблема возврата результата, если форма не «для выбора»
В описании функции ОткрытьМодально() написано:
Форма.ОткрытьМодально (Form.DoModal)
ОткрытьМодально( )
Я специально выделил фразу цветом. Получается: если форма определена «для выбора» — то она возвращает выбранные значения
В любых других случаях будет возвращаться — Неопределено.
В этом случае есть несколько решений:
1. Получив доступ к форме, мы можем вызывать различные функции и получать переменные. Естественно нужно, чтобы эти функции имели статус Экспорт
Функция НашаФункция ( ПараметрыФункции ) Экспорт
Передача параметра и возврат
Привет. 8.2 управляемые формы.
Я нуб. Не пинайте.
В модуле форме списка справочника номенклатура открываю
общую форму модально с передачей параметра.
парам1 = новый структура(«Ключ1»,знач1);
формавыб = получитьформу(«ОбщаяФорма.ВыборНоменклатурыПоШтрихкоду»,парам1,этаформа);
Формавыб.Штрихкод = Штрихкод;
Формавыб.ВладелецФормы = ЭтаФорма;
Формавыб.ОткрытьМодально();
В общей форме создаю параметр с именем «ключ1». делаю ключевым чтобы срок жизни был не только в процедуре ПриСозданииНаСервере().
Он там ловится, все ок. Потом я его меняю в других процедурах, тож все нормально. А дальше вот незнаю: КАК ВЕРНУТЬ его обратно в форму списка при закрытии общей формы?
Коряво конечно написал вопрос, но я стараюсь.
Возвращаемое значение:
Тип: Произвольный.
Команда закрытия формы.
Если форма открывалась для выбора, возвращает выбранное значение (или массив значений, в случае разрешенного множественного выделения в открываемой форме). Если значение не выбрано, возвращается Неопределено.
Закрыть (Close)
Синтаксис:
Тип: Произвольный.
Параметр закрытия формы, открытой в модальном режиме. Это значение будет возвращено как результат метода, открывающего форму модально.
Значение по умолчанию: Неопределено
Описание:
Закрывает форму. Если закрываемая форма была открыта в модальном режиме, то метод может передать команду закрытия методу, открывшему форму.
Возврат параметра из обработки (1С:Предприятие 7.7)
Наверное, многие, кто занимался разработкой прикладных решений на платформе 1С:Предприятие 7.7, сталкивались со следующей задачей: в процессе выполнения кода нужно открыть обработку, передать в неё параметр и получить результат её работы, в виде возвращаемого параметра. С передачей параметра в обработку никаких проблем не возникает, как следует из документации:
ОткрытьФормуМодально(«Обработка.МояОбработка»,Параметр);
А вот с возвратом параметра у многих бывают затруднения. Одним из способов является возврат параметра через глобальную переменную, но в данной статье я опишу более изящный и неочевидный способ. В документации сказано что переданный в форму параметр будет доступен в открытой форме(обработки, отчета) через форма.параметр, но нигде не описан такой немаловажный факт, что через эту же самую конструкцию, т.е форма.параметр обработка может вернуть любой параметр в тот же модуль из которого она была вызвана! Для этого достаточно в модуле формы обработки перед ее закрытием выполнить
форма.параметр=»ВозвращаемыйПараметр»;
В качестве примера приведу простую обработку проверки пароля:
Вызов из программного модуля:
ПравильныйПароль = «12345»;
ОткрытьФормуМодально(«Обработка.Авторизация»,ПравильныйПароль);
Если (ПравильныйПароль=0) Тогда
Сообщить(«Не угадали»);
Возврат;
КонецЕсли;
Обработка Авторизация:
// Модуль формы обработки
Процедура ПриОткрытии()
ПравильныйПароль=Форма.Параметр;
Форма.Параметр=0;
КонецПроцедуры
Процедура Отмена()
Форма.Закрыть(0);
КонецПроцедуры