powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Управляемое приложение 8.2
3 сообщений из 3, страница 1 из 1
Управляемое приложение 8.2
    #36806776
XSprinter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, хочу освоить концепцию работы 8.2 в тонком клиенте .
Не понимаю как организовать следующий простой алгоритм, описываю схематично

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   Запрос = Новый  Запрос();
   Запрос.Текст = "Выбор набора ссылок БД";

   Выборка =  Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
        
        ОбработкаПрерыванияПользователя(); // данная функция не существует на сервере 1С
        
        Объект = Выборка.Ссылка.ПолучитьОбъект();
        //далее работа с объектом

   КонецЦикла;

Проблема в том что объект Запрос и непосредственная работа с объектами возможна только на сервере, а обработка прерывания пользователя только на клиенте.
...
Рейтинг: 0 / 0
Управляемое приложение 8.2
    #36806790
XSprinter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо , пока писал сам понял, что-то такое
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 
     Список = ПолучениеНаборасСылокНаСервере();

     Для Каждого Элемент Из Список Цикл
        
        ОбработкаПрерыванияПользователя(); 
        
        ПроцедураОбработкиОбъектаНаСервере(Элемент);

     КонецЦикла;
     
но жаль что набор ссылок необходимо возвращать на клиента
только для вызова процедуры ОбработкаПрерыванияПользователя.

Может есть более эффективные варианты?
...
Рейтинг: 0 / 0
Управляемое приложение 8.2
    #37037356
lerpapod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
&НаСервере
Функция ИнициализацияОбработкиСервер()

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   Спр.Ссылка
    |ИЗ
    |   Справочник.Банки КАК Спр";

    Данные      = Запрос.Выполнить().Выгрузить();
    АдресДанных = ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор);

    // Обработка
    // В справочнике ~  4000  элементов
    Возврат Данные.Количество();

КонецФункции

&НаСервереБезКонтекста
Функция ОбработатьЭлемент(ДанныеЭлемента)

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

    // Обработка

    СпрОбъект.ОбменДанными.Загрузка = Истина;
    СпрОбъект.Записать();

КонецФункции

&НаСервереБезКонтекста
Функция ОбработатьПорциюНаСервере(Начало, Конец, АдресДанных)

    Данные = ПолучитьИзВременногоХранилища(АдресДанных);

    Для Счетчик = Начало -  1  По Конец -  1  Цикл

        ОбработатьЭлемент(Данные[Счетчик]);

    КонецЦикла;

КонецФункции

&НаКлиенте
Процедура ВыполнитьОбработку(Команда)

    Количество      = ИнициализацияОбработкиСервер();
    РазмерШага      =  10 ;
    КоличествоШагов = Цел(Количество / РазмерШага);
    КоличествоЦел   = КоличествоШагов * РазмерШага;

    Если КоличествоЦел < Количество Тогда
        Элементы.Индикатор.МаксимальноеЗначение = КоличествоШагов +  1 ;
    Иначе
        Элементы.Индикатор.МаксимальноеЗначение = КоличествоШагов;
    КонецЕсли;

    Для Счетчик =  1  По КоличествоШагов Цикл

        ОбработатьПорциюНаСервере(РазмерШага * (Счетчик -  1 ) +  1 , РазмерШага * Счетчик, АдресДанных);
        Индикатор = Счетчик;
        ОбработкаПрерыванияПользователя();

    КонецЦикла;

    Если КоличествоЦел < Количество Тогда

        ОбработатьПорциюНаСервере(КоличествоШагов * РазмерШага +  1 , Количество, АдресДанных);
        Индикатор = Индикатор +  1 ;

    КонецЕсли;

КонецПроцедуры
by http://infostart.ru/public/76309/
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Управляемое приложение 8.2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]