Письма из 1с не сохраняются на почте

Обновлено: 07.07.2024

Почта "1С:Документооборота"

Как разобраться в ошибке

Типичная проблема – перестают приниматься письма в каком-то почтовом ящике (или с самого начала не принимаются).

Для поиска причины рекомендуем проверить следующие данные:

  1. В форме Потоки доставки почты - что рассматриваемая учетная запись отнесена к какому-то потоку приемки, пусть 1. Также в этой форме на первой закладке красным цветом выделен поток, который не работает более 30 минут. Скорее всего, именно в этом причина ошибки.
  2. Убедиться, что работает регламентное задание ПриемОтправкаПочты N , где N – номер потока.
  3. Если выяснилось, что "зависло" регламентное задание ПриемОтправкаПочты N :
    • В форме Потоки доставки почты необходимо выполнить команду Поменять поток - для всех учетных записей этого потока указать новый поток, скажем 3 .
    • Если это не помогло (поток 3 начал работать и тут же снова "завис"), необходимо найти "поврежденное" письмо. Для этого в форме Протокол доставки почты необходимо поставить отбор по номеру потока, найти последнюю запись. Скорее всего, это получение писем какой-то учетной записи. Это и есть учетная запись с "поврежденным" письмом. Временно можно перенести на другой поток все учетные записи, кроме этой.

Рассмотрим подробнее как найти "поврежденное" письмо.

Важно: если были зафиксированы случаи зависания регламентных заданий приема почты, то в настройках программы (раздел Почта ) рекомендуется отключить настройку Получать текст из HTML писем точно (доступна в "1С:Документообороте" версии 2.0.9 и выше).

Как внести изменения

Иногда на внедрении появляется пожелание изменить внешний вид области чтения в списке писем. Это делается в ВстроеннаяПочтаСервер.ВставитьШапкуПисьмаВТекстHTML

Также пожелания могут касаться отображения вложенных писем. Сейчас они вставляются в тело письма. Изменить отбивку можно в ВстроеннаяПочтаСервер.СформироватьШапкуВложенногоПисьмаПростойТекст .

Сложные алгоритмы

Ниже описаны несколько достаточно сложных алгоритмов в работе почты.

Число писем в папках

Число писем в папках хранится в регистре сведений КоличествоПисемВПапках в разрезе папки и пользователя. При приемке письма или переносе письма в другую папку в регистре очищаются все записи для данной папки. Расчет числа писем ( Всего и Непрочитанных ) выполняется "по требованию" - при открытии или обновлении пользователем формы почты (где в дереве папок видно количество писем в папках) – делается расчет именно для данного пользователя. То есть, например, для общей папки, куда есть доступ у десяти пользователей, после приемки нового письма для всех этих пользователей нет ни одной записи для этой папки. И только при входе в почту, скажем 2 пользователями – только для них и будет сделан расчет. Остальные 8 пользователей, возможно, и не зайдут в почту в ближайшее время (например, они отсутствуют) – и время на расчет для них потрачено не будет.

Прием только непринятых писем

Метаданные

Содержит адресатов (представление и email). Ссылки на них есть например в табличной части писем ПолучателиПисьма, ПолучателиКопий

Содержит группы личных адресатов

Содержит личных адресатов

Папки писем (в иерархии).

Параметры сохраненных поисков писем.

Списки адресов, используемые в правилах обработки писем для правила «Адрес отправителя входит в список» - например для черного или белого списка.

Журнал документов ЭлектроннаяПочта

Таблица, где есть и входящие, и исходящие письма.

Регистр сведений HTMLПредставленияСодержанияПисем

Хранит кешированное представление письма (для более быстрого показа в области просмотра в списке писем)

Регистр сведений АвтоматическиеОтветыПоАдресам

Хранит адреса, на которые уже был дан ответ с помощью правила обработки писем «Ответить текстом» - чтобы не отвечать повторно на тот же адрес.

Регистр сведений ИдентификаторыИмпортированныхПисем

Хранит идентификаторы писем, загруженные командой «Загрузить письма из Microsoft Outlook»

Регистр сведений ИдентификаторыПолученныхПисем

Хранит идентификаторы писем, полученных по внешней маршрутизации – чтобы не получать повторно ранее полученные письма.

Регистр сведений ИдентификаторыПочтовыхВложений

Хранит идентификаторы вложений-картинок (в теле html письма)

Регистр сведений ИспользованиеАдресатовПользователями

Хранит адресатов, кому были отправлены письма – в разрезе пользователя. Используется при автоподборе адресата – чтобы показывать сверху последних адресатов.

Регистр сведений ИспользованиеПочты

Хранит персональные настройки использования встроенной и легкой почты

Регистр сведений КоличествоПисемВПапках

Регистр сведений НастройкиОтложеннойОтправкиПисем

Настройки отложенной отправки писем в разрезе пользователя.

Регистр сведений НеотправленныеИсходящиеПисьма

Хранит идентификаторы писем, которые не удалось получить.

Регистр сведений ПапкиПисемБыстрогоДоступа

Ссылки на папки, показываемые в режиме «Мои папки»- в разрезе пользователя.

Регистр сведений ПапкиПисемТекущихДел

Папки писем, показываемые в форме «Текущие дела» - в разрезе пользователя.

Регистр сведений ПапкиПисемЧастоИспользуемые

Папки писем, отображаемые в режиме «Компактный».

Регистр сведений ПапкиУчетныхЗаписей

Регистр сведений ПромежуточныеРезультатыПоискаПисем

Хранит результаты поиска писем по реквизитам.

Регистр сведений СведенияОбАдресатах

Содержит связь между адресатом и контактом (например пользователем, корреспондентом)

Регистр сведений СостоянияУчетныхЗаписей

Хранит текущий статус учетной записи в разрезе операции (например соединения с сервером).

Все метаданные почты отнесены к подсистеме Встроенная почта ( Стандартные подсистемы Документооборота/ Встроенная почта ) - удобно отфильтровать по ней в конфигураторе.

При работе с почтой разделяют два способа доступа к почтовому ящику, почтовому клиенту:

объект "Почта" и объект "Интернет почта", каждый из объектов имеет свои достоинства.

Почта - предоставляет доступ к почте через встроенный почтовый клиент, работает по технологии MAPI.

Интернет почта - объект открывает возможности по доступу непосредственно к почтовым ящикам и учетным записям находящимися на почтовом сервере, использование и работа данного объекта не зависит от установленных в системе почтовых клиентов, даже если почтовый клиент установлен в системе "ИнтернетПочта" будет работать параллельно с ним, объект использует интернет-протоколы SMTP, POP3.

Для работы с объектом Почта необходимо наличие установленного на компьютере почтового клиента с описанными учетными записями.

Для подключения к почтовому клиенту у объекта есть метод "Подключиться".
Код 1C v 8.х

Первый параметр - имя профиля, к примеру, если в системе установлен MS Outlook, то как правило его профиль называется Outlook. Следовательно при подключении строка выглядела бы так:
Код 1C v 8.х

Второй параметр отвечает за пароль к учетной записи.

//Выбираем все письма, со всеми вложениями.
Код 1C v 8.х

(иногда при взаимодействии с Outlook 2003 возникает проблема, при которой 1С 8 просто аварийно завершает работу с ошибкой, именно на данной строке кода, это лечится установкой пакета обновления SP2 для MS Office 2003).

Перед подключением к почтовому серверу, для объекта ИнтернетПочта необходимо заполнить данные Профиля учетной записи, и затем передать эти данные в метод "Подключиться".

При переборе вложений, данные полученные из письма сохраняются в реквизит типа ХранилищеЗначения, заранее созданного справочника "СправочникВложения" в конфигураторе, т.к. данные первоначально сохраняются на диск, а затем загружаются в справочник, то, после загрузки в соответствующий реквизит справочника данные можно удалить. Не рекомендуется хранить данные типа ХранилищеЗначения в Табличных частях справочников, т.к. при больших объемах данных это затормаживает работу конфигурации.

Удобно подключить автополучение/автоотправку почты командой "ПодключитьОбработчикОжидания(,)". Первый параметр в команде отвечает за наименование вызываемой процедуры, и второй, период ожидания процедуры в секундах, обычно обработчик ожидания вставляется в глобальный модуль системы (например, в процедуру ПриНачалеРаботыСистемы()) и указывает на процедуру с пометкой Экспорт.

Например, можно создать процедуру ПроверитьПочту, в которую вставить загрузку писем из почтового ящика и вставить ее в следующую строку:

После использования нескольких или сразу всех способов работы с электронной почтой, образуется полноценный почтовый клиент с возможностью хранения и обработки писем с вложениями на базе 1С предприятие 8.0.

При работе с почтой разделяют два способа доступа к почтовому ящику, почтовому клиенту:

объект "Почта" и объект "Интернет почта", каждый из объектов имеет свои достоинства.

Почта - предоставляет доступ к почте через встроенный почтовый клиент, работает по технологии MAPI.

Интернет почта - объект открывает возможности по доступу непосредственно к почтовым ящикам и учетным записям находящимися на почтовом сервере, использование и работа данного объекта не зависит от установленных в системе почтовых клиентов, даже если почтовый клиент установлен в системе "ИнтернетПочта" будет работать параллельно с ним, объект использует интернет-протоколы SMTP, POP3.

Для работы с объектом Почта необходимо наличие установленного на компьютере почтового клиента с описанными учетными записями.

Для подключения к почтовому клиенту у объекта есть метод "Подключиться".
Код 1C v 8.х

Первый параметр - имя профиля, к примеру, если в системе установлен MS Outlook, то как правило его профиль называется Outlook. Следовательно при подключении строка выглядела бы так:
Код 1C v 8.х

Второй параметр отвечает за пароль к учетной записи.

//Выбираем все письма, со всеми вложениями.
Код 1C v 8.х

(иногда при взаимодействии с Outlook 2003 возникает проблема, при которой 1С 8 просто аварийно завершает работу с ошибкой, именно на данной строке кода, это лечится установкой пакета обновления SP2 для MS Office 2003).

Перед подключением к почтовому серверу, для объекта ИнтернетПочта необходимо заполнить данные Профиля учетной записи, и затем передать эти данные в метод "Подключиться".

При переборе вложений, данные полученные из письма сохраняются в реквизит типа ХранилищеЗначения, заранее созданного справочника "СправочникВложения" в конфигураторе, т.к. данные первоначально сохраняются на диск, а затем загружаются в справочник, то, после загрузки в соответствующий реквизит справочника данные можно удалить. Не рекомендуется хранить данные типа ХранилищеЗначения в Табличных частях справочников, т.к. при больших объемах данных это затормаживает работу конфигурации.

Удобно подключить автополучение/автоотправку почты командой "ПодключитьОбработчикОжидания(,)". Первый параметр в команде отвечает за наименование вызываемой процедуры, и второй, период ожидания процедуры в секундах, обычно обработчик ожидания вставляется в глобальный модуль системы (например, в процедуру ПриНачалеРаботыСистемы()) и указывает на процедуру с пометкой Экспорт.

Например, можно создать процедуру ПроверитьПочту, в которую вставить загрузку писем из почтового ящика и вставить ее в следующую строку:

После использования нескольких или сразу всех способов работы с электронной почтой, образуется полноценный почтовый клиент с возможностью хранения и обработки писем с вложениями на базе 1С предприятие 8.0.

При работе с почтой разделяют два способа доступа к почтовому ящику, почтовому клиенту:

объект "Почта" и объект "Интернет почта", каждый из объектов имеет свои достоинства.

Почта - предоставляет доступ к почте через встроенный почтовый клиент, работает по технологии MAPI.

Интернет почта - объект открывает возможности по доступу непосредственно к почтовым ящикам и учетным записям находящимися на почтовом сервере, использование и работа данного объекта не зависит от установленных в системе почтовых клиентов, даже если почтовый клиент установлен в системе "ИнтернетПочта" будет работать параллельно с ним, объект использует интернет-протоколы SMTP, POP3.

Для работы с объектом Почта необходимо наличие установленного на компьютере почтового клиента с описанными учетными записями.

Для подключения к почтовому клиенту у объекта есть метод "Подключиться".
Код 1C v 8.х

Первый параметр - имя профиля, к примеру, если в системе установлен MS Outlook, то как правило его профиль называется Outlook. Следовательно при подключении строка выглядела бы так:
Код 1C v 8.х

Второй параметр отвечает за пароль к учетной записи.

//Выбираем все письма, со всеми вложениями.
Код 1C v 8.х

(иногда при взаимодействии с Outlook 2003 возникает проблема, при которой 1С 8 просто аварийно завершает работу с ошибкой, именно на данной строке кода, это лечится установкой пакета обновления SP2 для MS Office 2003).

Перед подключением к почтовому серверу, для объекта ИнтернетПочта необходимо заполнить данные Профиля учетной записи, и затем передать эти данные в метод "Подключиться".

При переборе вложений, данные полученные из письма сохраняются в реквизит типа ХранилищеЗначения, заранее созданного справочника "СправочникВложения" в конфигураторе, т.к. данные первоначально сохраняются на диск, а затем загружаются в справочник, то, после загрузки в соответствующий реквизит справочника данные можно удалить. Не рекомендуется хранить данные типа ХранилищеЗначения в Табличных частях справочников, т.к. при больших объемах данных это затормаживает работу конфигурации.

Удобно подключить автополучение/автоотправку почты командой "ПодключитьОбработчикОжидания(,)". Первый параметр в команде отвечает за наименование вызываемой процедуры, и второй, период ожидания процедуры в секундах, обычно обработчик ожидания вставляется в глобальный модуль системы (например, в процедуру ПриНачалеРаботыСистемы()) и указывает на процедуру с пометкой Экспорт.

Например, можно создать процедуру ПроверитьПочту, в которую вставить загрузку писем из почтового ящика и вставить ее в следующую строку:

После использования нескольких или сразу всех способов работы с электронной почтой, образуется полноценный почтовый клиент с возможностью хранения и обработки писем с вложениями на базе 1С предприятие 8.0.

Читайте также: