Имя: Пароль:
1C
1C 7.7
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С?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn