Pull to refresh
6
0
Send message
Добрый день! Очень подробно, хорошо написано. Мне кажется было бы плюсом описать способ автоматического запуска с помощью Jenkins, например. Не будут же разработчики, особенно если команда большая, запускать тесты каждый раз после коммита из терминала каше. Как считаете?
Да, точно, Вы же написали выше.
Соглашусь, было бы очень интересно.
Да, я думала об этом.
Мне не хотелось просто рассказывать как работают перечисленные выше функции, это есть и в документации.
А как бы Вы сделали?
Спасибо за комментарий. Я Вам отвечу, как только снова доберусь до компьютера!
Я могла бы, конечно, сказать, что это же демо, я не все случаи рассматриваю. Но я с Вами соглашусь — это упущение, забыть про %Date! ;)
Да, действительно может. Но в таком случае у нас получится список объектов класса Front.Helpers.ListColumn, а не %Library.ArrayOfDataTypes.
Нам необходимо будет немного переделать код в тех местах, где он использует методы для работы с массивом.

for {
        set listColumn=listColumns.GetNext(.idx)  //получаем один из объектов списка типа Front.Helpers.ListColumn
        quit:idx=""         
        set fieldName = listColumn.Field   //обращаемся к свойству класса напрямую, в fieldName запишется его значение         
        if (fieldName '= "ID") {
            set $PROPERTY(obj,fieldName) =$PROPERTY(itemData,fieldName)  //устанавливаем в свойство нашего объекта значение полученное из данных вкладки по имени поля
        }
    }     


Естественно, я так набросала быстренько, но ведь это еще не все.
Если пользоваться дебагером, что в нашем случае оказалось вполне реально(я вообще со студийным дебаггером немного в контрах), то можно увидеть ошибку при попытке использования стандартного(встроенного) конвертора как раз из-за отсутствия передаваемых параметров, ну и исправить ее. Чтобы стандартный метода заработал, нужно изменить сигнатуру метода %OnNew() в классе Front.Helpers.ListColumn. Сделать возможным, чтобы он принимал пустые строки.
Пожалуй, это хороший альтернативный вариант для данного случая.

Но вообще мне для работы с JSON и REST приложениями нравится Utils.JSON. В общем-то достаточно удобная вещь. С ее помощью можно формировать сложные структуры. Например JSON для объекта, имеющего внутри и списки и массивы данных, делать вложенные структуры. Наименовать JSON на выходе не только «childrens», но как-нибудь по другому=)

Information

Rating
Does not participate
Registered
Activity