|
v7: Перекодировка текста из base64 | ☑ | ||
---|---|---|---|---|
0
mishaPH
модератор
12.11.15
✎
14:47
|
Есть вот такая функция в одной конфе
Функция Декодировать(Стр, Кодировка="base64", charset = "windows-1251") ЦДО=СоздатьОбъект("CDO.Message"); БодиПарт=ЦДО.BodyPart; БодиПарт.ContentTransferEncoding = Кодировка; Стрим=БодиПарт.GetEncodedContentStream(); Поля=БодиПарт.Fields; Поле=Поля.Item("urn:schemas:mailheader:content-type"); Поле.Value="text/plain; charset=""windows-1251"""; Поля.Update(); Стрим.WriteText(Стр); Стрим.Flush(); Стрим = БодиПарт.GetDecodedContentStream(); Стрим.charset = charset; Возврат Стрим.ReadText(); КонецФункции при попытке ее выполнить выдает Стрим=БодиПарт.GetEncodedContentStream(); {Z:\КОНТУР\1\КОНТУРEDI_API.ERT(156)}: Неизвестная ошибка На мисте была подобная тема, брал код от туда похожий и таже ошибка как в 1с77 конвертировать файл в base64 чего ей надо? |
|||
1
mishaPH
модератор
12.11.15
✎
15:48
|
ап
|
|||
2
Serginio1
12.11.15
✎
16:05
|
врап=новый COMОбъект("NetObjectToIDispatch45");
Convert=Врап.ПолучитьТип("System.Convert"); File=Врап.ПолучитьТип("System.IO.File"); Массив= Convert.FromBase64String(preview); File.WriteAllBytes(ИмяФайла,preview); |
|||
3
Serginio1
12.11.15
✎
16:29
|
Если нужна строка то
Кодировщик=Врап.ПолучитьТип("System.Text.Encoding").GetEncoding(1251); Строка=Кодировщик.GetString(массив); |
|||
4
mishaPH
модератор
12.11.15
✎
16:30
|
(2) это для 8ки. но дело оказалось вообще в другом. Оказывается, эта хрень выбивает ошибку только на компах внутри рабочей сети. блин. дома и на других тачка все отрабатывает.
Это это за объект CDO.Message какой компоненты виндов? активХ? |
|||
5
Serginio1
12.11.15
✎
16:32
|
(4) Для семерки то же самое только
врап=СоздатьОбъект("NetObjectToIDispatch45"); врап.УстЭтоСемерка(); |
|||
6
Garykom
гуру
12.11.15
✎
16:35
|
(4) админ права порезал
|
|||
7
mishaPH
модератор
12.11.15
✎
16:36
|
(6) не у меня права доменного админа. нишь ИТ спец говорит есть 2 варианта
1. у нас запрещен запуск активх 2. нет фреймворк не обновляли никогда и стоит старый. |
|||
8
mishaPH
модератор
15.11.15
✎
13:32
|
пипец. админы не могут понять, от какой проги CDO
установили на тачку нет фрейморк полный. не оно. в комплект чего входит этот пакет? |
|||
9
Serginio1
15.11.15
✎
14:13
|
(8) Он стоит. Иначе бы ошибка была при вызове свойств и самого объекта еще до GetEncodedContentStream();
Попробуй вызови из VB что бы получить нормальную ошибку |
|||
10
mishaPH
модератор
15.11.15
✎
14:16
|
(9) да это понятно. но может версия какая странная.
там видимо еще какую то хрень использует. явно что-то в групповых политиках или безопасности. Админы что-то закрутили, а теперь видимо сами не поймут, что. может скрипт какой исполнить хочет а система не дает. х.з. |
|||
11
Serginio1
15.11.15
✎
14:16
|
https://msdn.microsoft.com/Ru-ru/library/ms527032(v=exchg.10).aspx
А так напоминает анекдот про мышей и кактусы. Вместо, того что бы использовать 5. При этом в 7 ке куча мест где можно использовать мощь .Net. |
|||
12
mishaPH
модератор
15.11.15
✎
14:37
|
(11) офис? пакет оутлука?
|
|||
13
mishaPH
модератор
15.11.15
✎
14:47
|
(12) доустановил все. не помогло
|
|||
14
Serginio1
15.11.15
✎
15:14
|
(13) А почему не хочешь использовать 2,5
|
|||
15
mishaPH
модератор
15.11.15
✎
15:54
|
(14) 2.5?
дело в том, что сейчаснастраиваю уже написанный код для обмена ЕДИ через АПИ от Контура И делать опять что-то свое.. в последнюю очередь. Это раскодировка, а есть еще и обратная кодировка на ответ. тоже переделывать |
|||
16
Serginio1
15.11.15
✎
16:03
|
(15) Так там кстати наверняка есть и API на .Net
И ты уже кучу времени потратил. Просто мне интересно, почему мало кто использует NetObjectToIDispatch45 несмотря на его мощь. |
|||
17
ДенисЧ
15.11.15
✎
16:10
|
(16) Потому что нет придумали ещё более обкуренные инопланетяне, чем ут11.
|
|||
18
mishaPH
модератор
15.11.15
✎
16:17
|
(16) не я не тратил пока. я пока эта бодяга идет пишу дальше. Если уж упрутся, то.. Просто интересно уже стало. Чего так админы закрыли, что это не работает
|
|||
19
Serginio1
15.11.15
✎
16:51
|
(17) А в чем обкуренность? Огромная куча библиотек на все случай жизни. А Использование в 1С через COM всю мощь .Net это называется обкуренностью?
Я давно использую .Net. Отказавшись от своего любимого Delphi. По мне так например C# очень просто й мощный язык. Вот я и не пойму в чем проблема использования библиотек .Net в 1С? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |