Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
19 Июн 2018, 07:39
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: В созданном через 1с в "the bat" письме не ставятся абзацы  (Прочитано 2733 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sanz

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-27
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!
В 1с почту настроить не получится, руководство строго против. Создала кнопку, по которой автоматически создается новое письмо в почтовой программе по умолчанию (в нашем случае the bat) с уже заданным телом письма. Тело письма берется из элемента формы, элемент с неограниченной длиной и многострочным режимом.


Процедура ДействияФормыПисьмо(Кнопка)
//Запускает почтовую прогу установленную по умолчанию и в текст письма вставляет значение из поля "результат":
RunApp("mailto:?Body="+Результат +"");
КонецПроцедуры

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


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
может получится текст из поля сохранить в тестовый файл и попытаться его подсунуть Бату?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
может покопаться в справке Бата на тему параметров командной строки...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Sanz

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-27
  • Сайт: 
  • Профессия: Ученик 1С
Да дело в том, что не в бате проблема - если по умолчанию стоит аутлук, то там та же беда. То есть проблема не в почтовой программе, а т свойствах передаваемого из 1с текста
Добавлено: 15 Дек 2014, 15:49

может поможет покопаться в свойствах поля ввода, например, "маска"?

Маска определяющая ввод символов в строке (может содержать определенные символы и специальные символы маски)

Последний раз редактировалось: Sanz; 15 Дек 2014, 15:49. Причина: Объединение сообщений

Оффлайн Sanz

  • *
  • Сообщений: 29
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-27
  • Сайт: 
  • Профессия: Ученик 1С
Задачу решила, если еще есть такие извращенцы-говнокодеры как я :nhsrm:, пишу решение.

Пояснения:
0) чтобы делелся перенос на др.строку нужно знак переноса (это "Символы.ПС")заменить на значок  переноса для почтового агента (%0D).
1) если в тексте будут кавычки, то дальнейший текст после них обрежется,поэтому можем заменить кавычки: ТекстБезКавычек = СтрЗаменить(Текст,Символ(34),"``");
2) а вот так он будет писать все не обрезая, но не ставить сами кавычки: ТекстБезКавычек = СтрЗаменить(Текст,Символ(34),Символ(34)+Символ(34));
3) чтоб все кавычки писались нормально (а не как описано выше в п.2 и 3) заменяем обычные кавычки на кавычки-ёлочки при помощи функции ЗаменитьКавычкиНаЕлочки(текст):

Процедура ДействияФормыПисьмо(Кнопка)

Текст= ЭлементыФормы.Результат.Значение;
ТекстБезКавычек = ЗаменитьКавычкиНаЕлочки(текст);
ТекстПисьма = СтрЗаменить(ТекстБезКавычек,Символы.ПС,"%0D");
RunApp("mailto:?Body="+ТекстПисьма +"");
КонецПроцедуры


//спасибо Sergey с другого фрума!
Функция ЗаменитьКавычкиНаЕлочки(Знач ИсходныйТекст) Экспорт
Текст= ЭлементыФормы.ЗадачаРезультат.Значение;
   Если Не ЗначениеЗаполнено(Текст) Тогда
      Возврат Текст;
   КонецЕсли;
   ДвойнаяКавычка = """";
   КоличествоКавычек = СтрЧислоВхождений(Текст, ДвойнаяКавычка);
   // Если количество кавычек меньше двух, ничего не делаем, так как нет смысла закрывать/открывать
   Если КоличествоКавычек < 2 Тогда
      Возврат Текст;
   КонецЕсли;
   ЛеваяКавычка = "«";
   ПраваяКавычка = "»";
   БуквыИЦифры = "0123456789ABCDEFGHIKLMNJOPQRSTUVWXYZ";
   БуквыИЦифры = БуквыИЦифры + "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
   Результат = "";
   ПозицияКавычки = Найти(Текст, ДвойнаяКавычка);
   Пока ПозицияКавычки > 0 Цикл
      Если ПозицияКавычки = СтрДлина(Текст) Тогда
         // Если конец строки заканчивается кавычкой
         ИсходныйТекст = Лев(Текст, ПозицияКавычки - 1) + ПраваяКавычка; //
      Иначе
         // Если впереди кавычки идут буквы и цифры, - ставим открывающую "«"
         // Если любые другие символы, - ставим закрывающую "»"
         СледующийСимвол = ВРег(Сред(Текст, ПозицияКавычки + 1, 1));
         СтрокаЗамены = ?((Найти(БуквыИЦифры, СледующийСимвол) > 0) Или (ПозицияКавычки = 1), ЛеваяКавычка, ПраваяКавычка); //
         Текст = Лев(Текст, ПозицияКавычки - 1) + СтрокаЗамены + Сред(Текст, ПозицияКавычки + 1); //
      КонецЕсли;
      // Если количество кавычек после последней замены осталось меньше двух, ничего не делаем, так как нет смысла закрывать/открывать
      КоличествоКавычек = СтрЧислоВхождений(Текст, ДвойнаяКавычка);
      Если СтрокаЗамены = ПраваяКавычка И КоличествоКавычек < 2 Тогда
         ПозицияКавычки = 0;
      Иначе
         ПозицияКавычки = Найти(Текст, ДвойнаяКавычка);
      КонецЕсли;
   КонецЦикла;
   Возврат Текст;
КонецФункции // ЗаменитьКавычкиНаЕлочки()



Теги:
 

Здравствуйте!!! Необходимо востановить ИБ на определенную дату. Копии через конфигуратор на эту дату не сделали, но есть файл в формате CD в rar (Это программа сама сделала резервную копию). Возможно ли востановит ее в 1с и работать (как при загрузке копи

Автор Лариса198888Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2223
Последний ответ 24 Май 2016, 17:17
от Kironten
Обмен УТ 11 и БП 3.0 через универсальный обмен данными

Автор magnifico61Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 8289
Последний ответ 25 Дек 2014, 13:40
от cska-fanat-kz
Оплата через терминал - отражение операции и отражение в КУДиР

Автор assol_07Раздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 5584
Последний ответ 15 Фев 2012, 18:16
от assol_07
Вывод результата запроса через условие другого запроса

Автор jonik_jokerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3322
Последний ответ 16 Окт 2013, 15:08
от jonik_joker
Документы на регистрацию ИП или юридического лица в Московской области можно отправить через фирму DHL Express

Автор newsРаздел Новости

Ответов: 0
Просмотров: 1036
Последний ответ 02 Сен 2014, 12:38
от news

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
134 Сообщений
AIFrame AIFrame
124 Сообщений
alexandr_ll
56 Сообщений
alex0402
47 Сообщений
pavl_vs
47 Сообщений
buketov.av buketov.av
43 Сообщений
ilyay ilyay
36 Сообщений
trialex3
24 Сообщений
magnifico61
21 Сообщений
wise wise
15 Сообщений

* Кто онлайн

  • Точка Гостей: 438
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal