Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Перекодировка текста из base64

v7: Перекодировка текста из base64
Я
   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

чего ей надо?
   mishaPH
 
Модератор
1 - 12.11.15 - 15:48
ап
   Serginio1
 
2 - 12.11.15 - 16:05
врап=новый COMОбъект("NetObjectToIDispatch45");
Convert=Врап.ПолучитьТип("System.Convert");
File=Врап.ПолучитьТип("System.IO.File");

Массив= Convert.FromBase64String(preview);
File.WriteAllBytes(ИмяФайла,preview);
   Serginio1
 
3 - 12.11.15 - 16:29
Если нужна строка то 
Кодировщик=Врап.ПолучитьТип("System.Text.Encoding").GetEncoding(1251);
Строка=Кодировщик.GetString(массив);
   mishaPH
 
Модератор
4 - 12.11.15 - 16:30
(2) это для 8ки. но дело оказалось вообще в другом. Оказывается, эта хрень выбивает ошибку только на компах внутри рабочей сети. блин. дома и на других тачка все отрабатывает.

Это это за объект CDO.Message какой компоненты виндов? активХ?
   Serginio1
 
5 - 12.11.15 - 16:32
(4) Для семерки то же самое только
врап=СоздатьОбъект("NetObjectToIDispatch45");
    врап.УстЭтоСемерка();
   Garykom
 
6 - 12.11.15 - 16:35
(4) админ права порезал
   mishaPH
 
Модератор
7 - 12.11.15 - 16:36
(6) не у меня права доменного админа. нишь ИТ спец говорит есть 2 варианта
1. у нас запрещен запуск активх
2. нет фреймворк не обновляли никогда и стоит старый.
   mishaPH
 
Модератор
8 - 15.11.15 - 13:32
пипец. админы не могут понять, от какой проги CDO

установили на тачку нет фрейморк полный. не оно.

в комплект чего входит этот пакет?
   Serginio1
 
9 - 15.11.15 - 14:13
(8) Он стоит. Иначе бы ошибка была при вызове свойств и самого объекта еще до GetEncodedContentStream();
Попробуй вызови из VB что бы получить нормальную ошибку
   mishaPH
 
Модератор
10 - 15.11.15 - 14:16
(9) да это понятно. но может версия какая странная.
там видимо еще какую то хрень использует.

явно что-то в групповых политиках или безопасности. Админы что-то закрутили, а теперь видимо сами не поймут, что.
может скрипт какой исполнить хочет а система не дает. х.з.
   Serginio1
 
11 - 15.11.15 - 14:16
https://msdn.microsoft.com/Ru-ru/library/ms527032(v=exchg.10).aspx

А так напоминает анекдот про мышей и кактусы. Вместо, того что бы использовать 5. При этом в 7 ке куча мест где можно использовать мощь .Net.
   mishaPH
 
Модератор
12 - 15.11.15 - 14:37
(11) офис? пакет оутлука?
   mishaPH
 
Модератор
13 - 15.11.15 - 14:47
(12) доустановил все. не помогло
   Serginio1
 
14 - 15.11.15 - 15:14
(13) А почему не хочешь использовать 2,5
   mishaPH
 
Модератор
15 - 15.11.15 - 15:54
(14) 2.5?

дело в том, что сейчаснастраиваю уже написанный код для обмена ЕДИ через АПИ от Контура И делать опять что-то свое.. в последнюю очередь.
Это раскодировка, а есть еще и обратная кодировка на ответ. тоже переделывать
   Serginio1
 
16 - 15.11.15 - 16:03
(15) Так там кстати наверняка есть и API на .Net
И ты уже кучу времени потратил. Просто мне интересно, почему мало кто использует NetObjectToIDispatch45 несмотря на его мощь.
   ДенисЧ
 
17 - 15.11.15 - 16:10
(16) Потому что нет придумали ещё более обкуренные инопланетяне, чем ут11.
   mishaPH
 
Модератор
18 - 15.11.15 - 16:17
(16) не я не тратил пока. я пока эта бодяга идет пишу дальше. Если уж упрутся, то.. Просто интересно уже стало. Чего так админы закрыли, что это не работает
   Serginio1
 
19 - 15.11.15 - 16:51
(17) А в чем обкуренность? Огромная куча библиотек на все случай жизни. А Использование в 1С через COM всю мощь .Net это называется обкуренностью?
Я давно использую .Net. Отказавшись от своего любимого Delphi. По мне так например C# очень просто й мощный язык. Вот я и не пойму в чем проблема использования библиотек .Net в 1С?

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.