EvilBeaver / OneScript.Web

MVC-движок сайтов на 1Script
Mozilla Public License 2.0
79 stars 20 forks source link

КоллекцияДанныхФормы не поддерживает ЗаполнитьЗначенияСвойств в качестве источника свойств #55

Open nixel2007 opened 5 years ago

EvilBeaver commented 3 years ago

@nixel2007 а какой эффект наблюдается и какой ожидается? Судя по коду - работает, как задумано. Может задуманное не совпадает с твоими ожиданиями?

nixel2007 commented 3 years ago

Ожидается, что можно пихнуть коллекцию данных формы в заполнитьзначениясвойств и оно отработает (перенесёт значения по ключам). В 1с - работает. :)

EvilBeaver commented 3 years ago

Ну тут дело в том, что моя Коллекция это соответствие formdata, пришедшего из запроса. Т.е. это словарь полей html и пропертей у него как таковых нет

nixel2007 commented 3 years ago

Андрей, я 1сник. я вижу объект, выглядящий как структура, и ~крякающий как структура~ хочу работать с ним соответственно :) понимаю, что внутри может быть что угодно сложное, но как 1Сник я привык, что если что-то называется "коллекцией" и с доступом через точку, то я могу с ним работать как с любой коллекцией. в частности пихать его в ЗЗС, хотя бы в роли "источника" (если уж сами свойства у него read-only)

EvilBeaver commented 3 years ago

Да я же не спорю, что это было бы полезно. Да. Принято. Я просто рассказываю, что сейчас оно крякает как Соответствие, а не как Структура.

nixel2007 commented 3 years ago

/zanuda_mode on

соответствие можно пихать в ЗЗС :)

EvilBeaver commented 3 years ago

соответствие можно пихать в ЗЗС

btw, а какой прок от пихания Соответствия в ЗЗС? Ничего же не произойдет..

nixel2007 commented 3 years ago

btw, а какой прок от пихания Соответствия в ЗЗС? Ничего же не произойдет..

если в источник, то возьмутся значения по существующим ключам. если в приемник, то проинициализируются значения по существующим ключам.

EvilBeaver commented 3 years ago

????? О_о

Кажется, в 1скрипт это в принципе не работает сейчас. А ты уверен?

nixel2007 commented 3 years ago

@EvilBeaver кажется, надо накидать тест и потыкать его в оскрипте и в 1с. Я уверен, но ты меня смутил)

EvilBeaver commented 3 years ago

Приемник = Новый Структура("Один,Два,Три");
Источник = Новый Соответствие;

Источник.Вставить("Один", 1);
Источник.Вставить("Тор" , 2);
Источник.Вставить("Локи", 3);

ЗаполнитьЗначенияСвойств(Приемник, Источник);

Если Приемник.Один = 1 Тогда
    Сообщить("Заполняет");
Иначе
    Сообщить("Не заполняет");
КонецЕсли;

Выводит "Не заполняет", как в 1С, так и в 1Скрипт