|   |   | 
| 
 | 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С? | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |