Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом

Публикация № 906551 21.09.18

Учетные задачи - Печатные формы

письмо почта Outlook Thunderbird Mozilla почтовый клиент локальный RDP remote отправка удаленный

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

Оглавление

1. Введение и описание задачи

2. Основные сложности

3. Решение

3.1 Структура

3.2 Варианты развертывания

3.3 Компоненты

4. Компоненты решения и порядок внедрения

4.1 Почтовый брокер

4.2 Дополнительные объекты к конфигурации 1С

4.3 Описание доработки типовых конфигураций

4.3.1 Доработка конфигураций УТ 10.3, УПП 1.3, КА 1.1, и других, основанных на данном семействе.

4.3.2 Доработка конфигурации БП 2.0, и других на ее основе.

4.3.3 Нюансы

4.4 Формат промежуточных файлов

Заключение

1. Введение и описание задачи

Несмотря на активное развитие управляемых конфигураций 1С, которые могут эффективно работать практически на любом клиентском компьютере, все еще актуальным является развертывание конфигураций на обычных или управляемых формах на Windows Server в режиме удаленных рабочих столов (RDP) или remote-app. В ряде случаев это оправдано технически, экономически, по соображениям безопасности, и уклониться от такого варианта развертывания нельзя.

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

Зачастую, у пользователя, который не всю свою жизнь проживает в 1С, установлен локальный почтовый клиент (мейлер) типа Outlook, Thunderbird, The Bat! и т.п., в котором находится значимый архив почты. В рамках этой публикации мы рассматриваем ситуацию развертывания 1С на сервере рабочих столов, и эксплуатации локального почтового клиента непосредственно на компьютерах пользователей.

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

2. Сложности

К сожалению, почтовый клиент находится на локальном компьютере, а 1С клиент - на удаленном, и прямого способа передать файл-вложение с печатной формой на почтовый клиент не существует. Приходится сохранять вложение в PDF (XLS), перебрасывать его каким-либо способом с удаленного рабочего стола на локальный, и вкладывать в создаваемое на локальном компьютере письмо. Что крайне трудозатратно, и при сколь-нибудь значимом объеме отправляемых документов (например, счетов, менеджером по продажам), начинает отнимать почти все рабочее время.

Можно конечно воспользоваться штатными возможностями конфигурации 1С по отправке почты, но и этот способ имеет следующие недостатки.

  • письма сохраняются как документы, а их вложения - в хранилища значений, непосредственно в информационную базу, что, со временем приводит к ее разрастанию (крайне критично для файловых баз); как без доработок сделать отправку писем без их сохранения в журнал, лично я не знаю;
  • архив локального почтового клиента не содержит в папке "Отправленные" писем, отправленных таким образом; можно организовать отправку на собственный же адрес копий писем, но эти письма будут изначально попадать во "Входящие"; а если и для пересортировки таких писем настроить специальный фильтр, то трудозатраты по сопровождению этого решения на рабочем месте каждого менеджера становятся слишком велики;
  • платформа 8.2, которой некоторые еще пользуются для УТ/УПП/КА, не позволяет напрямую работать с защищенными версиями почтовых протоколов, на которые перешли почти все почтовые хостеры;
  • зачастую, по соображениям безопасности, серверу удаленных рабочих столов вообще запрещен выход в интернет, включая почтовые протоколы;
  • пользователи лишены привычного интерфейса локального почтового клиента;
  • приходится дублировать и сопровождать настройки учетных записей электронной почты не только на локальных почтовых клиентах, но и в 1С.

Иногда, даже несмотря на то, что клиент 1С развернут на локальном компьютере, т.е. "рядом" с почтовым клиентом, пользователь предпочел бы отправлять письма именно через почтовый клиент. И хотя возможность включить внешний почтовый клиент присутствует в оговоренных в описании публикации типовых конфигурациях (Комплексная автоматизация 1.1, Управление производственным предприятием 1.3, Управление торговлей 10.3), без доработок печатные формы через него не отправляются. Данное решение подходит и для этого варианта развертывания тоже.

3. Решение

3.1 Структура

Для решения задачи и устранения вышеозначенной проблемы была разработана следующая схема:

В конфигурацию 1С вносятся дополнительные объекты (1 новая обработка, 1 константа, 1 роль и 1 подсистема), составляющие "наш" механизм отправки почты, а также точечные изменения в общие модули конфигурации (одно для конфигураций УТ 10 / КА 1.1 / УПП 1.3), которые перехватывают данные, направляемые из диалога печати штатному механизму отправки почты, и делегируют их нашему механизму.

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

На каждом клиентском компьютере действует специально разработанное приложение - "Почтовый брокер", которое периодически опрашивает папку, получает оттуда промежуточные файлы именно для данного пользователя (соответствующие определенному шаблону имени файла) передают их почтовому клиенту (в настоящее время поддерживаются MS Outlook и Mozilla Thunderbird), который открывает для интерактивного редактирования сформированное сообщение со всеми вложениями. Промежуточный файл после этого удаляется.

Пользователь редактирует сообщение и отправляет его (либо отказывается от отправки). Если сообщение отправлено, оно поступает в архив папки "Отправленные" почтового клиента, и ничем не отличается от иных сообщений, отправленных пользователем без участия 1С.

Интервал опроса, каталог обмена и шаблон имен файлов с письмами, предназначающихся именно для данного экземпляра брокера, настраиваются в почтовом брокере.

Указанная схема представлена, для наглядности, на рисунке, в одном из вариантов развертывания.

Схема

3.2 Варианты развертывания

Ключевым моментом в развертывании системы является определение общей папки, куда будут складываться данные сообщения. Здесь предлагается несколько вариантов:

1. (Как на рисунке) Общая папка находится на сервере терминалов (RDP), или на каком-либо другом сервере (хоть даже на примитивной виртуальной машине на базе linux с самоочищающейся общей папкой на samba), и доступна всем клиентам равноправно. Каждый клиентский брокер ссылается через сеть Microsoft на нее. Файлы создаются с шаблоном <Имя пользователя 1С>-<уникальный код письма>.xml, и подхватываются брокерами по шаблонам вида "<Имя пользователя 1С>-*.xml".

2. Общая папка находится на каждом клиенте в одном и том же месте (т.е. по одинаковому пути), и прописана на стороне 1С через ссылку на tsclient (например, \\tsclient\c\mail1c), если на удаленную машину можно пробросить диски. Почтовые брокеры каждого клиента настроены на одну и ту же папку (c:\mail1c), только эта папка у каждого клиента своя.

3. Клиент 1С находится на одном компьютере с брокером и почтовым клиентом (т.е. все на локальном компьютере, или все в терминале), и работает через временную папку. И все это просто потому, что пользователь желает отправлять печатные формы из 1С через почтовый клиент.

4. Любой другой, или какой-либо промежуточный вариант на усмотрение внедренца, тем более, что логику формирования имен промежуточных файлов можно переделать на свое усмотрение.

5. Вариант, когда промежуточные файлы вообще создаются не клиентом 1С, а каким-либо другим программным продуктом.

3.3 Компоненты

Таким образом, предлагаемое решение содержит:

  • приложение почтового брокера;
  • дополнительные объекты к конфигурации 1С, необходимые для формирования промежуточных файлов; указанные объекты можно доработать на свое усмотрение;
  • описание доработки типовых конфигураций УТ 10.3, УПП 1.3, КА 1.1 для того, чтобы штатная функция отправки вложений почтой использовала обработку, описанную строкой выше.
  • описание формата промежуточных "почтовых" файлов, на случай, если разработчик пожелает генерировать эти файлы каким-либо иным способом (собственным модулем в 1С, вообще иной программой, и т.п.)

Внедрение данного решения, при вариантах №№ 1-3 (указанных выше) занимает не более 30 минут, при возможности монопольного доступа к конфигурации. Ниже представлено описание компонентов и порядок внедрения для варианта №1.

4. Описание компонентов и порядок внедрения

4.1 Почтовый брокер

Почтовый брокер является приложением Win32, разработан на FreePascal с использованием IDE Lazarus. Подтверждена его работа под Windows XP, Vista, а также версий 7, 8, 8.1 и 10, под 32 и 64-битными версиями систем. На данный момент он не подписан доверенным сертификатом, поэтому при его первом запуске у ОС могут появиться вопросы о его "благонадежности". Особенно если это приложение будет запускаться через сеть из общей папки. Разумеется, запуск данного приложения следует разрешить.

Как только дойдут руки, я опубликую исходный код, чтобы его можно было доработать на усмотрение внедренца. Возможно доработать брокер таким образом, чтобы он поддерживал TheBat, иные мейлеры, или даже, полагаю, обращался по API к Web-почтовым клиентам.

Microsoft Outlook запускается брокером через OLE, а Mozilla Thunderbird - через командную строку. При использовании Thunderbird имеется ограничение: если вы отправите из 1С письмо, не закрыв в почтовом клиенте предыдущее, в некоторых версиях Thunderbird окно сообщения не откроется. Это ограничение Thunderbird, я поищу, как его преодолеть.

Порядок внедрения

1. Скачать приложение (mailbroker.exe), доступное по ссылке внизу данной публикации.

2. Скопировать в любую удобную папку на клиентском компьютере, где установлен доступ к RDP для работы с 1С, и локальный почтовый клиент. Специальная процедура установки не требуется.

2. Запустить. Приложение запускается в свернутом режиме, отображая ярлык на панели уведомления (в "трее"). Следует щелкнуть правой кнопкой на этот ярлык и выбрать "Настройки". Откроется окно, представленное на рисунке.

Окно настроек почтового брокера

3. В окне настроек задать следующую информацию:

  • В поле "Маска файлов" указать маску по аналогии с той, что представлена на рисунке. Здесь предполагается, что пользователь ИБ 1С, соответствующий оператору данного компьютера, имеет краткое имя "ПетровПП". Подстановочные знаки ? и * в маске стандартны, и применяются по правилам dos/windows. На другом компьютере, где сидит другой пользователь, эта информация будет иной. Если в информационной базе нет поименованных пользователей (т.е. авторизация не настроена), то в следует использовать маску ПользовательПоУмолчанию*.xml".
  • В поле "Каталог мониторинга" следует выбрать каталог, в который удаленная 1С будет помещать промежуточные файлы с письмами. Ознакомьтесь с вариантами развертывания, которые были упомянуты выше. Каталог должен быть доступен пользователю, запускающему брокер, для записи (чтобы брокер мог удалять файлы, которые он передал почтовому клиенту в виде сообщений).
  • В поле "Интервал опроса" рекомендуется оставить значение в 1с (1000 мс).
  • В поле "Почтовый клиент" следует выбрать используемый и настроенный почтовый клиент.

4. Нажать кнопку "Применить", после чего закрыть окно кнопкой [X] в правом верхнем углу.

5. Провести тестирование, как указано в следующем разделе.

6. После окончания тестирования всей связки, при удовлетворительном результате, прописать данное приложение в автозапуск для данного пользователя, или всех пользователей системы.

Сохраненные настройки хранятся в файле mailbroker.ini каталога AppData\Local текущего пользователя системы.

4.2 Дополнительные объекты к конфигурации 1С

Дополнительные объекты к конфигурации 1С предлагаются в виде самостоятельной компактной конфигурации, которую можно срастить с рабочей конфигурацией через механизм сравнения и объединения. Эту конфигурацию можно запустить и саму по себе, отдельно, для тестирования.

Конфигурация содержит следующие объекты:

Дерево конфигурации

Подсистема "в_ВЭП" объединяет все объекты, представленные на рисунке, кроме обработки "в_ВЭП_ТестОтправкиПочты".

Роль "в_ВЭП_ОтправкаПочты" предоставляет доступ к необходимым объектам, для отправки почты, а также является сигнальной ролью для активации перехваченного кода типовой логики формирования писем, о котором будет сказано в следующем разделе.

Константа "в_ВЭП_Настройки" хранит упакованную структуру с настройками модуля, о которых будет рассказано чуть ниже.

Обработка "в_ВЭП_Брокер" содержит основную логику формирования промежуточных файлов из исходных данных, доступных программисту, и в необходимом формате.

Обработка "в_ВЭП_ТестОтправкиПочты" содержит простейший пример передачи писем локальному почтовому клиенту с использованием данного модуля. Ею можно воспользоваться через меню "Операции - Обработки", если запустить конфигурацию как отдельную информационную базу.

Порядок тестирования

1. Создать пустую информационную базу и загрузить туда конфигурацию. Запустить информационную базу.

2. Через меню "Операции - обработки" открыть обработку "(В) Брокер внешней электронной почты". Будет отображена форма, представленная на рисунке.

Настройки со стороны 1С

В ней следует совершить следующие действия:

  • Флажок "Настройки выполнены (модуль активен)" взвести.
  • В поле "Каталог выгрузки" следует указать тот же каталог, который указывался в разделе, посвященном настройке почтового брокера, но с той поправкой, что сейчас этот каталог указывается со стороны 1С:
    • это может быть локальный каталог здесь, на сервере, но удаленный (сетевой) для брокера;
    • может быть сетевой для обоих сторон (как указано в данном примере);
    • a может быть локальный для каждого брокера (например C:\Mailbox1C на каждом клиентском компьютере), но одинаково выглядящий для 1С (находящемся на сервере RDP) сетевой каталог, описанный через условное имя tsclient. Для данного примера это будет \\tsclient\c\Mailbox1C. Разумеется, в этом случае, на каждом клиентском компьютере должен быть создан такой каталог, что немного некрасиво, но иногда - единственный возможный вариант.
  • Применить указанные настройки, нажав кнопку "Сохранить".

3. Через меню "Операции - обработки" открыть обработку "(В) Тест отправки почты через брокер". Сформировать тестовое сообщение, например так, как показано на рисунке, и убедиться, что в каталоге выгрузки появился файл вида "ПользовательПоУмолчанию-f41452s0-0da3-21a5-b0d1-00ca54b6a431.xml". Уникальное цифробуквенное сочетание будет сгенерировано каждый раз случайно. Если в тестовую конфигурацию был добавлен именованный пользователь, то вместо префикса "ПользовательПоУмолчанию" будет указано краткое имя текущего пользователя. Учтите этот момент при настройке брокера.

Образец тестового сообщения со стороны 1С

4. На стороне брокера, если маска файла настроена с учетом имени текущего пользователя (или его отсутствия, т.е. ПользовательПоУмолчанию-*.xml), в используемом почтовом клиенте будет незамедлительно открыто письмо для интерактивного редактирования.

Образец тестового сообщения со стороны почтового клиента

В случае каких-либо проблем, на панели уведомлений будет выведена описание ошибки, после чего программа прервет опрос каталога на некоторое время (10 секунд), для того, чтобы пользователь мог предпринять меры для устранения ошибки, или закрыть брокер. Затем для неотправленных писем будет предпринята повторная попытка.

Образец ошибки, выводимой в панели уведомлений

Порядок практического внедрения

1. Открыть целевую информационную базу, разблокировать ее конфигурацию для редактирования (включить возможность редактирования с сохранением поддержки, захватить в хранилище корневой узел конфигурации и т.п.)

2. Произвести сравнение и объединение целевой конфигурации с мини-конфигурацией, предлагаемой в данной публикации. Снять флажок с подэлемента "Свойства" корневого дескриптора конфигурации, но оставить флажки на всех добавляемых объектах. Сохранить и применить изменения.

3. Настроить модуль так же, как было описано с пункта 2 предыдущего подраздела "Порядок тестирования".

4. Разработать собственный механизм формирования сообщений посредством функций обработки в_ВЭП_Брокер "ОтправитьПисьмо()" или более частной - ОтправитьПечатнуюФормуПоЭлектроннойПочте(). См. комментарии кода к данным функциям. Можно доработать формат имен формируемых промежуточных файлов, если переопределить функцию СформироватьПутьКФайлуСообщения(), чтобы имена файлов содержали префикс не в виде имени пользователя, а например, в виде имени клиентского компьютера, или имени системного пользователя.

Если речь идет о доработке конфигураций "Управление торговлей 10.3", "Комплексная автоматизация 1.1", "Управление производственным предприятием 1.3", то рекомендуется проследовать к следующему разделу.

4.3 Описание доработки типовых конфигураций

4.3.1 Доработка конфигураций УТ 10.3, УПП 1.3, КА 1.1, и других, основанных на данном семействе.

Доработка заключается в точечном исправлении одной процедуры общего модуля, а также назначении пользователям специальной роли. В принципе, по аналогии можно доработать любую конфигурацию, использующую обычные формы.

1. Следует интегрировать в конфигурацию дополнительные объекты данного решения, и настроить модуль так, как это указано здесь.

2. Требуется переопределить поведение типового механизма отправки печатных форм по электронной почте. См. рисунок, на котором представлено типовое окно вывода печатной формы.

Типовое окно вывода печатной формы и кнопка отправки электронного сообщения

Интересующая нас кнопка отмечена красной стрелкой. Анализ ее обработчика приводит нас в общий модуль УправлениеОтчетами, в который удобно внести следующее точечное изменение процедуры ОтправитьДокументПоЭлектроннойПочте:

Процедура ОтправитьДокументПоЭлектроннойПочте(Документ, ИмяФайлаВложения = "", ОбъектПечати = Неопределено) Экспорт

	// +stvor перехвачено и заменено для передачи писем на локальные почтовые клиенты
	Если РольДоступна("в_ВЭП_ОтправкаПочты") или ПользователиИнформационнойБазы.ТекущийПользователь().Имя = "" Тогда
		Обработки.в_ВЭП_Брокер.Создать().ОтправитьПечатнуюФормуПоЭлектроннойПочте(Документ, ИмяФайлаВложения, ОбъектПечати);
		Возврат;
	КонецЕсли;	
	// -stvor	

	// далее следует штатный код этой процедуры

Насколько я лично помню, даже в достаточно волатильных конфигурациях УПП 1.3 и КА 1.1, этот модуль не менялся достаточно давно, и вряд ли поменяется теперь, соответственно, обновление конфигурации не будет затруднено. Про УТ 10.3 (которая еще у некоторых вообще 10.2, несмотря на 2018 год) можно вообще не говорить.

Даже если не хочется править общий модуль, в принципе, это изменение можно перенести выше по стеку, в модули общих форм ПечатьДокументов и ПечатьДокументовУправляемая, которые, полагаю, менялись еще реже.

Суть изменений состоит в том, что если у пользователя доступна роль в_ВЭП_ОтправкаПочты, или пользователь пустой, то сформированный модулем печати табличный документ, ссылка на исходный объект, будут переданы нашему механизму отправки почты, вместо штатного. Если роль недоступна, то будет использован штатный механизм.

3. Всем пользователям, которые эксплуатируют данный механизм, следует включить роль в_ВЭП_ОтправкаПочты - непосредственно, либо через профиль, если профили полномочий используются в вашей ИБ.

4. Предполагая, что порядок внедрения, описанный ранее, пройден успешно, следует вывести на экран какую-либо печатную форму, после чего нажать кнопку, отмеченную красной стрелкой на рисунке выше. В почтовом клиенте незамедлительно откроется окно интерактивного редактирования нового сообщения, в которое будет уже вложен файл с печатной формой.

Это означает, что цель достигнута.

4.3.2 Доработка конфигурации "БП 2.0", и других на ее основе.

В отличие от вышеописанных конфигураций, в "Бухгалтерии предприятия 2.0" отсутствует модуль CRM (если его так можно назвать) и встроенный почтовый клиент. Соответственно, и кнопки отправки по электронной почте тоже нет. Что не мешает ее туда быстро прикрутить.

1. Следует интегрировать в конфигурацию дополнительные объекты данного решения, и настроить модуль так, как это указано здесь.

2. В панель инструментов общей формы "ФормаПечати" следует добавить кнопку "Отправить по электронной почте", оформив ее на свое усмотрение.

Пример формы печати в БП 2.0

Создать функцию-обработчик этой кнопки, и написать туда следующий код:

	Если РольДоступна("в_ВЭП_ОтправкаПочты") или ПользователиИнформационнойБазы.ТекущийПользователь().Имя = "" Тогда
		Обработки.в_ВЭП_Брокер.Создать().ОтправитьПечатнуюФормуПоЭлектроннойПочте(ЭлементыФормы.ПолеДокумента, Заголовок, Документ);
		Возврат;
	КонецЕсли;	

3. Всем пользователям, которые эксплуатируют данный механизм, следует включить роль в_ВЭП_ОтправкаПочты.

4. Предполагая, что порядок внедрения, описанный ранее, пройден успешно, следует вывести на экран какую-либо печатную форму, после чего нажать кнопку, которую мы сами создали в пункте 2. В почтовом клиенте незамедлительно откроется окно интерактивного редактирования нового сообщения, в которое будет уже вложен файл с печатной формой.

Это означает, что цель достигнута.

4.3.3 Нюансы

К сожалению, штатный механизм печати предоставляет для формирования почтового сообщения лишь ограниченное количество параметров - табличный документ, имя файла вложения (по факту - синоним метаданных), и ссылку на объект (справочник, документ), из которого вызвана печатная форма. Поэтому, код формирования сообщения "не понимает" о чем именно оно. Это приводит к тому, например, что вложение печатной формы счета из документа "Заказ покупателя" называется именем "Заказ покупателя №1 от 01.01.2018.pdf", и тема у письма такая же, а тело пустое, что не совсем соответствует содержимому: ведь предполагается именно счет на оплату. На доведение сообщения до кондиции пользователю потребуется время, что, при достаточной частоте повторения, снижает ценность автоматизации.

Если конечных пользователей не устраивает формат генерируемого сообщения, имя файла-вложения, то необходимо поправить функцию ОтправитьПечатнуюФормуПоЭлектроннойПочте обработки в_ВЭП_Брокер, в коде которой комментариями указаны точки расширения. Функции, возможно, придется "заниматься телепатией", и определять, как конечный пользователь хотел бы видеть письмо, исходя из метаданных объекта и содержимого печатной формы.  Например, что-то вроде:

///... в функции ОтправитьПечатнуюФормуПоЭлектроннойПочте

ЭтоСчет = Ложь;

// Это счет, если из документа "Счет".
Если ОбъектПечати.Метаданные.Имя = "СчетНаОплатуПокупателя" Тогда
  ЭтоСчет = Истина;
КонецЕсли;

// Это счет, если из документа "Заказ покупателя" а печатная форма содержит текст "Счет на оплату"
Если ОбъектПечати.Метаданные.Имя = "ЗаказПокупателя" и ТабДокумент.НайтиЗначение("Счет на оплату") <> Неопределено Тогда
  ЭтоСчет = Истина;
КонецЕсли;

Если ЭтоСчет Тогда
   // Если у нас счет, то порядок формирования имени вложения, темы и тела - особый.
   ИмяФайла = "Счет на оплату покупателя".... // тут приписать номер и дату
   Тема = "Счет на оплату...";
   Тело = "Уважаемый клиент! 
|Направляем вам счет на оплату за "+НРег(ОбъектПечати.ДоговорКонтрагента.ВидВзаиморасчетов);

//...

(Это очень грубое решение экспромтом, представлено как пример, и к тому же содержит уместные для ситуации костыли, поэтому прошу не воспринимать слишком близко к сердцу, и полагать, что я всегда пишу код именно так)

Либо, необходимо разрабатывать свою внешнюю печатную форму, которая будет содержать в себе полноценный шаблон письма, непосредственно вызывать более гибкую функцию обработки в_ВЭП_Брокер "ОтправитьПисьмо()", передав ей тему, текст сообщения, отправителей, вложения и др.

4.4 Формат промежуточных файлов

Промежуточные файлы, содержащие почтовое сообщение, формируются в формате XML, описание диалекта которого представлено далее. XML-файл должен обязательно иметь кодировку UTF-8. Файл может начинаться с трехбайтовой мигнатуры BOM, или без нее. Все имена элементов и атрибутов регистрозависимы.

В одном файле должно находиться только одно сообщение.

Корневым элементом должен быть <message>. Внутри корневого элемента могут находиться следующие элементы:

  • <subject>тема сообщения</subject>, причем такой элемент может быть только один, или не быть вообще.
  • <recipient>получатель</recipient>, причем таких элементов может быть один, несколько, или не быть вообще. Содержимое должно быть оформлено в формате, принятым для поля "Кому" почтовых клиентов, т.е. либо содержать только электронный адрес, либо имя получателя, и его электронный адрес, взятый в треугольные скобки, например "Иванов Иван <ivanov@gdeto.ru>". Разумеется, треугольные скобки в реальном XML должны быть заменены на escape-последовательности &gt; и &lt;
  • <copyto>получатель копии</copyto>, аналогично recipient.
  • <body>тело сообщения</body>, причем такой элемент может быть только один, или не быть вообще. Тело сообщения должно находиться в конструкции CDATA.
  • <attachment filename="имя файла без пути">содержимое</attachment>, причем таких элементов может быть один, несколько, или не быть вообще (для каждого вложения). Содержимое представляет собой неупакованные байты файла, закодированные в формате BASE64 и взятые в конструкцию CDATA. Имя файла должно быть оформлено по правилам, принятым для ОС Windows, т.е. файл с таким именем должно быть возможно создать.

Пример файла представлен ниже.

<?xml version="1.0" encoding="UTF-8"?>
<message>
	<subject>Счет на оплату покупателю № 2468 от 31 августа 2018</subject>
	<recipient>Иван Иванов &lt;ivanov@potrooo.ru&gt;</recipient>
	<recipient>ООО &quot;Потребитель&quot; &lt;info@potrooo.ru&gt;</recipient>
	<body>
		<![CDATA[Здравствуйте!
Направляем Вам очередной счет на оплату за услуги. Просим соблюдать сроки.
Заранее спасибо.
--
С уважением,
ООО "Услуги"
]]></body>
	<attachment filename="Счет на оплату покупателю от 31.08.2018 №2468.pdf">
		<![CDATA[JVBERi0xLjcKJeLjz9MKMSAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQov
TGVuZ3RoIDIgMCBSCi9MZW5ndGgxIDI5NzYwCi9MZW5ndGgyIDAKL0xlbmd0aDMg
MAo+PgpzdHJlYW0KeJztvXlcVEe2OF5Vd7+93V5outn6tg0N2iIIKKBELoKoISqu
... контент пропущен ...
YzUxYjY3ZDA1ZTRmZjk3YTA5Zj4gPDMxOWQ1ODVmODQyMjRjNTFiNjdkMDVlNGZm
OTdhMDlmPiBdCj4+CnN0YXJ0eHJlZgo4NjY0NwolJUVPRgo=]]></attachment>
</message>

В указанном примере задана тема и тело сообщения, имеется два получателя, для которых указаны имена и адреса почты, а также одно вложение.

Если какой-либо элемент не указан, соответствующая часть конечного сообщения не будет заполнена. В минимальном же варианте, в файле может содержаться только закрытый корневой элемент <message/>: из такого файла брокер создаст пустое письмо.

Файлы указанного формата могут создаваться, разумеется, не только 1С предприятием, но и любыми другими программами. Развернутый брокер будет обрабатывать любые файлы, имя которых соответствует настроенной маске.

Заключение

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

Я поставил минимальную сумму sm за конфигурацию (не разобрался пока, как сделать файл бесплатным), чтобы можно было оценить объем и целесообразность доработок. Использование программы "Почтовый брокер" бесплатно для физических и юридических лиц (о чем указано в меню "О программе"), не считая цены в sm, которую требуется внести для скачивания с сайта.

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

Отвечу на возможные вопросы в комментариях данной публикации.

Скачать файлы

Наименование Файл Версия Размер
Почтовый брокер

.zip 737,97Kb
13
.zip 1.0 737,97Kb 13 Скачать
Мини-конфигурация для тестирования и доработки типовых конфигураций

.zip 13,92Kb
11
.zip 13,92Kb 11 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tr761 13 14.10.21 13:02 Сейчас в теме
Добрый день. Спасибо за решение.
Можно ли доработать брокер, чтобы в Outlook письмо создавалось с настроенной подписью?
Оставьте свое сообщение

См. также

Форма выбора из списка с оглавлением

Работа с интерфейсом Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Список, организованный по разделам/рубрикам, по оглавлению. Быстро, просто, универсально.

1 стартмани

11.11.2022    3738    2    Yashazz    0    

18

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Универсальные обработки Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    9734    68    sapervodichka    84    

111

[ШАБЛОН] Внешняя печатная форма с отладкой

Печатные формы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

20.09.2022    2890    16    Neiron_1C    0    

18

Параметризация печатных форм под контрагентов (подключаемое расширение)

Печатные формы Адаптация типовых решений Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь https://infostart.ru/1c/articles/1510459/

10 стартмани

05.08.2022    6896    9    sapervodichka    4    

51

Добавление электронной подписи в документ PDF

Универсальные функции Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Как добавить подпись прямо в файл PDF, чтобы не нужно было файлы подписи передавать отдельно.

1 стартмани

26.08.2021    13728    37    fotov    18    

41

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Универсальная печатная форма для справочника и документа по своему шаблону, сделанному в ms word: Кадровые, Торговые, Делопроизводственные, Бухгалтерские, Управляющие

Печатные формы Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Создавайте дополнительные печатные формы для печати из 1С по своему усмотрению без помощи программиста. Например можно прямо из справочника Физические лица или Сотрудники - напечатать не стандартный документ, например карточку Физического лица по своим полям, прикрепить к нему свой специфичный договор или какую-нибудь расписку. Трудовой договор прямо из списка сотрудников и ещё много свободных бланков. Из контрагента - специально оформленный по вашему требованию договор в который подставятся нужные данные из базы 1С.

5 стартмани

02.02.2021    10922    139    strelvan    11    

23

Парсинг Excel-файла

Загрузка и выгрузка в Excel Универсальные функции Платформа 1С v8.3 1С:Розница 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Шаблон внешней обработки для парсинга Excel без использования COM-объектов, с учетом клиент-серверного взаимодействия, на толстом, тонком и веб-клиенте. С учетом требований безопасности и отображением длительных операций.

1 стартмани

15.09.2020    15704    41    LamerSoft    0    

26

Нормализация адреса с помощью API Почты России

WEB-интеграция Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Почта России предоставляет доступ к сервису нормализации адресов по API. Данная обработка, используя сервис Почты России, демонстрирует возможность нормализации адреса из произвольной строки. Предназначена в большей степени для программистов, т.к. не связана ни с какой конфигурацией.

2 стартмани

11.08.2020    10338    18    Cerberdm    7    

21

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Отправка писем на электронную почту типовой функцией 1С

Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Если вам необходимо отправить письмо на почту из внешней обработки, вам поможет эта статья.

1 стартмани

04.07.2020    47117    56    Andrei_Ivanov    15    

23

Дополнительные функции для 1С:Документооборот

Универсальные функции Платформа 1С v8.3 1С:Документооборот Управленческий учет Абонемент ($m)

В данной публикации я хочу поделиться расширением, которое содержит дополнительные функции (доработки) для 1С:Документооборот.

1 стартмани

24.01.2020    28241    207    pavelpribytkin96    47    

52

Подпись PDF в новой версии 8.3.16

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Проверяем новую возможность платформы 1С:Предприятие 8 по формированию подписей в PDF.

1 стартмани

23.12.2019    16348    51    kolya_tlt    15    

25

Вывод QR-кода типовыми средствами.

Сканер штрих-кода Универсальные функции Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Абонемент ($m)

Вывод QR-кода типовыми средствами. На данный момент очень часто нужно вывести в печатную форму QR-код. Показываю как на примере типового кода из УТ11 это сделать. Можно использовать в любых конфигурациях с обычными формами.

1 стартмани

21.10.2019    63158    133    Емельянов Алексей    57    

51

Генерация QR кода для любых конфигураций 1С (обычные и управляемые формы)

Универсальные обработки Универсальные функции Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Для генерации используется компонента типовой конфигурации УТ11, встроенная в общий макет "КомпонентаПечатиQRКода". Ниже приведены процедуры, чтобы сделать обработку самостоятельно (только для УФ).

1 стартмани

11.10.2019    45347    232    dm1try    0    

29

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Шаблон разработки печатных форм и подключения к конфигурациям на БСП 2.х и БСП 3.0

Печатные формы БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

«Вместо поставки внешних печатных форм в виде внешних обработок рекомендуется вести их разработку с помощью расширений конфигурации.» [ИТС, БСП гл. 3.38 Печать] У меня задачи типа «Требуется разработать печатную форму …» появляются регулярно, но с временными интервалами. Что бы вести разработку единообразно, для конфигураций на БСП, я заготовил шаблон для таких задачек, который позволяет мне сразу приступить к разработке макета и алгоритма формирования печатной формы, а «обертка» из БСП уже готова.

1 стартмани

04.10.2019    52591    84    tolX5    21    

128

Печать покупателя в чеке ККМ с 01.07.2019

ККМ Кассовые операции Печатные формы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бухгалтерский учет Абонемент ($m)

C 01.07.2019 если организация/ИП покупает у другой организации/ИП товары, работы или услуги, то в Чеке ККМ требуется указать: Покупателя (тег 1227) и ИНН (тег 1228). Если чек отправляется в ОФД без этих данных, то будет штраф . Но в 1С ERP вывод данных полей не предусмотрен. Предлагаемое расширение устраняет данную проблему.

1 стартмани

17.07.2019    45906    30    sapervodichka    14    

30

[Расширение] Доработка рассылки отчетов, отчет в теле письма

Email рассылки Платформа 1С v8.3 1С:Розница 1С:ERP Управление предприятием 2 Абонемент ($m)

Я очень люблю механизм рассылки отчетов из БСП - достаточно гибкий, универсальный. Активно пользуюсь им для того, чтобы получать оповещения из программы о том, что "что-то идёт не так"... Однако, и в нем есть что улучшить.

1 стартмани

05.07.2019    16674    35    ardn    15    

25

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    18549    34    SanchoD    33    

42

Визуализация электронной подписи на исходящих документах в соответствии с ГОСТ Р 7.0.97-2016. Полная автоматизация

Печатные формы Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 1С:Документооборот Россия Абонемент ($m)

Визуализация ЭЦП по ГОСТу Р 7.0.97-2016, предложенная в предыдущей статье (https://infostart.ru/public/931674/) на данную тему, очень прижилась у меня в организации. Начальник часть писем повелел подписывать ЭЦП и не тревожить его по пустякам. Но механизм подписи требовал некоторого количества ручных действий, а хочется полной автоматизации. Итак, постановка задачи: штамп должен позиционироваться сам, pdf-файл со штампом ЭЦП должен создаваться сам и в карточку исходящего документа тоже должен сам загружаться.

1 стартмани

19.02.2019    37848    74    soulner    48    

32

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Красивые письма из 1С

Email рассылки Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Как отправлять из типовой конфигурации (БП 3.0) красивые электронные письма без редактирования конфигурации, регистрации и смс.

1 стартмани

02.02.2019    23338    43    maxkrezi    19    

41

Год жизни с Яндекс.Почтой

Email рассылки Платформа 1С v8.3 1С:Документооборот Абонемент ($m)

Опишу свой опыт работы с Яндекс.Почтой из 1С:Документооборота. Ошибки, которые, видимо, редки и поэтому нигде не описаны, в основном побеждены и, может, мой опыт поможет кому-нибудь в его борьбе.

1 стартмани

05.01.2019    22707    6    soulner    0    

21

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Подключаемые печатные формы с .DOCX макетом без Word'а

Универсальные обработки Печатные формы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Данная обработка является подключаемой печатной формой в docx, своего рода шаблоном для удобного и быстрого выпуска новых печатных форм на основе docx макета. При этом не требуется установленный word.

1 стартмани

25.07.2018    23782    71    🅵🅾️🆇    33    

39

Печать НД с PDF417 x64, для конфигураций до 05.11.2020

Печатные формы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Налоговый учет Абонемент ($m)

Переходник для использования 32-битного COM-объекта "Печать НД с PDF417" с 64-битным тонким клиентом.

1 стартмани

18.07.2018    66528    509    VGHOST    124    

64

Рассылка расчетных листков. ЗУП 3.1

Email рассылки Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Рассылка расчетных листков. Простая. С подбором списком и журналом рассылки сообщений.

1 стартмани

02.02.2018    32537    317    bgalin    67    

26

Количество рабочих и выходных дней в месяце с сайта its.1c.ru

Учет рабочего времени Универсальные функции Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Простенькая функция, которая обращается к сайту ИТС и возвращает оттуда сведения о количестве рабочих дней в указанном месяце. Платформа 8.3.10, УФ.

1 стартмани

22.11.2017    16992    1    simplysimply    5    

23

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Конструктор печатных форм для ЗУП 3.1 по шаблонам MSOffice и OpenOffice

Печатные формы Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Данная обработка позволяет быстро создавать печатные формы документов на основании документов из программы 1С ЗУП8 версии 3.1. Печатные формы можно заполнять на основании следующих документов: "Прием на работу", "Прием на работу списком", "Кадровый перевод", "Кадровый перевод списком", "Перемещение в другое подразделение", "Договор ГПХ" Обработка протестирована на платформе 1С:Предприятие 8.3 (8.3.12.1714) релиз ЗУП 3.1.9.187 Тонкий клиент (файловый или клиент-сервер) Установленный Microsoft office (2003 и выше) или OpenOffice/LibreOffice 09/04/2019 Исправил ошибку, возникающую, если наименование вида расчета содержит скобки.

10 стартмани

02.11.2017    38221    316    zabaluev    62    

70

Рассылка уведомлений о приближающихся отпусках из графика отпусков для ЗУП КОРП 3

Email рассылки Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Абонемент ($m)

Внешняя подключаемая обработка. Рассылает уведомления о приближении отпуска по графику отпусков по настраиваемым шаблонам. Уведомление может отправляться: а) Сотруднику, отпуск которого приближается; б) Ответственным лицам (например, руководитель сотрудника, кадровик). Также может создавать в базе задачи кадровику на оформление отпуска. С обработкой можно работать в интерактивном режиме или настроить автоматический запуск рассылки по расписанию.

2 стартмани

25.09.2017    27929    97    wonderboy    23    

20

Цвет индикатора в зависимости от значения

Работа с интерфейсом Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

29.08.2017    16044    6    kc-ropa    12    

18

Программное создание элементов графической схемы (через XSLT)

Работа с интерфейсом Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встала как-то передо мной задача визуализировать определенный прикладной процесс, лучше всего для этого подходит графическая схема. Так уж вышло, что 1С по не понятным мне причинам не предоставила возможность программно работать с элементами графической схемы. Пришлось импровизировать.....

1 стартмани

20.07.2017    32404    83    lazarenko    20    

61

Обновление Бухгалтерии 2.0 для работы с 54-ФЗ Онлайн кассы

Кассовые операции ККМ SMS рассылки Email рассылки Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 2.0 Россия Бухгалтерский учет Абонемент ($m)

Типовая конфигурация БП 2.0 не поддерживает работу с онлайн кассами. Это обновление конфигурации БП 2.0 позволяет подключить онлайн кассы, печатать чеки, отправлять их по email или SMS.

1 стартмани

08.06.2017    42127    297    Zorkon    127    

21

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Упрощение работы с актами сверки в УТ/КА/УПП - вывод номеров счетов в документе и печатной форме

Обработка документов Печатные формы Взаиморасчеты Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Бухгалтерский учет Управленческий учет Абонемент ($m)

Обычно акт сверки с клиентами содержат информацию о документах реализации товаров (накладных) и выполненных платежах. Но платежи делаются на основании счетов, номера которых отсутствуют в актах, что затрудняет собственно сверку. Данная обработка находит соответствующие расходным накладным счета/заказы, показывает их в форме документа и выводит в печатную форму акта.

2 стартмани

12.05.2017    48222    5    denmax    7    

6

Набор математических функций

Универсальные функции Математика и алгоритмы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    21837    7    SvoyakMartin    23    

22

Работа с двоичными данными на примере чтения файлов изображений. Новые возможности 8.3.9

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В статье приводятся новые функции по работе с двоичными данными, появившимися в версии платформы 8.3.9 , на примере анализа формата и размера изображений. А также пример отправки изображения через API ВКонтакте с помощью новых объектов (без использования ОбъединитьФайлы())

1 стартмани

14.11.2016    47558    20    Anton64    25    

116

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Примеры взаимных преобразований Таблицы значения в Дерево значений или Табличный документ с использованием универсальных функций и макетов Системы компоновки данных. Примеры представлены в форме удобной для копирования в разработку.

1 стартмани

13.09.2016    54861    63    pavley2002    12    

53

Учет путевых листов

Обработка документов Печатные формы Учет рабочего времени Учет ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бухгалтерский учет Управленческий учет Абонемент ($m)

Внешняя обработка по учету путевых листов для управляемых форм. Позволяет сохранять во внешнем файле данные об автомобилях, водителях и путевых листах. Позволяет печатать формы №3 и №4-П. Позволяет вести учет задолженностей водителей за бензин и сравнивать расход по норме (по показаниям спидометра) и фактический расход бензина.

3 стартмани

27.06.2016    21556    82    DrugOn    10    

19