Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=67595)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Поочередное открытие документов

Автор: Alex007 23.07.24, 15:50

Добрый день. Требуется открывать форму документа по очереди. Суть- открывается один документ и пока юзер не закроет его руками , второй не открывается и так до конца выборки. Вот что имеется на эту тему ( в качестве примера на 10 доков), но у меня открывается только первый док и все, дальше как будто все останавливается.

&НаКлиенте
Процедура Старт(Команда)

    МассивСсылок = ПолучитьМассивСсылокНаДокументы();
    
    Если МассивСсылок.Количество() = 0 Тогда
          Возврат;
    КонецЕсли;
    
    ДополнительныеПараметры = Новый Структура("МассивСсылок", МассивСсылок);
    ПараметрыФормы = Новый Структура("Ключ", МассивСсылок[0]);
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗакрытияДокумента", ЭтаФорма, ДополнительныеПараметры);
    ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", ПараметрыФормы,,,,,ОписаниеОповещения);
    
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗакрытияДокумента(Результат, ДопПараметры) Экспорт

    ДопПараметры.МассивСсылок.Удалить(0);
    
    Если ДопПараметры.МассивСсылок.Количество() = 0 Тогда
         Возврат;
    КонецЕсли;

    ПараметрыФормы = Новый Структура("Ключ", ДопПараметры.МассивСсылок[0]);
    
    ОписаниеОповещения = Новый ОписаниеОповещения("ПослеЗакрытияДокумента", ЭтаФорма, ДопПараметры);
    ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", ПараметрыФормы,,,,,ОписаниеОповещения);

КонецПроцедуры

&НаСервере
Функция ПолучитьМассивСсылокНаДокументы()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 10
    |    РеализацияТоваровУслуг.Ссылка КАК Ссылка
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";
    
    Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");

КонецФункции // ПолучитьМассивСсылокНаДокументы()

Автор: AnryMc 23.07.24, 16:47

Цитата(Alex007 @ 23.07.24, 16:50) *
ПараметрыФормы = Новый Структура("Ключ", ДопПараметры.МассивСсылок[0]);


А в отладчике здесь что?

Похоже вы передали 1 (!!!) ссылку а не массив...

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua