|
ЗаписьТекста() Ошибка при вызове конструктора (ЗаписьТекста) | ☑ | ||
---|---|---|---|---|
0
MiracMC
24.03.20
✎
16:15
|
На = толстом клиента (режим Серверный) УПП 8.3.15.1700
работает вот такой код (суть его в кодировании информации в Base64) Результ = ""; Птк = Новый ПотокВПамяти; Текст = Новый ЗаписьТекста(Птк) ; Текст.Записать(стр); Текст.Закрыть(); ДД = Птк.ЗакрытьИПолучитьДвоичныеДанные(); Результ = Base64Строка(ДД); Но в другой среде = толстом клиента (режим Серверный) УТП 8.3.9.2309 При выполнении этого же кода я получаю ошибку Ошибка при вызове конструктора (ЗаписьТекста) Текст = Новый ЗаписьТекста(Птк) ; из за: Ошибка доступа к файлу 'ПотокВПамяти' В чем может крыться тайны сего явления? Заранее всем благодарен! |
|||
1
lodger
24.03.20
✎
16:52
|
какой режим совместимости в УТП 8.3.9.2309
? |
|||
2
spiller26
24.03.20
✎
16:53
|
Что вы пишите туда?
|
|||
3
lodger
24.03.20
✎
16:57
|
(2) высокая вероятность, что пилят маркировку и ккм. там похожие упражнения выполняются:
Процедура СформироватьДвоичныеДанныеДляЧисла(ДанныеМаркировки, Знач ЗначениеЧисла = Неопределено, Знач ЗначениеСтроки = Неопределено) Префикс = ПрефиксКодированияРеквизита(ДанныеМаркировки.ТипИдентификатораТовара); Тело = Новый ПотокВПамяти(); ЗаписьДанных = Новый ЗаписьДанных(Тело); ЗаписьДанных.ЗаписатьЦелое64(Число(ЗначениеЧисла), ПорядокБайтов.BigEndian); Если Не ПустаяСтрока(ЗначениеСтроки) Тогда ЗаписьДанных.ЗаписатьСимволы(ЗначениеСтроки); КонецЕсли; ЗаписьДанных.Закрыть(); Тело.Перейти(0, ПозицияВПотоке.Начало); ЗаписьДанных = Новый ЗаписьДанных(Тело); ЗаписьДанных.ЗаписатьЦелое16(Префикс, ПорядокБайтов.BigEndian); ЗаписьДанных.Закрыть(); ДанныеМаркировки.РевизитКодаТовараHEX = Тело.ЗакрытьИПолучитьДвоичныеДанные(); ДанныеМаркировки.РевизитКодаТовара = Base64Строка(ДанныеМаркировки.РевизитКодаТовараHEX); КонецПроцедуры |
|||
4
lodger
24.03.20
✎
17:02
|
(1) (0) фишка в том, что ПотокВПамяти как раз на 8.3.9 появился. и вероятно, "Ошибка доступа к файлу 'ПотокВПамяти'" - говорит о том, что платформа ожидает увидеть там файл, а не поток.
|
|||
5
MiracMC
24.03.20
✎
23:37
|
(1) УТП 8.3.9.2309 Режим: Серверний (ущільнення: посилене)
так же как и в УПП 8.3.15.1700 (2) я туда передаю данные которые хочу закодировать Base64.... есть конкретно - запросы в формате JSON (3) нет... в это месте у меня еще "чистые данные"... вот тут я их в Base64 и потом уже всякие извращения.... (4) мдя... скорее всего именно это и есть корень моей проблемы. Наверно в 8.3.9 просто еще не адаптирована была функция ЗаписьТекста() для передачи в нее не ссылки на файл а ПотокаВПамяти ((( Иными словами если я это будут тут делать через временный файл - я обойду это проблему? |
|||
6
lodger
25.03.20
✎
10:30
|
(5) через временный файл - заработает 100%.
однако на вопрос из (1) ты не ответил. Режим совместимости так и остался неизвестен. |
|||
7
MiracMC
25.03.20
✎
17:59
|
(6) через файл реализовал. работает. спасибо
про режим - все что нашел "Режим: Серверний (ущільнення: посилене)".. и там и там одинаково.. это ж с "справка" - "о программе"? |
|||
8
lodger
26.03.20
✎
11:04
|
(7) нет. гугл в помощь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |