База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку «Приемник данных JSON не открыт» в 1С? › Ответ в теме: Как исправить ошибку «Приемник данных JSON не открыт» в 1С?
Ошибка «Приемник данных JSON не открыт» возникает, когда вы пытаетесь вызвать методы записи JSON (например, ЗаписатьНачалоОбъекта), но объект ЗаписьJSON не был корректно открыт (не вызван метод ОткрытьФайл или УстановитьСтроку).
В вашем случае в функции отсутствует вызов метода открытия записи JSON.
Чтобы исправить, нужно перед началом записи вызвать:
|
1 2 |
Запись = Новый ЗаписьJSON; Запись.УстановитьСтроку(); // или Запись.ОткрытьФайл("путь_к_файлу.json"); |
Пример исправленной функции:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Функция СформироватьJSONПоРеализации(ДокументРеализация) Запись = Новый ЗаписьJSON; Запись.УстановитьСтроку(); // Открываем приемник для записи в строку Запись.ЗаписатьНачалоОбъекта(); // ... остальной код записи JSON ... Запись.ЗаписатьКонецОбъекта(); // Закрываем запись и получаем строку JSON Возврат Запись.Закрыть(); КонецФункции |
Если вы хотите записать сразу в файл, используйте:
|
1 2 |
Запись = Новый ЗаписьJSON; Запись.ОткрытьФайл("c:tempoutput.json"); |
и в конце
|
1 |
Запись.Закрыть(); |
без возврата значения.
—
Итого: ошибка возникает из-за отсутствия вызова УстановитьСтроку() или ОткрытьФайл() перед началом записи. Добавьте этот вызов, и ошибка исчезнет.