Имя: Пароль:
1C
1С v8
Оптимизация алгоритма
0 Автосервис
 
26.10.15
08:11
Добрый день.
Самописная конфигурация 8.3.6.2152, размещенная на веб-сервере.
Есть обработка, предназначенная для печати путевых листов. Пользователь в этой обработке выбирает листы, нужные ему дл печати и печатает.

&НаСервере
Процедура НомерЛистаПриИзмененииНаСервере()
    ТабДок.Очистить();    
    Если НомерЛиста = 0 Тогда
        Для каждого Лист из МассивЛистов Цикл
            ТабДок.Вывести(Лист.Значение);
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЦикла;
    Иначе
        ТабДок.Вывести(МассивЛистов[НомерЛиста-1].Значение);    
    КонецЕсли;
КонецПроцедуры

Массив листов - это список значений, где каждый элемент которой является табличным документом. Не очень оптимально, поскольку пользователь при открытии обработки получает все табличные документы из списка, чтобы просмотреть что он будет печатать, а потом еще и при выборе листа снова обращается к этому списку через сервер.
Можно как-нибудь сохранить этот список табличных документов на сервере и позже уже обращаться к нему не через сервер, а через клиент?
1 Автосервис
 
26.10.15
08:18
Через временное хранилище можно будет так реализовать?
2 User_Agronom
 
26.10.15
08:22
(1) РС?
3 Лефмихалыч
 
26.10.15
08:51
(0) а какой смысл хранить на сервер то, что пользователь не бует использовать? Почему нельзя сформировать только ту ПФ, которую пользователь хочет сейчас распечатать и ее же и вернуть?
4 Автосервис
 
26.10.15
09:29
(2) Ну да, чего это я разошелся?.... Тут же оказывается все легко
5 Автосервис
 
26.10.15
09:30
(3) А пользователь сам не знает что хочет, пока не увидит))
6 Лефмихалыч
 
26.10.15
09:31
(5) это повод ни чего не делать, пока он не узнает
7 Автосервис
 
26.10.15
09:37
(6) Да я тут уже разобрался. Сам ступил.
8 Автосервис
 
26.10.15
09:41
Есть другой вопрос: Как заполнить табличный документ на клиенте, не обращаясь к серверу?
Например: На форме есть реквизит "ТабДок". Пишу:

&НаКлиенте
ТабДок.Вывести(МассивЛистов[НомерЛиста].Значение)

Но это же понятно, что работать не будет. Нужно писать через Элементы.ТабДок. Но у элемента нет процедуры "Вывести".
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой