Имя: Пароль:
1C
 
ЗаписатьJSON. Передано значение недопустимого типа
0 DTX 4th
 
19.09.20
11:08
В продолжение
Как правильно организовать работу с планом обмена?

Вроде все типы примитивные, но получаю такую ошибку. ЧЯДНТ?
https://i.imgur.com/i1AaPmm.png
1 Конструктор1С
 
19.09.20
11:11
У тя данные левым соединением подтягиваются и нет проверки на NULL
2 DTX 4th
 
19.09.20
11:12
(1) Есть. Для цены - isNull, для упаковок - ЗначениеЗаполнено
3 Конструктор1С
 
19.09.20
11:13
А не так ты делаешь то, что обходишь итоги и пытаешься записать данные, которых нет в итоговой группировке
4 Конструктор1С
 
19.09.20
11:13
у тебя только цена есть в корневой выборке, все другие NULL
5 Конструктор1С
 
19.09.20
11:14
(2) для других-то нет проверки
6 DTX 4th
 
19.09.20
11:14
(4) Не понял. Я цену только из корневой выборки и дергаю
https://i.imgur.com/EyPX9Uo.png
7 Конструктор1С
 
19.09.20
11:16
(6) Выборка = Рез.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам) - вот тут у тебя будет бороздить по корневой группировке
8 Конструктор1С
 
19.09.20
11:17
а в корневой номенклатура и цена, других данных ещё нет
9 DTX 4th
 
19.09.20
11:19
(8) Он умный. Видит, то реквизиты номенклатуры и тоже их дает получить:
https://i.imgur.com/LMzT3tH.png

А вот так выглядит позиция, где есть еще упаковки:
https://i.imgur.com/vx8SpcK.png

С виду все ок. Косячная 1С как всегда?
10 Конструктор1С
 
19.09.20
11:22
(9) я бы на эту умность не надеялся
11 Конструктор1С
 
19.09.20
11:23
попробуй в запрос добавить агрегатные функции для других полей. МАКСИМУМ(Наименование), МАКСИМУМ(Артикул)
12 DTX 4th
 
19.09.20
11:31
(10) Уф, нашел...
Где НЕ Ном.ЭтоГруппа
*facepalm*

Вот так искал :)
https://i.imgur.com/9pTVLoL.png

Спасибо за моральную поддержку)
13 DTX 4th
 
19.09.20
11:35
Теперь кодировку не могу победить...
https://i.imgur.com/1wDAE3W.png

Почему так больно кодить на 1С???
https://www.meme-arsenal.com/memes/78f9579d240e348ea696e561abd42288.jpg
14 DTX 4th
 
19.09.20
11:37
К слову, гуглить я пробовал)
https://i.imgur.com/5cnFzuS.png
15 DTX 4th
 
19.09.20
11:41
И почему NULL не сериализуется тоже непонятно
16 DTX 4th
 
19.09.20
11:46
Не, ну это пздц.
Так и хочется на*рать разрабам в руки.
https://i.imgur.com/IhIPFrq.png

Как же хорошо, что пару лет назад я написал свой сериализатор...
https://i.imgur.com/6ikvt71.png

https://i.imgur.com/eue4tp1.png
17 ДенисЧ
 
19.09.20
12:34
(15) А почему оно должно сериализоваться? Оно вообще не должно появляться в выдаче на ружу (имя такое, венгерское)
18 DTX 4th
 
19.09.20
13:36
(17) Потому что json поддерживает null.
https://i.imgur.com/HYUPJuD.png
19 RomanYS
 
19.09.20
13:56
(18) В терминах 1С это будет Неопределено
20 Ёпрст
 
19.09.20
14:12
(13) в этом коде файл не нужен, от слова совсем.
21 Ёпрст
 
19.09.20
14:13
и не надо ничего создавать и потом еще читать. Выкинь этот код в топку
22 palsergeich
 
19.09.20
14:15
У метода ЗаписатьJSON - один из параметров - функция преобразования.
Вот в ней и обрабатывай то, что штатным сериалищатором не получается.
Это не 1 не очень, это просто кто то не разобрался в вопросе.
Почитай сначала это, потом уже ругайся.
https://wonderland.v8.1c.ru/blog/sredstva-raboty-s-json/
23 d4rkmesa
 
19.09.20
14:19
Что-то пошло не так. )
24 DTX 4th
 
19.09.20
14:22
(19) Ну ок, пусть так

(20) С этого места поподробнее пожалуйста

(21) Код я уже выкинул и вставил свою сериализацию, см (16). Работает как часы

(22) Ок, тот же вопрос. Как сериализовать без файла?
25 palsergeich
 
19.09.20
14:23
(24) ПотокВПамяти
26 palsergeich
 
19.09.20
14:25
(24) Точнее когда создаешь ЗаписьJSON используйэтот метод
ЗаписьJSON.ОткрытьПоток
27 palsergeich
 
19.09.20
14:25
Вместо открыть или ОткрытьФайл
28 palsergeich
 
19.09.20
14:26
(27) Тьфу ВместоУстановитьСтроку или ОткрытьФайл.
Хотя без файла подходит и метод - установитьСтроку
29 DTX 4th
 
19.09.20
14:27
+ (19)
На самом деле выглядит не очень логично. Неопределено - это undefined, а null - он и в африке null.

(25) Лол, у меня даже в СП такого нет)
https://i.imgur.com/PmFIJeh.png

(26) Да я нагуглил уже

(22) Может, ты же сможешь подсказать, что ему не нравилось в кодировке (13), чтобы мы окончательно убедились, что дело не в 1С?)
30 Salimbek
 
19.09.20
14:31
(29) Дык, а нафига ты записал текст в UTF-8, а читал не в UTF-8?
(28) Ага, я так и делал у себя:
Функция глПолучить(СтруктураВJSON)
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON,СтруктураВJSON);
    Возврат ЗаписьJSON.Закрыть();
КонецФункции
31 DTX 4th
 
19.09.20
14:37
https://www.meme-arsenal.com/memes/4d3e4d8a3c2904d58a8a72660869bba3.jpg

(30) Почему тогда кракозябры получаются, даже если писать не в utf8? Где логика?
32 RomanYS
 
19.09.20
14:41
(31) Логика: писать и читать в одной кодировке
33 DTX 4th
 
19.09.20
14:47
(32) Так изначально писалось и читалось в одной, без указания "utf8". В (0) видно
34 RomanYS
 
19.09.20
15:01
(33) Ты СП не пробовал читать?
ЗаписьJSON по умолчанию пишет в utf8,
а ЧтениеТекста по умолчанию читает в ANSI/
35 DTX 4th
 
19.09.20
15:02
🙈