Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/75: Рейтинг темы: голосов - 75, средняя оценка - 4.97
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
1
1C 8.x

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Подскажите, пожалуйста, как из одной формы документа передать массив значений в другую форма?
В документе есть две формы: Форма документа и произвольная форма. В главной форме есть функция, которая выполняет запрос и результат помещает в массив и возвращает массив. Элементы этого массива нужны для отбора во второстепенной форме. Как мне передать этот массив во второстепенную форму? С помощью параметров передает только первый элемент массива. подскажите, не могу сообразить. Форы управляемые.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2017, 10:10
Ответы с готовыми решениями:

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

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

Передача массива с одной формы в другую
Здравствуйте, а не подскажете как передать массив данных из одной формы VB в другую : например мне...

Передача из одной формы в другую
Всем привет! У меня есть две формы, в каждой форме есть одномерный массив текстбоксов....

7
Модератор
2163 / 831 / 242
Регистрация: 22.04.2013
Сообщений: 6,101
Записей в блоге: 1
22.09.2017, 10:46 2
вроде массив не передаёт.
я делал структуру )
0 -> massiv[0]
...
n -> massiv[n]
0
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
Модератор
2163 / 831 / 242
Регистрация: 22.04.2013
Сообщений: 6,101
Записей в блоге: 1
22.09.2017, 11:19 4
1C
1
Форма = ПолучитьФорму("Документ.грк_Размещение.Форма.ФормаВыбораСвободныхНомеров", Структура);
вот это вынесите за пределы цыкла
а то вы сто раз получаете форму. 1с умается.

1C
1
Структура = Новый Структура()
и вот это тоже. тока наверх . доцыкла.
а то у вас будет сто структур. 1с умается.
0
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
22.09.2017, 11:46  [ТС] 5
Спасибо, получилось)
1C
1
2
3
4
5
6
7
8
9
Структура = Новый Структура();
     
    Номер = Новый Массив;   
    Номер=СвободныеНомераГРК();//Функция возвращает массив
Для каждого Номера из Номер цикл   //Идем по массиву
Структура.Вставить("Наименование", Номера); //Заносим в структуру 
Форма = ПолучитьФорму("Документ.грк_Размещение.Форма.ФормаВыбораСвободныхНомеров", Структура);
конецЦикла;
форма.ОткрытьМодально();
Теперь в форме доступны элементы массива.
Еще вопрос, не знаете как сделать отбор в форме по нескольким значениям одного реквизита? То есть чтоб у меня отбор работал по элементам массива.
0
Модератор
2163 / 831 / 242
Регистрация: 22.04.2013
Сообщений: 6,101
Записей в блоге: 1
22.09.2017, 12:00 6
"вот это вынесите за пределы цыкла
а то вы сто раз получаете форму. 1с умается."
0
2 / 2 / 1
Регистрация: 28.04.2014
Сообщений: 36
22.09.2017, 12:01  [ТС] 7
ок, это исправила, спасибо)
0
Модератор
2163 / 831 / 242
Регистрация: 22.04.2013
Сообщений: 6,101
Записей в блоге: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2017, 12:30
Помогаю со студенческими работами здесь

Передача DataGridView из одной формы в другую
Как можно и можно ли вообще передать dataGridView из одной формы в другую? Вообще,необходимо, что...

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

Передача данных из одной формы в другую
Подскажите как передать данные из одной формы в другую например: у меня во второй форме вводится...

Передача данных из одной формы в другую
Подскажите пожалуйста... Есть 2 формы на разных страницах. 1) Форма 1(скриншот) Во вложении 2)...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru