Answer the question
In order to leave comments, you need to log in
How to find what resets (erases) the value of the attribute in 1C?
Good afternoon! Here is the code
Функция ПолучитьАнкетуПоИмени(urlФормы)
МассивОбязательныхПолей = Новый Массив();
desc = "";
title = "";
//translit = "";
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВопросыШаблонаАнкеты.КодДляСортировки КАК КодДляСортировки,
| ВопросыШаблонаАнкеты.Ссылка КАК link,
| ВЫБОР
| КОГДА ВопросыШаблонаАнкеты.ТипВопроса = ЗНАЧЕНИЕ(Перечисление.ТипыВопросовШаблонаАнкеты.Табличный)
| ТОГДА ВопросыШаблонаАнкеты.JSON
| ИНАЧЕ ВопросыШаблонаАнкеты.ЭлементарныйВопрос.JSON
| КОНЕЦ КАК JSON,
| ВопросыШаблонаАнкеты.Обязательный КАК required,
| ВопросыШаблонаАнкеты.Транслит КАК translit,
| ВопросыШаблонаАнкеты.Владелец.Заголовок КАК title,
| ВопросыШаблонаАнкеты.Владелец.Вступление КАК decs
|ИЗ
| Справочник.ВопросыШаблонаАнкеты КАК ВопросыШаблонаАнкеты
|ГДЕ
| ВопросыШаблонаАнкеты.ЭтоГруппа = ЛОЖЬ
| И ВопросыШаблонаАнкеты.Владелец.Ссылка В
| (ВЫБРАТЬ
| ФормированиеЧПУ.ШаблоныАнкет
| ИЗ
| РегистрСведений.ФормированиеЧПУ КАК ФормированиеЧПУ
| ГДЕ
| ФормированиеЧПУ.URL = &URL)
|
|УПОРЯДОЧИТЬ ПО
| ВопросыШаблонаАнкеты.КодДляСортировки";
Запрос.УстановитьПараметр("URL", urlФормы);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
Если РезультатЗапроса.required Тогда
МассивОбязательныхПолей.Добавить(РезультатЗапроса.translit);
КонецЕсли;
Если РезультатЗапроса.title <> "" Тогда
Возврат title = РезультатЗапроса.title;
Иначе
Возврат title = "";
КонецЕсли;
Если РезультатЗапроса.desc <> "" Тогда
Возврат desc = РезультатЗапроса.desc;
Иначе
Возврат desc = "";
КонецЕсли;
КонецЦикла;
МассивJSON = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("JSON");
ВыходнаяСтрока = СтрСоединить(МассивJSON, ",");
МассивJSONКакСтруктура = РаботаСФормами.JSONКакСтруктура(ВыходнаяСтрока);
СтруктураФормы = Новый Структура();
СтруктураФормы.Вставить("title", title);
СтруктураФормы.Вставить("description", desc);
Если МассивОбязательныхПолей.Количество() > 0 Тогда
СтруктураФормы.Вставить("required",МассивОбязательныхПолей);
КонецЕсли;
СтруктураФормы.Вставить("type","object");
СтруктураФормы.Вставить("properties", МассивJSONКакСтруктура);
СтруктураФормыJSON = РаботаСФормами.СтруктураКакJSON(СтруктураФормы);
Возврат СтруктураФормыJSON;
КонецФункции
Answer the question
In order to leave comments, you need to log in
How to find what resets (erases) the value of the attribute in 1C?
Well, the simplest thing is to look in the registration log who and when changes this directory (the user, session, date is written there. There is a selection by links. This will give at least a direction in which you need to understand ...
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question