|
Программное формирование письма из 1С.Расстановка переносов строк | ☑ | ||
---|---|---|---|---|
0
skupidom5
10.09.17
✎
11:14
|
Управление производственным предприятием, редакция 1.2 (1.2.26.1)
Процедура создает эл. письмо и используя настройки сервера и email адрес рассылает его по ответственным и их заместителям из 1С.При этом каждая группировка начинается с новой строки, но группировка по документам (последняя группировка): документ + инициатор + дата и время отправки + статус; выводится в разнобой (где-то с переносами,где то без). Использование Символы.ВК и Символы.ПС не помогаю упорядочить группировку по документам. Коллеги, прошу Вашего совета и помощи. Пример как сейчас выводятся группировки: Рассылка сформирована для: Олега (ответсвенный) __________________________________________________ Проект: Проект 1 ________________________________________ Заказ поставщику __________________________________________________________________Группировка по документам: Заказ поставщику 00000014046 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 01.08.2017 17:21:15 Заказ поставщику 00000014112 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 02.08.2017 9:59:05 Заказ поставщику 00000014126 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 02.08.2017 10:23:59 Заказ поставщику 00000014131 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 02.08.2017 10:36:53 Заказ поставщику 00000014137 от 01.08.2017 22:09:07, иницатор Ксения, отправлен 02.08.2017 10:49:04 Заказ поставщику 00000014155 от 01.08.2017 22:09:17, иницатор Ксения, отправлен 02.08.2017 12:01:28 Заказ поставщику 00000014156 от 01.08.2017 22:09:19, иницатор Ксения, отправлен 02.08.2017 12:25:42 Заказ поставщику 00000014157 от 01.08.2017 22:09:21, иницатор Ксения, отправлен 02.08.2017 12:31:32 Заказ поставщику 00000014159 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 02.08.2017 13:01:56 Заказ поставщику 00000014179 от 31.07.2017 23:59:59, иницатор Александр, отправлен 02.08.2017 14:31:59 Заявка на расходование средств __________________________________________________________________ Заявка на расходование средств 00000021618 от 25.10.2016 0:00:00, (просрочен, документ в закрытом периоде!), иницатор Мария, отправлен 25.10.2016 18:49:40 Заявка на расходование средств 00000021949 от 27.10.2016 0:00:00, (просрочен, документ в закрытом периоде!), иницатор Мария, отправлен 28.10.2016 9:25:30 Код: Для Каждого ТекСтрокаОтветственный Из Дерево.Строки Цикл // Ответственный ТекстПисьма = ""; ОтветсвенныйСЗаместителями = "Рассылка сформирована для: "; СтрокаСписокЕмаилАдресов = ""; Для Каждого ПодчиненнаяСтрокаПроект Из ТекСтрокаОтветственный.Строки Цикл // Проект ТекущийПроект = ПодчиненнаяСтрокаПроект.Группировка; ОтветственныеТекущегоПроекта = ПолучитьЗаместителейОтветственных(ТекСтрокаОтветственный.Группировка,ТекущаяДата(),Истина,Ложь,Истина,ТекущийПроект); Для Каждого отв Из ОтветственныеТекущегоПроекта Цикл Пользователь = отв.Значение; НаименованиеФЛ = СокрЛП(отв.Значение.ФизЛицо.Наименование); Если Найти(ОтветсвенныйСЗаместителями,НаименованиеФЛ) > 0 Тогда Иначе // Отв. / зам.: Если Пользователь = ТекСтрокаОтветственный.Группировка Тогда ОтветсвенныйСЗаместителями = ОтветсвенныйСЗаместителями + НаименованиеФЛ + " (ответсвенный)" + "; "; Иначе ОтветсвенныйСЗаместителями = ОтветсвенныйСЗаместителями + НаименованиеФЛ + " (заместитель)" + "; "; КонецЕсли; ЕмаилАдрес = ЭлектроннаяПочта.ПрочитатьЕМайл(отв.Значение.ФизЛицо,Справочники.ВидыКонтактнойИнформации.EmailФизЛица); СтрокаСписокЕмаилАдресов = СтрокаСписокЕмаилАдресов + ";" + ЕмаилАдрес; КонецЕсли; КонецЦикла; ДлинаСтр = СтрДлина(ОтветсвенныйСЗаместителями); ОтветсвенныйСЗаместителями = Лев(ОтветсвенныйСЗаместителями,ДлинаСтр-2); ТекстПисьма = ТекстПисьма + ОтветсвенныйСЗаместителями + Символы.ВК; ТекстПисьма = ТекстПисьма + "__________________________________________________" + Символы.ВК; ТекстПисьма = ТекстПисьма + "Проект: " + ПодчиненнаяСтрокаПроект.Группировка + Символы.ВК; ТекстПисьма = ТекстПисьма + "________________________________________" + Символы.ВК; Для Каждого ПодчиненнаяСтрокаВидДокумента Из ПодчиненнаяСтрокаПроект.Строки Цикл // ВидДокумента ИмяМетаданных = "Документ." + ПодчиненнаяСтрокаВидДокумента.Группировка; ТекстВидДокумента = Метаданные.НайтиПоПолномуИмени(ИмяМетаданных); ТекстПисьма = ТекстПисьма + ТекстВидДокумента + Символы.ВК; ТекстПисьма = ТекстПисьма + "_____________________________________________________________________" + Символы.ВК; Для Каждого ПодчиненнаяСтрокаДетальныеЗаписи Из ПодчиненнаяСтрокаВидДокумента.Строки Цикл // ДетальныеЗаписи ТекстСтатусПросрочен = ""; ВернулиДатуЗапрета = ВернутьДатуЗапретаРедактированияДляДокумента(ПодчиненнаяСтрокаДетальныеЗаписи.Документ); Если ПодчиненнаяСтрокаДетальныеЗаписи.Документ.Дата < ВернулиДатуЗапрета Тогда ТекстСтатусПросрочен = ", (просрочен, документ в закрытом периоде!)"; КонецЕсли; ТекстПисьма = Символы.ВК + ТекстПисьма + " " + Строка(ПодчиненнаяСтрокаДетальныеЗаписи.Документ) + ТекстСтатусПросрочен + ", иницатор "+Строка(ПодчиненнаяСтрокаДетальныеЗаписи.Инициатор)+", отправлен "+Строка(ПодчиненнаяСтрокаДетальныеЗаписи.ДатаВозникновения) + Символы.ВК; КонецЦикла; КонецЦикла; КонецЦикла; ПараметрыПочты=ЭлектроннаяПочта.ПолучитьПараметрыКлиентаПочты(); //получаем сохраненные настройки отправки Если ТестовыйРежимОтправкиПисем = Истина Тогда АдресТест=ЭлектроннаяПочта.ПрочитатьЕМайл(глЗначениеПеременной("глТекущийПользователь").ФизЛицо,Справочники.ВидыКонтактнойИнформации.EmailФизЛица); Если ЗначениеЗаполнено(АдресТест) = Истина Тогда ЭлектроннаяПочтаСервер.ОтправитьПисьмоСервер(ЭлектроннаяПочта.СформироватьСтруктуруПисьма(ПараметрыПочты.ОтправительРассылки, АдресТест, "Уведомление о документах на утверждение", ТекстПисьма, Новый Массив, ПараметрыПочты.СерверРассылки,ПараметрыПочты.ПортРассылки,ПараметрыПочты.АвторизацияРассылки,ПараметрыПочты.ПользовательРассылки,ПараметрыПочты.ПарольРассылки)); КонецЕсли; Иначе ЭлектроннаяПочтаСервер.ОтправитьПисьмоСервер(ЭлектроннаяПочта.СформироватьСтруктуруПисьма(ПараметрыПочты.ОтправительРассылки,СтрокаСписокЕмаилАдресов, "Уведомление о документах на утверждение", ТекстПисьма, Новый Массив, ПараметрыПочты.СерверРассылки,ПараметрыПочты.ПортРассылки,ПараметрыПочты.АвторизацияРассылки,ПараметрыПочты.ПользовательРассылки,ПараметрыПочты.ПарольРассылки)); КонецЕсли; |
|||
1
Филиал-msk
10.09.17
✎
11:38
|
Какая инициативная Ксения!
У тебя есть код, который добавляет Символы.ВК не в то место переменой ТекстПисьма. Находится после КонецЕсли. |
|||
2
skupidom5
10.09.17
✎
12:20
|
т.е.:
ТекстПисьма = Символы.ВК1 + ТекстПисьма + " " + Строка(ПодчиненнаяСтрокаДетальныеЗаписи.Документ) + ТекстСтатусПросрочен + ", иницатор "+Строка(ПодчиненнаяСтрокаДетальныеЗаписи.Инициатор)+", отправлен "+Строка(ПодчиненнаяСтрокаДетальныеЗаписи.ДатаВозникновения) + Символы.ВК2; Символы.ВК1 - убрать, Символы.ВК2 - оставить ? |
|||
3
skupidom5
10.09.17
✎
12:21
|
Спасибо коллеги
|
|||
4
skupidom5
10.09.17
✎
16:09
|
Коллеги, я заменил,получилось так:
ТекстПисьма = ТекстПисьма + " " + Строка(ПодчиненнаяСтрокаДетальныеЗаписи.Документ) + ТекстСтатусПросрочен + ", иницатор "+Строка(ПодчиненнаяСтрокаДетальныеЗаписи.Инициатор)+", отправлен "+Строка(ПодчиненнаяСтрокаДетальныеЗаписи.ДатаВозникновения) + Символы.ВК; Когда мало строк документов в группировке получается все отлично,когда много строк: Рассылка сформирована для: Олег (ответсвенный) __________________________________________________ Проект: Проект Компания (ФОДД) ________________________________________ Заказ поставщику _____________________________________________________________________ Заказ поставщику 00000014046 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 01.08.2017 17:21:15 Заказ поставщику 00000014112 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 02.08.2017 9:59:05 Заказ поставщику 00000014126 от 31.07.2017 23:59:59, иницатор Ксения, отправлен 02.08.2017 10:23:59 |
|||
5
skupidom5
10.09.17
✎
16:10
|
может есть еще предложения и решения?
|
|||
6
Tateossian
10.09.17
✎
18:30
|
(5) Формировать в html
|
|||
7
skupidom5
10.09.17
✎
20:24
|
все решено,спасибо
|
|||
8
Fram
10.09.17
✎
21:14
|
Я ж ещё в прошлой ветке в 12 посте тебе ответил отформатировать текст письма с помощью 1С 8
|
|||
9
Fram
10.09.17
✎
21:15
|
Ты свои прошлые ветки не читаешь что ли?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |