|
106 | 106 | // МаскированиеКириллицы – маскирование кириллических символов современных алфавитов славянских языков. |
107 | 107 | // Настройка изменяется в функции "НастройкаМаскированиеКириллицы" (по умолчанию отключена). |
108 | 108 | // Не рекомендуется к использованию, так как влияет на производительность. |
109 | | -// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки. |
| 109 | +// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется вне зависимости от настройки. |
110 | 110 | // |
111 | 111 | // НеявноеПриведениеПримитивныхЗначенийКлюча – неявное приведение примитивных значений ключей соответствий к строке. |
112 | 112 | // Настройка изменяется в функции "НеявноеПриведениеПримитивныхЗначенийКлюча" (по умолчанию отключена). |
|
254 | 254 | // АвтоматическиПриводитьОбъектыКСтруктуре - Булево. Определяет, нужно ли автоматически приводить объект к Структуре или к Соответствию. |
255 | 255 | // - Истина - выполняется автоматическое приведение объекта к структуре; |
256 | 256 | // - Ложь - автоматическое приведение объекта к структуре не выполняется, все объекты преобразуются в соответствие (значение по умолчанию). |
257 | | -// |
258 | | -// Примечание: |
259 | | -// Автоматическое приведение к структуре выполняется только для объектов имена свойств которых могут быть |
260 | | -// использованы как ключи структуры, все остальные объекты преобразуются в соответствие.// |
| 257 | +// Примечание: |
| 258 | +// Автоматическое приведение к структуре выполняется только для объектов имена свойств которых могут быть |
| 259 | +// использованы как ключи структуры, все остальные объекты преобразуются в соответствие.// |
261 | 260 | // |
262 | 261 | // Возвращаемое значение: |
263 | 262 | // Набор данных согласно содержимому входящих данных. |
|
281 | 280 | // - Истина - ссылки передаются вместе со своим представлением, как объекты с двумя свойствами содержащими саму ссылку и ее представление; |
282 | 281 | // - Ложь - ссылки передаются без представления (значение по умолчанию). |
283 | 282 | // |
284 | | -// Возвращаемое значение: |
285 | | -// Строка. Строка данных в формате JSON согласно содержимому входящих данных. |
286 | | -// |
287 | | -Функция ЗаписатьJSON(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь) Экспорт |
288 | | - |
289 | | - Возврат jsonЗаписатьИнициализация(Значение, Стандарт, ПредставленияСсылок); |
290 | | - |
291 | | -КонецФункции // ЗаписатьJSON() |
292 | | - |
293 | | - |
294 | | -// ───────────────────────────────────────────────────────────────────────────── |
295 | | -// НАСТРОЙКИ |
296 | | - |
297 | | -// Функция управляющая настройкой "ПолноеМаскированиеСимволов". |
298 | | -// |
299 | | -// Возвращаемое значение: |
300 | | -// Булево. Значение настройки: |
301 | | -// - Истина - выполняется полное маскирование символов некорректно обрабатываемых JavaScript-ом; |
302 | | -// - Ложь - маскирование выполняется только согласно стандарту и дополнительно маскируются специальные символы. |
303 | | -// |
304 | | -// Примечание: |
305 | | -// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки. |
306 | | -// |
307 | | -Функция НастройкаПолноеМаскированиеСимволов() |
308 | | - |
309 | | - Возврат Истина; // Измените для неполного маскирования символов. |
310 | | - |
311 | | -КонецФункции // НастройкаПолноеМаскированиеСимволов() |
312 | | - |
313 | | -// Функция управляющая настройкой "МаскированиеКириллицы". |
| 283 | +// МаскироватьСимволыПолностью - Булево. Значения: |
| 284 | +// - Истина - выполняется полное маскирование символов некорректно обрабатываемых JavaScript-ом (значение по умолчнию); |
| 285 | +// - Ложь - маскирование выполняется только согласно стандарту и дополнительно маскируются специальные символы. |
| 286 | +// Примечание: |
| 287 | +// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки. |
314 | 288 | // |
315 | | -// Возвращаемое значение: |
316 | | -// Булево. Значение настройки: |
| 289 | +// МаскироватьКириллицу - Булево. Значение настройки: |
317 | 290 | // - Истина - выполняется маскирование кириллических символов; |
318 | | -// - Ложь - маскирование выполняется только согласно стандарту и дополнительно маскируются специальные символы. |
319 | | -// |
320 | | -// Примечание: |
321 | | -// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки. |
322 | | -// |
323 | | -Функция НастройкаМаскированиеКириллицы() |
324 | | - |
325 | | - Возврат Ложь; // Измените для маскирования кириллических символов. |
326 | | - |
327 | | -КонецФункции // НастройкаМаскированиеКириллицы() |
328 | | - |
329 | | -// Функция управляющая настройкой "НеявноеПриведениеПримитивныхЗначенийКлюча". |
| 291 | +// - Ложь - маскирование выполняется только согласно стандарту и дополнительно маскируются специальные символы (значение по умолчанию) |
| 292 | +// Примечание: |
| 293 | +// Маскирование специальных символов из диапазона [0x0000, 0x001f] выполняется в не зависимости от настройки. |
330 | 294 | // |
331 | | -// Возвращаемое значение: |
332 | | -// Булево. Значение настройки: |
| 295 | +// НеявноПриводитьПримитивныеЗначенияКлюча - Булево. Значение настройки: |
333 | 296 | // - Истина - выполняется неявное приведение примитивных типов значений ключей соответствий к их строковому представлению в формате 1С; |
334 | 297 | // - Ложь - неявное приведение примитивных типов значений ключей соответствий к строковому представлению не выполняется. |
| 298 | +// Примечание: |
| 299 | +// Неявно приводимые типы: Null, Булево, Число, Дата, Строка, УникальныйИдентификатор. |
| 300 | +// TODO: В настоящий момент не поддерживаются в связи с необходимостью использования объекта ОписаниеТипов(); |
335 | 301 | // |
336 | | -// Примечание: |
337 | | -// Неявно приводимые типы: Null, Булево, Число, Дата, Строка, УникальныйИдентификатор. |
| 302 | +// Возвращаемое значение: |
| 303 | +// Строка. Строка данных в формате JSON согласно содержимому входящих данных. |
338 | 304 | // |
339 | | -Функция НастройкаНеявноеПриведениеПримитивныхЗначенийКлюча() |
| 305 | +Функция ЗаписатьJSON(Значение, Стандарт = Истина, ПредставленияСсылок = Ложь, |
| 306 | + МаскироватьСимволыПолностью=Истина, МаскироватьКириллицу=Ложь, |
| 307 | + НеявноПриводитьПримитивныеЗначенияКлюча=Ложь) Экспорт |
340 | 308 |
|
341 | | - Возврат Ложь; // Измените для использования неявного приведения примитивных значений ключей соответствий к строке. |
| 309 | + Возврат jsonЗаписатьИнициализация(Значение, Стандарт, ПредставленияСсылок, МаскироватьСимволыПолностью, МаскироватьКириллицу, Ложь); |
342 | 310 |
|
343 | | -КонецФункции // НастройкаНеявноеПриведениеПримитивныхЗначенийКлюча() |
344 | | - |
| 311 | +КонецФункции // ЗаписатьJSON() |
345 | 312 |
|
346 | 313 | // ───────────────────────────────────────────────────────────────────────────── |
347 | 314 | // ПАРСЕР |
|
822 | 789 | // ───────────────────────────────────────────────────────────────────────────── |
823 | 790 | // СЕРИАЛИЗАТОР |
824 | 791 |
|
825 | | -Функция jsonЗаписатьИнициализация(Значение, Знач Стандарт, Знач ПредставленияСсылок) |
| 792 | +Функция jsonЗаписатьИнициализация(Значение, Знач Стандарт, Знач ПредставленияСсылок, |
| 793 | + Знач МаскироватьСимволыПолностью, Знач МаскироватьКириллицу, |
| 794 | + Знач НеявноПриводитьПримитивныеЗначенияКлюча) |
826 | 795 |
|
827 | 796 | // Проверка параметров. |
828 | 797 | Если (Не Стандарт = Истина) И (Не Стандарт = Ложь) Тогда |
|
863 | 832 | НовоеОписаниеТипов("Строка")); // ТипДопустимыхКлючей. |
864 | 833 |
|
865 | 834 | // Типы допустимых ключей. |
866 | | - Если (НастройкаНеявноеПриведениеПримитивныхЗначенийКлюча() = Истина) Тогда |
| 835 | + Если НеявноПриводитьПримитивныеЗначенияКлюча = Истина Тогда |
867 | 836 | ВспомогательныеДанные.ТипДопустимыхКлючей = Новый ОписаниеТипов("Null,Булево,Число,Дата,Строка,УникальныйИдентификатор"); |
868 | 837 | КонецЕсли; |
869 | 838 |
|
|
881 | 850 | КонецЕсли; |
882 | 851 |
|
883 | 852 | // Сериализация. |
884 | | - Возврат jsonЗаписать(Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, (НастройкаПолноеМаскированиеСимволов() = Истина), (НастройкаМаскированиеКириллицы() = Истина)); |
| 853 | + Возврат jsonЗаписать(Значение, Стандарт, ПредставленияСсылок, ВспомогательныеДанные, Неопределено, Смещение, Отступ, Табуляция, ПереносСтроки, (МаскироватьСимволыПолностью = Истина), (МаскироватьКириллицу = Истина)); |
885 | 854 |
|
886 | 855 | КонецФункции // jsonЗаписатьИнициализация() |
887 | 856 |
|
|
0 commit comments