БП по событию сохранения нового письма

Добрый день!

Как стартовать (и можно ли вообще) БП при получении нового емейла? На событии AfterPost датасета мейла похоже ничего не работает. Не совсем понимаю как работает синхронизация с аутлуком, поэтому не знаю куда копать.

Жду помощи.

Нравится

9 комментариев

Добавление писем выполняется посредством isq_MailMessage.
Чтобы решить Вашу задачу обратите внимание на скрипт scr_MSOutlookLibrary, а именно функцию function SaveMailItem(MailItem, Options).

В какой момент выполняется эта функция? И куда код лучше там вставить? Вставлял после кода:

try {
		if (!IsDatasetEmpty(ContentDataset)) {
			ContentDataset.Edit();
			if (ContentField) {
				ContentField.LoadFromFile(FileName);
				ContentDataset.Post();
			}
		}
	} finally {
		ContentDataset.Close();
		ApplyDatasetIDFilter(ContentDataset, null, false);
	}

и в конец функции, но мой код не выполняется.
Вот, что вставлял (тестовый код):

var TaskDataset = Services.GetNewItemByUSI('ds_Territory');
	TaskDataset.Open();
	TaskDataset.Append();
	TaskDataset('Name') = 'TestTestTestTest';
	TaskDataset.Post();
	TaskDataset.Close();

Для реального кода нужно получить ID письма, я думаю это MessageID

Попробуйте прописать логику после строки

var MessageID = SaveMailItemToDatabase(MailItem, Options.IsReceiving);

Для проверки поставила отладчик, он отрабатывает при интеграции письма в систему.

А когда вообще срабатывает это событие, не на открытие грида мэйлов?

Отрабатывает при интеграции писем в Terrasoft.

Я имел ввиду в какой момент происходит интеграция писем в Terrasoft

Интеграция происходит в двух случаях:
- вручную: при вызове команды интеграции в MS Outlook;
Здесь отрабатывает логика конфигурации.
- автоматически: при установленном свойстве "Автопривязка сообщений".
MS Outlook отправляет сообщение ядру, ядро его принимает и вызывает процедуру конфигурации.

Добрый день!

А из-за чего может не обновляться этот скрипт? Т.е. я изменил скрипт, но при выполнении выполняется старая версия, будто и не изменял ничего.

Очистите Cache, если не поможет, нужно проверять с отладчиком.

Показать все комментарии