@diod89, в лог вы выводите переменную с _, а в строку преобразовываете переменную без _
76065958-58f2-4f6b-b706-64a6bab366b9-image.png
После обновления с 28.6.0 до новой версии 28.7.0 проект ловит ошибку:
Произошла ошибка в cookiesSave: save_cookies: Аргумент "Domain" должен быть строкой, а не функцией
Функция с одним стандартным действием "Сохранить куки" с пустой строкой в аргументе:

Эта функция вызывается из Node.js await BAS_FUNCTION("cookiesSave", {});
Ловим ошибку.
Подскажите, пожалуйста, в чем может быть дело?
@someone said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
После обновления с 28.6.0 до новой версии 28.7.0 проект ловит ошибку:
Произошла ошибка в cookiesSave: save_cookies: Аргумент "Domain" должен быть строкой, а не функцией
Функция с одним стандартным действием "Сохранить куки" с пустой строкой в аргументе:
Эта функция вызывается из Node.js await BAS_FUNCTION("cookiesSave", {});
Ловим ошибку.
Подскажите, пожалуйста, в чем может быть дело?
Вы обновляли действия проекта после перехода на новую версию BAS?
@Fox said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Вы обновляли действия проекта после перехода на новую версию BAS?
Да, конечно. Дважды. И пробовал ещё раз с проекта, созданного на версии 28.6.0.
Результат тот же самый.
@someone said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
@Fox said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Вы обновляли действия проекта после перехода на новую версию BAS?
Да, конечно. Дважды. И пробовал ещё раз с проекта, созданного на версии 28.6.0.
Результат тот же самый.
Можете приложить код вызова функции BAS из nodejs?
@Fox said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Можете приложить код вызова функции BAS из nodejs?
Так вот и весь код:
// Метод todo внутри класса
async todo() {
await BAS_FUNCTION("profileSet", {});
/*
............
*/
await BAS_FUNCTION("cookiesSave", {});
}
Всё как в учебнике) До версии 28.7.0 всё работало исправно.
@someone said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
@Fox said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Можете приложить код вызова функции BAS из nodejs?
Так вот и весь код:
// Метод todo внутри класса async todo() { await BAS_FUNCTION("profileSet", {}); /* ............ */ await BAS_FUNCTION("cookiesSave", {}); }Всё как в учебнике) До версии 28.7.0 всё работало исправно.
Не могу повторить проблему 3222.xml
@Fox Пришлось разобрать проект по строчкам. Проблема была совсем в другом месте.
В самом начале скрипта у меня определены 2 метода:
Array.prototype.contains = function(v) {
for (var i = 0; i < this.length; i++) {
if (this[i] === v) return true;
}
return false;
};
Array.prototype.unique = function() {
var arr = [];
for (var i = 0; i < this.length; i++) {
if(!this[i]) continue;
if (!arr.contains(this[i])) {
arr.push(this[i]);
}
}
return arr;
}
Видимо, что-то переопределяют...
@someone said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Хотя и так нельзя сделать:
Array.prototype.unique_custom = function() {}Вообще в прототип ничего нельзя добавить
Можете приложить тестовый скрипт? У меня оба ваших кода работают корректно
@Fox said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Можете приложить тестовый скрипт? У меня оба ваших кода работают корректно
Вот, пожалуйста. Ваш же немного подправленный проект. И в режиме записи, и запуска проекта у меня на 2х машинах выдаёт ошибку.
@someone said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
@Fox said in save_cookies: Аргумент "Domain" должен быть строкой, а не функцией:
Можете приложить тестовый скрипт? У меня оба ваших кода работают корректно
Вот, пожалуйста. Ваш же немного подправленный проект. И в режиме записи, и запуска проекта у меня на 2х машинах выдаёт ошибку.
Действие выдаёт ошибку и без nodejs

Ошибку вызывает функция валидации аргументов действия, проблему передал разработчику. Спасибо за подробное описание проблемы