7.7 тис тормозит при интенсивной работе.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем sergey484, 12 май 2011.

  1. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Если не трудно какой-нить примерчик, а дальше сам допру...
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вот приблизительный код:
    Код:
    //Режим = 1 начали формирование отчета
    //Режим = 0 закончили формирование отчета
    //ИмяОтчета - имя (через контекст не добраться)
    Процедура РегистрацияОбработки(Режим=0,ИмяОтчета) Экспорт
    Т=СоздатьОбъект("Текст");
    ИмяЖР=КаталогИБ()+"SYSLOG\ЖурналОбработок.txt";  
    
    Если ФС.СуществуетФайл(ИмяЖР)=1 Тогда
    Т.Открыть(ИмяЖР);
    КонецЕсли;
    
    Стр=""+Режим+"/"+ИмяОтчета+"/"+ИмяПользователя()+"/"+ТекущаяДата()+"/"+ТекущееВремя();
    
    Т.ДобавитьСтроку(Стр);
    Т.Записать(ИмяЖР);
    КонецПроцедуры
    
    
    
    
    
    Пример вызова
    Код:
    Процедура сформировать()
    РегистрацияОбработки(1,"ИмяТекущегоОтчета");
    //тут формируется отчет
    РегистрацияОбработки(0,"ИмяТекущегоОтчета");
    КонецПроцедуры
    
    
    
    
    
    Единственное НО... с CITRIX будут проблемы в текущем варианте.... Т.к. ЛОКАЛЬНО каталог БД не виден. Это нужно исправить самому
  3. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Большое спасибо за участие, напишу логирование, буду смотреть...
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    По поводу CITRIX - скорее всего придется расшаривать общий ресурс (не собирать же потом локальные части со всех компов).
  5. SirStefan
    Offline

    SirStefan Опытный в 1С

    Регистрация:
    20 апр 2010
    Сообщения:
    79
    Симпатии:
    0
    Баллы:
    26
    А проблем не будет при записи в лог, если двое запустять отчет одновременно?
  6. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Да, пересечение возможно....

    У меня вот какой вопрос, кто-нибудь использует TerminalSleep.dll в 1с и Citrix?
    Потому что сейчас был "висяк" при проведении документа, по всей видимости TerminalSleep не сработал...
    1 пользователь грузил процессор...
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Нет - не будет. Ну слишком уж мала вероятность. К тому же файл не блокируется и время обработки - милисекунды.

    Да, но только у одного из клиентов. Комплексная.
    ГБ/5 бухов/3 оператора/отдел кадров/расчетная группа. Претензий нет.
  8. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Сегодня в течении дня зависания были несколько раз, каждый раз опросил пользователей на предмет кто что делал...
    Выяснилось что 4 из 12 пользователей занимались изменение цен номенклатуры...
    изменение цен номенклатуры выполняют через обработку, в которой с помощью отбора можно установить как конкретную номенклатуру, так и группу в целом....
    обработка обходит выборку справочника, по каждому элементу справочника получает список цен, и устанавливает цену для нужного типа...
    все это делается без запросов...

    Это каким-то образом может влиять на работу пользователей с подбором номенклатуры из докумунта...
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Разумеется. Особенно если номенклатурный перечень большой и код "кривоват".
  10. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Говорят, эта обработка писалась еще 4 года назад, когда в базе работало 3 человека, да и объем выписываемых документов в базе был гораздо меньше...
    На сегодня закоментил код который отвечает за отображение цен в подборе, буду наблюдать...
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Отображение можно было отключить на самой форме без вмешательство в код.
    По поводу обработки - выкладывайте для ознакомления
  12. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Имеете ввиду галку "Остатки и цены в колонке"? Им остатки нужны 100%

    Вложения:

    • 1.ert
      Размер файла:
      190 КБ
      Просмотров:
      14
  13. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Возможно ускорить в несколько раз.... Простое использование транзакции уже даст ускорение
    Ну и алгоритм я бы переделал напроч. Все конструкции Попытка там не нужны (достаточно условий).
  14. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Я уже занялся, этим... первое что передлал, это выборку элементов по которым будут проходить изменения, сделал через запрос.
    На выходе запроса такая табличка
    Номенклатура|ТипЦены|Цена|Единица

    На какие моменты еще обратить внимания?
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    НачатьТранзакцию()
    ЗафиксироватьТранзакцию()
    + нужно смотреть как вы организовали запрос....
  16. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Код:
    
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(s)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Владелец = Справочник.Цены.Владелец;
    |Единица = Справочник.Цены.Единица;
    |ТипЦен = Справочник.Цены.ТипЦен;
    |Цена = Справочник.Цены.Цена;
    |Группировка Владелец без групп;
    |Условие(ТипЦен=ТЦ);
    |Условие(Владелец в (СТ));
    |"//}}ЗАПРОС;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    СпрЦены.ИспользоватьДату(ТекущаяДата());
    Пока Запрос.Группировка(1) = 1 Цикл
    рез=Запрос.Цена+(2*Запрос.Цена)/100;
    спрЦены.ИспользоватьВладельца(Запрос.Владелец);  
    спрЦены.ВыбратьЭлементы();
    спрЦены.НайтиПоРеквизиту("ТипЦен",Запрос.ТипЦен,0);
    СпрЦены.Цена=рез;         
    СпрЦены.Записать();
    КонецЦикла;       
    
    
    
    
    Вот что накидал...
    увеличение цены на 2%
  17. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    НачатьТранзакцию();
    СпрЦены.ИспользоватьДату(ТекущаяДата());    
    Пока Запрос.Группировка(1) = 1 Цикл        
    рез=Запрос.Цена+(2*Запрос.Цена)/100;        
    спрЦены.ИспользоватьВладельца(Запрос.Владелец);          
    //спрЦены.ВыбратьЭлементы();        
    Если спрЦены.НайтиПоРеквизиту("ТипЦен",ТЦ,0)=1 Тогда
    СпрЦены.Цена=рез;                 
    СпрЦены.Записать();    
    КонецЕсли;
    КонецЦикла;        
    ЗафиксироватьТранзакцию();
    
    
    
  18. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Спасибо за помощь. Переделаю обработку, буду наблюдать....
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Отпишитесь по результатам....
  20. TopicStarter Overlay
    sergey484
    Offline

    sergey484 Опытный в 1С

    Регистрация:
    14 авг 2007
    Сообщения:
    165
    Симпатии:
    0
    Баллы:
    26
    Проявлялось вчера, до того как изменил обработку изменения цен. Жаловались на то что при нажатии кнопки "ок" (переноса выбранной номенклатуры в документ)
    Сегодня опять проявилось, в момент переноса данных из подбора в документ...
    Последнее изменение цен было за 10 минут до зависания...

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