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

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

Разработка - Печать - Печатные формы документов

письмо почта 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
20.09.18
6
.zip 1.0 737,97Kb 6 Скачать
Мини-конфигурация для тестирования и доработки типовых конфигураций

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

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

Оставьте свое сообщение

См. также

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    45759    155    ekaruk    32    

Универсальное хранилище настроек

Универсальные функции v8 Абонемент ($m)

Универсальная константа для хранения любых настроек, например интеграции с API. Легко вносить новые настройки без "ломания" выполнения кода в модулях.

1 стартмани

10.03.2020    4773    1    v.krivenko    17    

Шаблоны внешних обработок (БСП, управляемые формы)

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

Набор из шаблонов для создания внешних обработок вида: Внешняя печатная форма, Отчет на СКД, Схема СКД для сегмента, Внешняя обработка (Самостоятельная, Заполнение объектов, Создание связанных объектов). Предварительно наполнены базовым функционалом и некоторыми механизмами для отладки.

1 стартмани

01.03.2020    2597    23    riposte    2    

Простой способ загрузить файл Excel на тонком клиенте.

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

Самый простой способ загрузить файл Excel на тонком клиенте - это скопировать лист Excel в "табличный документ" на форме обработки и обрабатывать уже поля "табличного документа".

1 стартмани

30.10.2019    7066    2    John_d    16    

Автоматическая рассылка прайс-листов Промо

Ценообразование, прайсы Email Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 УТ10 Абонемент ($m)

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

1 стартмани

24.03.2014    37391    45    skyadmin    18    

Картинка вместо кнопки без html

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

Вариант замены стандартных кнопок на форме для тех, кого не устраивают кнопки 1С и нет особых возможностей делать все с использованием html. Тестировал работу на платформах 8.3.10, 8.3.13, 8.3.14

1 стартмани

23.10.2019    4767    3    zatoichi    3    

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

Универсальные печатные формы Сканер штрих-кода Универсальные функции v8 КА1 УТ10 УПП1 Абонемент ($m)

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

1 стартмани

21.10.2019    14020    26    Емельянов Алексей    46    

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

Печатные формы документов БСП (Библиотека стандартных подсистем) Расширения v8 1cv8.cf Абонемент ($m)

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

1 стартмани

04.10.2019    26116    45    tolX5    18    

Отправка пакета документов по электронной почте (в формате PDF/XLS/HTML/MXL/ODS) Промо

Печатные формы документов Пакетная печать Email Оптовая торговля Оптовая торговля v8 БП2.0 КА1 УПП1 УТ10 Россия БУ Абонемент ($m)

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

2 стартмани

22.04.2015    51329    32    trendy    20    

1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API

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

Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

10 стартмани

29.07.2019    6675    11    osivv    14    

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

ККМ Кассовые операции Печатные формы документов Кассовые операции v8 ERP2 БУ Абонемент ($m)

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

1 стартмани

17.07.2019    23888    20    sapervodichka    14    

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

Email v8 Розница ERP2 Абонемент ($m)

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

1 стартмани

05.07.2019    6194    10    ardn    0    

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

Обработка документов Печатные формы документов Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 КА1 УТ10 УПП1 БУ УУ Абонемент ($m)

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

2 стартмани

12.05.2017    28548    4    denmax    2    

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

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

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

14.06.2019    8693    20    SanchoD    29    

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

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

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

1 стартмани

19.02.2019    14642    47    soulner    45    

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

Email v8 v8::БУ БП3.0 Россия Абонемент ($m)

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

1 стартмани

02.02.2019    11866    29    maxkrezi    19    

Лучшие методы сравнения таблиц значений Промо

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

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

1 стартмани

02.02.2015    104546    37    ildarovich    59    

Ошибки, предупреждения и прочее из журнала регистрации на почту и в Telegram автоматически (БП 3, ЗУП 3.1, УТ 11.4, ERP 2.4, Розница 2.2)

Журнал регистрации Поиск данных Тестирование и исправление Email v8 Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

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

2 стартмани

28.01.2019    9087    31    Redinternational    3    

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

Email v8 ДО Абонемент ($m)

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

1 стартмани

05.01.2019    9603    4    soulner    0    

Отправка печатных форм документов на почту в pdf. Без изменения конфигурации

Печатные формы документов Email v8 БП2.0 УТ10 УПП1 БП1.6 Абонемент ($m)

Пример внешней печатной формы с отправкой в pdf.

2 стартмани

03.08.2018    9135    14    SITR-utyos    1    

Конфигурация "Почтовый клиент" на УФ (8.2, 8.3) Промо

WEB Email v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Конфигурация для работы с почтой на управляемых формах для платформы 8.2, 8.3.

1 стартмани

23.01.2014    55108    253    alexkon    106    

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

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

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

1 стартмани

25.07.2018    9850    45    🅵🅾️🆇    31    

Подписка на события, преобразование объекта в JSONAPI, отправка в RabbitMQ

Внешние источники данных Универсальные функции v8 1cv8.cf Абонемент ($m)

Обработка содержит функции: - сериализация объекта 1с в JSONAPI - отправка в RabbitMQ по HTTP

1 стартмани

26.02.2018    10735    21    yaxinr    3    

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

Email Зарплата Зарплата v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

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

1 стартмани

02.02.2018    18514    241    bgalin    58    

Автопрайс: Конструктор прайс-листов с автоматической рассылкой по шаблонам Промо

Ценообразование, прайсы Email Оптовая торговля Оптовая торговля v8 УТ10 Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m)

Гибкая и удобная система для формирования и автоматической рассылки прайс-листов. Быстрая рассылка - прайсы на 100+ тыс. строк уходят десяткам клиентов с индивидуальными настройками менее чем за 10 мин. Форматы:.XLS, .XLSX, .TXT /CSV(UTF-8/ANSI), .MXL, .HTML, .DOCX, .PDF, .ODS. Поддерживает картинки в прайсе. Создание макетов прайсов, рассылка по почте и FTP, архивация в ZIP, шаблоны, гибкая настройка и расписание, отчеты о рассылке.

10 стартмани

08.06.2016    22265    3    taurus__    0    

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

Email Управление персоналом (HRM) Управление персоналом (HRM) v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

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

2 стартмани

25.09.2017    18888    83    wonderboy    13    

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

Кассовые операции ККМ SMS рассылки Email Кассовые операции v8 v8::БУ БП2.0 Россия БУ Абонемент ($m)

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

1 стартмани

08.06.2017    33609    289    Zorkon    125    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

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

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    24340    173    Bassgood    10    

Конфигурация для партнеров "Инфостарт" для ведения публикаций, рассылки обновлений Промо

Email Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Управление взаимоотношениями с клиентами (СRM) v8 1cv8.cf УУ Абонемент ($m)

Для упрощения жизни своей я разработал конфигурацию «База клиентов и публикаций», которая практически решает мои «проблемы» с рассылкой обновлений и учетом продаж на сайте «Инфостарт», с возможностью загрузки данных с сайта (авторского раздела) . Обновление от 18.06.2019, версия 1.5!

5 стартмани

28.09.2014    31359    29    hakerxp    20    

Правильный вопрос

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

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!

1 стартмани

15.05.2017    11177    0    SvoyakMartin    15    

Web сервис 1С

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

Пример реализации простого web сервиса. Особенность: не используются XDTO пакеты, определяемые в дереве конфигураций; возможность передачи любых структур данных: списки значений, таблицы значений, табличные документы и т.п.

1 стартмани

21.03.2017    29793    91    hiduk    34    

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

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

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

1 стартмани

12.01.2017    13700    4    SvoyakMartin    17    

Генерация QR-кода программная и интерактивная (код открыт, управляемая форма, обычное и управляемое приложение, API) Промо

Универсальные функции Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    46152    171    TuneSoft    26    

Отладка/доработка модуля менеджера "на лету"

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

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

1 стартмани

23.10.2016    28681    20    json    22    

Сверка таблиц при разработке через тестирование

Инструментарий разработчика Практика программирования Универсальные функции v8 Абонемент ($m)

Данная статья про инструмент, который я использую уже продолжительное время, и который, по моему мнению, заслуживает внимания. Также опишу несколько примеров его применения.

1 стартмани

09.10.2016    15150    10    json    1    

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

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

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

1 стартмани

13.09.2016    36461    46    pavley2002    11    

Мастер рассылки e-mail 2.2 для управляемых форм Промо

Практика программирования Email v8 v8::УФ ERP2 БП3.0 УТ11 Абонемент ($m)

Для пользователей: переделанный из старый разработки под 8.2 с использованием библиотеки Мастер рассылки e-mail 2.2 (ERP, УТ, БП) (Только управляемые формы), который теперь может запускаться под любой версией платформы с разрешенными или запрещенными модальными/синхронными вызовами в конфигурации. Также удобный выбор e-mail и их владельцев с помощью отбора динамического списка по любым критериям и галочки исключения.

1 стартмани

29.12.2015    35864    19    milkers    4    

Алгоритм по переносу вложенных запросов в пакеты

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

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

1 стартмани

26.08.2016    10007    16    ostapchenko.alexandr    20    

7 правил RFC 4180

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

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    17431    21    kuzyara    4    

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

Обработка документов Печатные формы документов Учет рабочего времени Учет ТМЦ Учет рабочего времени Учет ТМЦ v8 v8::УФ 1cv8.cf БУ УУ Абонемент ($m)

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

3 стартмани

27.06.2016    14321    79    DrugOn    10    

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

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

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    26894    3    Serginio    1    

Легкое создание пользователем внешних печатных форм методом Drag & Drop

Универсальные печатные формы Печатные формы документов v8 1cv8.cf Абонемент ($m)

Универсальная внешняя печатная форма (ПФ), которая позволяет пользователю, без знаний программирования и не заходя в конфигуратор, создать ПФ любого документа или справочника в Microsoft Word или OpenOffice Writer методом перетаскивания (Drag & Drop). Можно создавать любые ПФ с выводом табличных частей, реквизитов документа, а также вложенных реквизитов и контактной информации. Не требует изменения конфигурации. Работает на версии платформы 8.3 в типовых конфигурациях на управляемых формах (например, Бухгалтерия 3.0, УТ 11, УНФ, Розница, Документооборот), а также и в других конфигурациях на УФ, построенных на БСП.

2 стартмани

04.01.2016    38326    172    CyberCerber    36    

Автоматическая генерация Web-интерфейса с использованием http-сервисов

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

Пример автоматической генерации Web-интерфейса с использованием http-сервисов.

1 стартмани

03.01.2016    18020    74    BurningChrome    19    

Создаем печатную форму "Заказ клиента" для УТ 11.2

Печатные формы документов Практика программирования Оптовая торговля Оптовая торговля v8 УТ10 УУ Абонемент ($m)

Статья для начинающих о том, как сделать внешнюю печатную форму для управляемого приложения на примере 1С: Управление торговлей 11.2.

1 стартмани

11.12.2015    43561    92    AlexeyPapanov    14    

[x1c.ru] MXL Stamps - Печати и подписи в макетах печатных форм в несколько кликов Промо

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

Обработка позволяет быстро создавать поля текста из ячеек печатных форм и добавлять "под них" подписи и печати. Работает в конфигурациях на управляемых формах.

1 стартмани

22.08.2015    35344    18    GusevNA    6    

Механизм контроля заполнения реквизитов

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

Механизм позволяет в пользовательском режиме настраивать контролируемые реквизиты, тем самым помогает справиться с невнимательностью пользователей. Не требует снятия с поддержки типовых объектов, внося минимум изменений в конфигурацию. Не привязан ни к конкретным конфигурациям, ни к БСП.

1 стартмани

25.10.2015    12972    28    yur4ik9408    10    

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

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

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    19407    0    SeiOkami    3