8.х Проблема с элементом "индикатор"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alex_fess, 26 ноя 2013.

  1. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Платформа 1С:Предприятие 8.2 (8.2.18.109)
    Конфигурация Управление торговлей 10.3.24.1

    Собственно проблема: После продолжительной обработки данных сама 1с подвисает и собственно индикатор застывает на определенном этапе ( на каждом ПК останавливается на разных показателях процентов)
    Операции обработки:
    1. Загрузка Excel-файла - индикация проходит нормально.
    2. Обработка загруженных данных таблицы - индикация тормозится. ( на ПК1 где-то 20%, на ПК2 где-то 30% )

    И вопрос: Каким образом избежать подвисания индикатора?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Мощьный комп, а лучше сервер, а лучше логирование....
  3. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Мощный комп не помогает. (Win2008R2, i7 3.2GHz, 16GB оперативы, твердотельный жесткий)
    Что значит логирование?
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Писать в обработке лог, чтобы знать, на чем отваливается, да и так, для наглядности:)

    И чтобы больше ничего не "подвисало", можете использовать отладчик, и смотреть, какие данные "вешают" систему.
  5. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Наверное неправильно выразился. Обработка заканчивает работать, т.е. 1С не зависает полностью, а именно подвисает. В определенный момент 1С перестает отвечать, но продолжает работать, но индикатор уже не показывает прогресс выполнения
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Наверно я тоже не правильно выразился, скорее всего нужно ставить точку остановки и смотреть в табло, что там происходит.
  7. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    Пробовал. Все равно 1с в подвешенном состоянии остается и не "отвисает" при продолжении.
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Объем загружаемых данных привышает "предыдущие" загрузки ? Попробуйте разделить файл на несколько частей. Кстати, картинки случаем не грузите ?
  9. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    может криво обработка данных написана.. бесконечный цикл например.

    или какой-нибудь запрос в цикле..

    надо отладчиком смотреть где косяк.
  10. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    На счет первого вопроса попробую, может как раз решение в этом, отпишусь по результатам. По поводу второго вопроса, я так полагаю имеете в виду разделить весь процесс на несколько. После этого решается моя проблема с подвисанием индикатора, но для этого придется запускать каждый процесс по отдельной кнопке. А пользующиеся этим люди слегка туповаты) Картинку обязательно загружу, только несколько позже. Но сразу предупрежу от нее толку мало.

    Нет. Обработку я подчищал и подправлял до посинения. Лишних операций там нет. Позже кусок кода наверное пришлю, может все ж я где и лажанулся.
    Проблема в том что 1С перестает отвечать не на каком-то конкретном цикле,а случайно. Но когда процедура доходит до конца окно отвисает и я вижу, что индикатор заполнен на 100%.
  11. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Надо код смотреть обработки. Выкладывайте.
  12. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    терминальный сервер? может быть тогда не 1С виновата, а прорисовка окна в терминальной сессии?
  13. TopicStarter Overlay
    Alex_fess
    Offline

    Alex_fess Опытный в 1С

    Регистрация:
    23 мар 2011
    Сообщения:
    256
    Симпатии:
    7
    Баллы:
    29
    1. Загружается Excel через OpenOffice. Все нормально
    2. При обработке таблицы (ниже код) все это дело уже начинает стопориться.
    Код:
     Структура=Новый Структура;
    Структура.Вставить("Оригинал",Наименование);
    Структура=УбратьКоличество(Структура,Наименование);
    Структура=РазделитьСлова(Структура);
    Стр.КолУп=Структура.Количество;
    
    Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    | Номенклатура.Ссылка
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    // | Номенклатура.Артикул = &Артикул
    |  Номенклатура.Наименование = &Наименование";
    //Запрос.УстановитьПараметр("Артикул",СокрЛП(Артикул));
    Запрос.УстановитьПараметр("Наименование",СокрЛП(Наименование));
    Рез=Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
    КонецЦикла;
    Если ЗначениеЗаполнено(Рез.Ссылка) Тогда
    Возврат Рез.Ссылка; 
    КонецЕсли;
    
    Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    | Номенклатура.Ссылка
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    | Номенклатура.Наименование ПОДОБНО "+Символ(34)+"%"+Структура.Артикул+"%"+Символ(34);
    //Запрос.УстановитьПараметр("Наименование", Структура.Артикул);
    Рез=Запрос.Выполнить().Выбрать();
    Пока Рез.Следующий() Цикл
    КонецЦИкла;
    Возврат Рез.Ссылка;
    
    [​IMG]

    И вот на 2-х процентах 1с не отвечает. На разных ПК останавливается на разных местах.


    База работает локально.
  14. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    А где сдвиг индикатора?
    Покажите полный код.
    Зависание может происходить на запросе с подобно, тем более я так понимаю, что он в цикле.

    Кроме того еще мне не нравится позиционирование в выборке: зачем перебирать всю выборку? Достаточно позиционироваться на первом элементе:
    Код:
    Если Рез.Следующий() Тогда
    ...
    КонецЕсли;

Поделиться этой страницей