Имя: Пароль:
1C
1С v8
Создание нескольких документов
,
0 Qwertyz
 
28.08.18
08:36
Делаю обработку через создание связанных объектов. На сервере создаю документ, заполняю его запросом, записываю и возвращаю ссылку, потом передаю на клиент и вывожу документ

&НаКлиенте
процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив, СозданныеОбъекты)  экспорт

СсылкаНаДокумент=ЗаполнениеОбъекта();
ОткрытьЗначение(СсылкаНаДокумент);

конецпроцедуры

В принципе все ок, но если нужно будет вывести несколько документов(по каждой организации), как мне это можно реализовать?
1 Cool_Profi
 
28.08.18
08:38
Точно так же. ТОлько возврашай не один документ, а несколько
2 Qwertyz
 
28.08.18
08:40
(1) А как? Засунуть документы в массив?
3 seevkik
 
28.08.18
08:42
Кактотак

с н=1 по 5 цикл
СсылкаНаДокумент=ЗаполнениеОбъекта();
ОткрытьЗначение(СсылкаНаДокумент);
конеццикла
4 Cool_Profi
 
28.08.18
08:44
(2) У тебя есть другие варианты? варинат (3) не рассматриваем...
5 Qwertyz
 
28.08.18
08:46
(4) А можешь, пожалуйста, подсказать, как это реализовать?
6 Qwertyz
 
28.08.18
08:47
(4) или есть какой-нибудь материал почитать по этой теме?
7 Lexey_
 
28.08.18
08:50
(6) по массивам? СП почитай
8 catena
 
28.08.18
08:51
(6)Есть. Синтаксис помощник.

Массив (Array)
Добавить (Add)
Синтаксис:

Добавить(<Значение>)
Параметры:

<Значение> (необязательный)

Тип: Произвольный.
Добавляемое значение. Если не указан, то будет добавлено значение типа Неопределено.
Описание:

Добавляет элемент в конец массива.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:

При добавлении количество элементов массива увеличивается на 1.
Пример:

Массив.Добавить("Первый");
Массив.Добавить("Второй");
9 Cool_Profi
 
28.08.18
08:51
(5) Нужно заставить себя немного подумать...
10 Мандалай
 
28.08.18
08:54
1. Создаешь объект Массив
2. Создаешь Цикл внутри которого создаешь документы и эти самые документы добавляешь в созданный Массив
11 Мандалай
 
28.08.18
08:55
Ты скажи, что за процедуры ЗаполнениеОбъекта и ОткрытьЗначение.
12 Мандалай
 
28.08.18
08:56
И для чего собственно тебе Массив?
Ты ведь просто открываешь документы.
Может ты в Массиве организации хранить собрался?
13 Qwertyz
 
28.08.18
09:00
(11) ЗаполнениеОбъекта - я тут заполняю документ через запрос
ОткрытьЗначение - на сервере я записываю документ, и потом открываю его на клиенте
(12)  чтобы выводить несколько документов, для каждой организации отдельный документ
14 dezss
 
28.08.18
09:02
(6) а что там читать?
на сервере заполняешь и возвращаешь массив документов, потом перебираешь массив и их открываешь...
Только смотри, не открывай слишком много доков (поставь какое-нибудь ограничение) и не делай как в (3) написано (зачем нам много раз ходить на сервер, если можно сходить всего один раз)
15 seevkik
 
28.08.18
09:23
ну блин, видимо (3) слишком толсто, работать не будет, как минимум надо пробегаться по циклу организаций, если нормально ответить, то так:
(0) Функция ЗаполнениеОбъекта() должна возвращать список ссылок а код выглядеть типа

СписокСсылок=ЗаполнениеОбъекта();
для каждого СсылкаДок из СписокСсылок цикл
ПоказатьЗначение(,СсылкаНаДокумент);
конеццикла;

Но по-моему лучше не открыть несколько документов, а заполнить ими какую-нибудь таблицу - удобнее ориентироваться