Имя: Пароль:
1C
1С v8
v8: Проблема с кодировкой
0 aptomilov
 
18.01.12
11:13
Программно формирую текст HTML вставляю его как текст в письмо и отправляю средствами 1С. Результат : все читаемо кроме нескольких строк в табличной части в конце документа они выходя как кракозябры как будто кодировка не пошла
http://dl.dropbox.com/u/37772184/pril.png
1 aptomilov
 
18.01.12
11:14
если взять этот же код и открыть браузером то все ОК
2 aptomilov
 
18.01.12
11:15
причем текст в колонке объект один и тот же
3 Дядя Васька
 
18.01.12
11:16
ты б хоть код выложил что ли...
4 aptomilov
 
18.01.12
11:20
а запросто на те

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp-1251" />
<title>Untitled Document</title>
<style type="text/css">
.style5 {
   font-size: large;
   font-weight: bold;
}
.style6 {
   font-size: x-large;
   font-weight: bold;
}
.style8 {
   font-size: x-large;
   font-weight: bold;
   color: #FF0000;
}
.style10 {
   font-size: large;
   font-weight: bold;
   color: #0000FF;
}
</style>
</head>

<body>
<table width="725" height="390" border="1">
<tr align="center">
  <td width="126" height="105" valign="top"><p>№ документа:</p>
  <p class="style5">N 00000000144 от 16.01.2012 16:21:19</p></td>    
   <td width="25%" height=153" valign="top"><p align="center">Контрагент:</p>
   <p align="center"><strong>Агрострой ЖБИ завод ЗАО</strong></p>
   <table width="100%" border=0" cellpadding=1" cellspacing=1" bordercolor=#FFFFFF" bgcolor=#FFFFFF">
     <tr>
       <td width="20%" align="center">Кред.:</td>
      <td width="50%" "align="center"bgcolor=#00FF00><strong>Задолженность:659 161,76</strong></td>
     </tr>
     <tr>
       <td width="20%" align="center"><strong> ОР: </strong></td>
       <td bgcolor=#00FF00><align="center"><strong>Задолженность:659 161,76</strong></td>
     </tr>
   </table>    <p>&nbsp;</p>
   </td>
      <td width="25%" height=153" valign="top"><p>Сумма: </p>      
     <p><font size="6"color="#FF0000"> <strong>659 161,76</strong></font></p>
   <p><font size="3" color="#0000FF"> <strong>659 161,76</strong></font></p></td>
   </td>
  <td width="246" align="center" valign="top"><p align="center">Наименование платежа: </p>
  <p align="center"><strong></strong></p></td>
 </tr>
 
<tr>
   <td height="24" colspan="4" align="left">ЦФО: <strong>Отдел материально-технического снабжения</strong></td>
 </tr>
 <tr>
   <td height="23" colspan="4" align="left">Ответственный: <strong>Леванов Михаил Владимирович</strong></td>
 </tr>
 <tr align="center">
   <td height="38" colspan="2" bgcolor=#00FF00><strong>Директор фин. деп. и казначейства Бутов В.Д.: одобрено <strong>Подписан</strong></td>
   <td bgcolor=#00FF00><strong>Экономист Ивко А.С.::</strong>Подписан</strong></td>
   <td bgcolor=#00FF00><strong>Директор Ческидов М.А.: одобрено</strong>Подписан</strong></td>
 </tr>  
 <tr align="center">
<td height="34%" colspan="2">  </td>
<td >  </td>
<td >  </td>
</tr>
 <tr align="center" valign="top">
   <td height="23" colspan="4"> <font color="#ff0000" align="center"><strong>Приоритетное</strong></td>
 </tr>
 <tr align="center" valign="top">
   <td height="23" colspan="4" align="left"><strong>Примечание: </strong></td>
 </tr>
<tr>
  <td height="23" colspan="4" align="center"><a href="http://vpn.interpolis74.ru/s4et/зрс00000000144.01.12г..jpg"><strong>Счет</strong></a></td>
 </tr>
</table>
<br>
<b>Перечень номенклатуры</b>
<table width="725" border="1">
<tr>
   <td width="20%">Объект</td>
   <td width="45%">Номенклатура</td>
   <td width="7%">Кол-во</td>
   <td width="5%">Ед.Изм.</td>
   <td width="10%">Цена</td>
   <td width="13%">Сумма</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Прогон ПРГ 60.2.5-4Т</td>
   <td>20</td>
   <td>шт</td>
   <td>11 078,58</td>
   <td>221 571,67</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Прогон ПРГ 32.1.4-4Т</td>
   <td>2</td>
   <td>шт</td>
   <td>2 619,99</td>
   <td>5 239,98</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Прогон ПРГ 28.1.3-4Т</td>
   <td>2</td>
   <td>шт</td>
   <td>2 379,63</td>
   <td>4 759,25</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Плита  перекрытия  ПБ 60-15-8 AтV</td>
   <td>36</td>
   <td>шт</td>
   <td>8 071,24</td>
   <td>290 564,47</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Плита  перекрытия  ПБ 60-12-8 AтV</td>
   <td>1</td>
   <td>шт</td>
   <td>5 848,49</td>
   <td>5 848,49</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Плита  перекрытия  ПБ 60-15-12,5 AтV</td>
   <td>5</td>
   <td>шт</td>
   <td>8 433,61</td>
   <td>42 168,07</td>
</tr>
<tr>
   <td>Кулибина 3Ж АБК 3-я очередь</td>
   <td>Плита  перекрытия  ПБ 30-15-8 AтV</td>
   <td>22</td>
   <td>шт</td>
   <td>4 045,9</td>
   <td>89 009,83</td>
</tr>
</table>
</body>
</html>
5 hhhh
 
18.01.12
11:31
(4) это код не на языке 1с
6 aptomilov
 
18.01.12
11:37
Зато стряпал его язык 1С вот этот ) :


Функция ФормированиеТекстаПисьма()
НомерДокВписьмо=Номер;
ДатаДок=Дата;
КомВписьмо=Строка(СоглСумма);

СуммаВписьмо=Строка(СуммаДокумента);
СальдоКонечноеФорматированное="";
СуммаПланОР=0;
   ЦветИ="";
   ЦветЭ="";
   ЦветД="";
   ЦветКредиторки="";
   ЦветПлана="";
   КредиторкаВПисьмо=0; ///реальные данные
   Если КредиторкаВПисьмо<0  Тогда
       ЦветКредиторки="#FF0000";
   иначе
       ЦветКредиторки="#00FF00";    
   КонецЕсли;
   ПланВПисьмо=0;
   ПланВПисьмо = ПланВПисьмо + СоглСумма;
   Если ПланВПисьмо<0 Тогда
       ЦветПлана="#FF0000";
   иначе
       ЦветПлана="#00FF00"
   КонецЕсли;
   
   Если ЭконФлаг  Тогда
       ПодписьИ="Подписан";
       ЦветИ="#00FF00";
   иначе
       ПодписьИ="Не подписан";
       ЦветИ="#FF0000";
   КонецЕсли;  
   
   Если ГлЭконФлаг  Тогда
       ПодписьЭ="Подписан";
       ЦветЭ="#00FF00";
   иначе
       ПодписьЭ="Не подписан";
       ЦветЭ="#FF0000";
   КонецЕсли;
   
   Если ДиректорФлаг Тогда
       ПодписьД="Подписан";
       ЦветД="#00FF00";
   иначе
       ПодписьД="Не подписан";
       ЦветД="#FF0000";
   КонецЕсли;
   
   Если ПриоритетнаяОтправка  Тогда    
       Приоритетность="";
   иначе
       Приоритетность="Приоритетное";
   КонецЕсли;        
   
   ОтпрФайл=ПолучитьИмяФайла();
   Если Найти(Строка(ОтпрФайл),"00")<>0 Тогда
   Иначе
       
       ОтпрФайл="http://vpn.interpolis74.ru/s4et2.html";
   КонецЕсли;    

   ОперативнаяЗадолженность=ЭлементыФормы.НадписьИтогоЗадолженностьПоКонтрагенту.Заголовок;
   
   Объекты=СокрЛП(ЦФО.Наименование);
   
ТекстПисьма="<html>
   |<head>
   |<meta http-equiv=""Content-Type"" content=""text/html; charset=cp-1251"" />
   |<title>Untitled Document</title>
   |<style type=""text/css"">
   |<!--
   |.style5 {
   |    font-size: large;
   |    font-weight: bold;
   |}
   |.style6 {
   |    font-size: x-large;
   |    font-weight: bold;
   |}
   
   |.style8 {
   |    font-size: x-large;
   |    font-weight: bold;
   |    color: #FF0000;
   |}
   |.style10 {
   |    font-size: large;
   |    font-weight: bold;
   |    color: #0000FF;
   |}
   //|-->
   |</style>
   |</head>
   |
   |<body>
   //|<p align=""left"" class=""style6""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   //|"+Город+"</p>
   |<table width=""725"" height=""390"" border=""1"">
   | <tr align=""center"">
   |   <td width=""126"" height=""105"" valign=""top""><p>№ документа:</p>
   |   <p class=""style5"">N "+НомерДокВписьмо+" от "+ДатаДок+"</p></td>    
   |    <td width=""25%"" height=153"" valign=""top""><p align=""center"">Контрагент:</p>
   |    <p align=""center""><strong>"+Контрагент+"</strong></p>
   |    <table width=""100%"" border=0"" cellpadding=1"" cellspacing=1"" bordercolor=#FFFFFF"" bgcolor=#FFFFFF"">
   |      <tr>
   |        <td width=""20%"" align=""center"">Кред.:</td>
   //|       <td width=""50%"" align=""center"">План ОР:</td>
   |       <td width=""50%"" ""align=""center""bgcolor="+ЦветКредиторки+"><strong>"+ОперативнаяЗадолженность+"</strong></td>
   |      </tr>
   |      <tr>
   |        <td width=""20%"" align=""center""><strong> ОР: </strong></td>
   |        <td bgcolor="+ЦветПлана+"><align=""center""><strong>"+Формат(ОперативнаяЗадолженность, "Ч010.0. ")+"</strong></td>
   |      </tr>
   |    </table>    <p>&nbsp;</p>
   |    </td>
   |       <td width=""25%"" height=153"" valign=""top""><p>Сумма: </p>      
   |      <p><font size=""6""color=""#FF0000""> <strong>"+КомВПисьмо+"</strong></font></p>
   |    <p><font size=""3"" color=""#0000FF""> <strong>"+СуммаВПисьмо+"</strong></font></p></td>
   |    </td>
   |   <td width=""246"" align=""center"" valign=""top""><p align=""center"">Наименование платежа: </p>
   |   <p align=""center""><strong>"+СокрЛП(Описание)+"</strong></p></td>
   |  </tr>
   |  
   | <tr>
   |    <td height=""24"" colspan=""4"" align=""left"">ЦФО: <strong>"+Объекты+"</strong></td>
   |  </tr>
   |  <tr>
   |    <td height=""23"" colspan=""4"" align=""left"">Ответственный: <strong>"+Ответственный+"</strong></td>
   |  </tr>
   |  <tr align=""center"">
   //|    <td height=""38"" colspan=""2"" bgcolor=""#00FF00""><strong>Главный экономист:<strong>" +Строка(ПодписьЭ)+"</strong></td>
   |    <td height=""38"" colspan=""2"" bgcolor="+ЦветЭ+"><strong>" + ЭлементыФормы.ГлЭконНадпись.Заголовок +" одобрено <strong>" +Строка(ПодписьЭ)+"</strong></td>
   
   //|    <td bgcolor=""#00FF00""><strong>Финансист</strong></td>
   |    <td bgcolor="+ЦветИ+"><strong>"+ЭлементыФормы.ЭконНадпись.Заголовок+":</strong>" +Строка(ПодписьИ)+"</strong></td>
   //|    <td bgcolor=""#FF0000""><strong>Директор</strong></td>  
   |    <td bgcolor="+ЦветД+"><strong>"+ЭлементыФормы.ДиректорНадпись.Заголовок+" одобрено</strong>" +Строка(ПодписьД)+"</strong></td>
   |  </tr>  
   
   |  <tr align=""center"">
   |<td height=""34%"" colspan=""2"">  " + СокрЛП(ГлЭконКомментарий) + "</td>
   |<td >  " + СокрЛП(ЭконКомментарий) + "</td>
   |<td >  " + СокрЛП(ДиректорКомментарий) + "</td>
   | </tr>

   
   
   |  <tr align=""center"" valign=""top"">
   |    <td height=""23"" colspan=""4""> <font color=""#ff0000"" align=""center""><strong>" +Приоритетность+ "</strong></td>
   //  |  <td>  <h3><font color=""#ff0000""align=""center"">" +Приоритетность+ "</strong></p></td>
   |  </tr>
   |  <tr align=""center"" valign=""top"">
   |    <td height=""23"" colspan=""4"" align=""left""><strong>Примечание: "+СокрЛП(Комментарий)+"</strong></td>
   |  </tr>
   | <tr>
   // |   <td height=""23"" colspan=""4"" align=""center""><strong>Счет (Ссылка)</strong></td>
   |   <td height=""23"" colspan=""4"" align=""center""><a href="""+ ОтпрФайл+"""><strong>Счет</strong></a></td>
   |  </tr>
   //|  <tr>
   //|    <td height=""111"" colspan=""4"" valign=""top"">Для механиков: <strong>"+ИмяФайла1+"</strong></td>
   //|  </tr>
   |</table>
   
   |<br>
   |<b>Перечень номенклатуры</b>
   |<table width=""725"" border=""1"">
   |<tr>
   |    <td width=""20%"">Объект</td>
   |    <td width=""45%"">Номенклатура</td>
   |    <td width=""7%"">Кол-во</td>
   |    <td width=""5%"">Ед.Изм.</td>
   |    <td width=""10%"">Цена</td>
   |    <td width=""13%"">Сумма</td>
   |</tr>";
   
   
   
   ТекстТабЧасти="";
   Для Каждого СтрокаЗРС Из ДопРасшифровкаПлатежа Цикл
       ОбъектСтр = СокрЛП(СтрокаЗРС.Объект.Наименование);
       Если Найти(ОбъектСтр,"<>")<>0 Тогда
           ОбъектСтр="";
       КонецЕсли;    
       НоменклатураСтр=СокрЛП(СтрокаЗРС.Номенклатура.Наименование);    
       КолВоСтр=Строка(СтрокаЗРС.Количество);
       ЕдИзмСтр=СокрЛП(СтрокаЗРС.ЕдиницаИзмерения.Наименование);
       ЦенаСтр=Строка(СтрокаЗРС.Цена);
       СуммаПлатежаСтр=Строка(СтрокаЗРС.СуммаПлатежа);
       
       ТекстТабЧасти=ТекстТабЧасти+"
       |<tr>
       |    <td>"+ОбъектСтр+"</td>
       |    <td>"+НоменклатураСтр+"</td>
       |    <td>"+КолВоСтр+"</td>
       |    <td>"+ЕдИзмСтр+"</td>
       |    <td>"+ЦенаСтр+"</td>
       |    <td>"+СуммаПлатежаСтр+"</td>
       |</tr>";
   КонецЦикла;
   ТекстПисьма=ТекстПисьма+ТекстТабЧасти;
   
   
   
   КонецТекста="
   |</table>
   |</body>
   |</html> ";    
   
   ТекстПисьма=ТекстПисьма+КонецТекста;
   
   Возврат ТекстПисьма;    
КонецФункции   //ФормированиеТекстаПисьма()
7 Дядя Васька
 
18.01.12
11:38
(4) Проблема явно на этапе "вставляю его как текст в письмо и отправляю средствами 1С", сам html верный. Какой-то символ 1С не так вставляет, вот и перевирается.
8 mikecool
 
18.01.12
11:42
состряпал бы табдок, сохранил в хтмл, а потом бы вставил
9 aptomilov
 
18.01.12
12:15
Текст.Кодировка = "windows-1251"; вот эта строчка все решила   // тут имеется ввиду текст письма
AdBlock убивает бесплатный контент. 1Сергей