Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Евгения1995
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
1

Передача массива из одной формы документа в другую

22.09.2017, 10:10. Просмотров 771. Ответов 7
Метки нет (Все метки)

Здравствуйте!
Подскажите, пожалуйста, как из одной формы документа передать массив значений в другую форма?
В документе есть две формы: Форма документа и произвольная форма. В главной форме есть функция, которая выполняет запрос и результат помещает в массив и возвращает массив. Элементы этого массива нужны для отбора во второстепенной форме. Как мне передать этот массив во второстепенную форму? С помощью параметров передает только первый элемент массива. подскажите, не могу сообразить. Форы управляемые.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2017, 10:10
Ответы с готовыми решениями:

Передача данных из одной обработки в другую
Здравствуйте, есть две обработки, открытые в 1с. Одна обработка прослушывает...

Передать таблицу значений из одной формы в другую (в обработке)
Не получается собственно сабж. Есть обработка. Написана давно и работает...

Как изменить текст надписи формы документа при записи документа
Здравствуйте уважаемые, у меня простой вопрос - как мне при записи документа...

С формы списка документа изменить данные самого документа 1С 8.2 Управляемое приложение
Есть документ ЗаказКлиента с формой документа и с формой списка (формы...

Проведение документа из модуля формы документа
Столкнулся с такой проблемой. Нужно провести документ из формы документа....

7
Yulunga
313 / 211 / 63
Регистрация: 22.04.2013
Сообщений: 1,400
Завершенные тесты: 1
22.09.2017, 10:46 2
вроде массив не передаёт.
я делал структуру )
0 -> massiv[0]
...
n -> massiv[n]
0
Евгения1995
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
22.09.2017, 11:00  [ТС] 3
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&НаКлиенте
Процедура Команда1(Команда)
     
    Номер = Новый Массив;   
    Номер=СвободныеНомераГРК();//Функция возвращает массив
Для каждого Номера из Номер цикл   //Идем по массиву
Сообщить(Номера);
Структура = Новый Структура();
Структура.Вставить("Наименование", Номера);  //Заносим в структуру
Форма = ПолучитьФорму("Документ.грк_Размещение.Форма.ФормаВыбораСвободныхНомеров", Структура);
конецЦикла;
форма.открытьмодально();
    
    
КонецПроцедуры

Вот так он открывает форму и передает в нее только последний элемент массива...Через структуру это ведь так?
0
Yulunga
313 / 211 / 63
Регистрация: 22.04.2013
Сообщений: 1,400
Завершенные тесты: 1
22.09.2017, 11:19 4
1C
1
Форма = ПолучитьФорму("Документ.грк_Размещение.Форма.ФормаВыбораСвободныхНомеров", Структура);
вот это вынесите за пределы цыкла
а то вы сто раз получаете форму. 1с умается.

1C
1
Структура = Новый Структура()
и вот это тоже. тока наверх . доцыкла.
а то у вас будет сто структур. 1с умается.
0
Евгения1995
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
22.09.2017, 11:46  [ТС] 5
Спасибо, получилось)
1C
1
2
3
4
5
6
7
8
9
Структура = Новый Структура();
     
    Номер = Новый Массив;   
    Номер=СвободныеНомераГРК();//Функция возвращает массив
Для каждого Номера из Номер цикл   //Идем по массиву
Структура.Вставить("Наименование", Номера); //Заносим в структуру 
Форма = ПолучитьФорму("Документ.грк_Размещение.Форма.ФормаВыбораСвободныхНомеров", Структура);
конецЦикла;
форма.ОткрытьМодально();
Теперь в форме доступны элементы массива.
Еще вопрос, не знаете как сделать отбор в форме по нескольким значениям одного реквизита? То есть чтоб у меня отбор работал по элементам массива.
0
Yulunga
313 / 211 / 63
Регистрация: 22.04.2013
Сообщений: 1,400
Завершенные тесты: 1
22.09.2017, 12:00 6
"вот это вынесите за пределы цыкла
а то вы сто раз получаете форму. 1с умается."
0
Евгения1995
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
22.09.2017, 12:01  [ТС] 7
ок, это исправила, спасибо)
0
Yulunga
313 / 211 / 63
Регистрация: 22.04.2013
Сообщений: 1,400
Завершенные тесты: 1
22.09.2017, 12:30 8
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Запрос = Новый Запрос; 
Запрос.Текст = "
|ВЫБРАТЬ 
|   ОтпускаОрганизацииРаботникиОрганизации.ФизЛицо, 
|   ОтпускаОрганизацииРаботникиОрганизации.ДатаНачала, 
|   ОтпускаОрганизацииРаботникиОрганизации.ДатаОкончания 
|ИЗ 
|   Документ.ОтпускаОрганизации.РаботникиОрганизации КАК ОтпускаОрганизацииРаботникиОрганизации 
|ГДЕ 
|   ОтпускаОрганизацииРаботникиОрганизации.ПричинаОтсутствия В (&МассивПричин)"; 
 
МассивПричин = Новый Массив; 
МассивПричин.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускБезСохраненияЗарплаты); 
МассивПричин.Добавить(Перечисления.ПричиныОтсутствияНаРаботеВОрганизации.ОтпускУчебный);
0
22.09.2017, 12:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2017, 12:30

Открытие формы документа с заполнением данных из формы справочника
Здравствуйте! Платформа 1с 8.3, пытаюсь создать базу пациентов.)) Есть...

Закрытие формы документа из внешней печатной формы
Нужно после печати документа, закрыть его форму. Управляемое приложение. Никак...

Передача даты из документа в форму выбора справочника
Не могу повторить прием из видеокурса Чистова. Задача изначально: в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru