Имя: Пароль:
1C
1С v8
Отправка писем из 1с БП
0 Eskeych
 
26.04.22
12:08
Привет, столкнулся с проблемой при отправке письма. Выбираю счет покупателю нажимаю на кнопочку отправки по почте, дальше выбираю печатную форму и жду секунд 20-25 пока откроется окно отправки сообщения для выбора получателя и тд. В чем может быть проблема такого долгого открытия формы отправки сообщения
1 Eskeych
 
26.04.22
12:08
(0) Кеш почистил не помогло
2 Ryzeman
 
26.04.22
12:11
Попробуй провести замер производительности.
3 Kassern
 
26.04.22
12:14
(0) Конфигуратор вам в помощь с отладкой, увидите место где у вас зависает, а далее уже будет проще разобраться
4 Eskeych
 
26.04.22
12:16
(3) (2) на сервере нет отладки :(
5 Kassern
 
26.04.22
12:18
(4) а в чем проблема ее включить? Для замера производительности вроде не обязательно дебаг прописывать
6 Фрэнки
 
26.04.22
12:22
(5) отправки, если они нормально работают, происходят в заданиях. Без дебага они с сервера не зацепятся. Хотя, как именно сделано в почте 1С БП - не смотрел. Смотрел в ЗУП :-)
7 Ryzeman
 
26.04.22
12:23
(6) Так у него не отправка тормозит, а действия перед отправкой
8 Eskeych
 
26.04.22
12:24
(5) Сделал замер. зависает на 14 сек. при вызове

ПараметрыПисьма = ОтправкаПочтовыхСообщенийВызовСервера.ПараметрыЭлектронногоПисьма(ОписаниеКоманд,
            ЕстьОшибки, ДополнительныеПараметры);
9 Eskeych
 
26.04.22
12:25
https://wampi.ru/image/RufJDfE Ссылка на скрин
10 Kassern
 
26.04.22
12:25
(6) в УТ рассылки регламентом отправляются, так же есть регламент для документов электронное письмо исходящее. А вот если из печатной формы/отчета жмякается кнопка отправить на почту, тогда без регламента, сразу отправляется
11 Kassern
 
26.04.22
12:26
(8) а если перейти в этот модуль ОтправкаПочтовыхСообщенийВызовСервера и посмотреть, что там столько времени скушало?
12 Ryzeman
 
26.04.22
12:27
(8) Заходишь в неё и смотришь что там долго выполнялось. Если это ещё одна процедура - заходишь в неё и так до победного, пока не наткнёшься на тормозной запрос, http-запрос или передачу контекста.
13 Eskeych
 
26.04.22
12:32
(11) там время не расписывает. может из-за того что на выполняется на сервере? На 2 замер сожрал больше времени  20 сек

ПечатныеФормы = Новый Массив;
    
    Для Каждого ОписаниеКоманды Из ОписаниеКоманд Цикл
        
        Если ЗначениеЗаполнено(ОписаниеКоманды.Обработчик) Тогда
            ИмяОбработчика = ОписаниеКоманды.Обработчик;
            Обработчик = ИмяОбработчика + "(ОписаниеКоманды, ЕстьОшибки)";
            ПечатныеФормыОбъекта = Вычислить(Обработчик);
        ИначеЕсли ОписаниеКоманды.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда
            ПечатныеФормыОбъекта = ОтправкаПочтовыхСообщений.ПечатныеФормыИзВнешнегоИсточника(ОписаниеКоманды);
        Иначе
            ПечатныеФормыОбъекта = ОтправкаПочтовыхСообщений.ПечатныеФормы(ОписаниеКоманды);
        КонецЕсли;
        
        Если ПечатныеФормыОбъекта <> Неопределено Тогда
            ПечатныеФормы.Добавить(ПечатныеФормыОбъекта);
        КонецЕсли;
        
    КонецЦикла;
    
    ПараметрыПисьма = ОтправкаПочтовыхСообщений.ПараметрыЭлектронногоПисьма(ПечатныеФормы, ОписаниеКоманды.МенеджерПечати,
        ДополнительныеПараметры);
    
    Возврат ПараметрыПисьма;
Код процедуры которая зависает на долго
14 Eskeych
 
26.04.22
12:33
(12) видимо этот цикл в (13) больше нечему
15 Ryzeman
 
26.04.22
12:37
(14) так не гадать надо) Пока открыто окно замера, у тебя в конфигураторе слева от каждой строки цифры в миллисекундах сколько каждая строка выполнялась.
16 Eskeych
 
26.04.22
12:40
(15) да я понял ) вот ссылка https://wampi.ru/image/RufrbgE но в этой процедуре цикл в котором перебор описаний команд выше его отправил (13)
17 Kigo_Kigo
 
26.04.22
13:27
(16) Отладка - подключение - Автоматическое подключение, поставь галку- фоновые задания, сделай замер еще раз
18 antoxin_k
 
05.05.22
11:05
Имею такую же в точности проблему. Подскажите, решение не нашлось?