Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Стала не корректно работать функция UpdateGoogleSheets

Страниц (1): [1]
 

1. Kostick - 21 Ноября, 2023 - 12:11:48 - перейти к сообщению
Здравствуйте. Работаю в Визуальном редакторе. Такая ситуация. Бот читает информацию с гугл-таблицы с помощью блока ReadGoogleSheets. После чего происходит работа бота, значения, полученные из таблицы, меняются, после чего бот записывает новые значения обратно в таблицу с помощью блока WriteGoogleSheets и сохраняет результат с помощью блока UpdateGoogleSheets.
До недавнего времени все работало замечательно, но вчера запустил бота, и значения не сохранялись в таблице из-за не правильной, на мой взгляд, работы блока UpdateGoogleSheets.

У меня возникают 2 ситуации:
Первая ситуация: блок UpdateGoogleSheets работает исправно, данные обновляются. В отладчике получаю следующие данные (ссылка файл с кодом, полученном в отладчике):(для просмотра ссылки Вам необходимо авторизоваться)
Вторая ситуация: блок UpdateGoogleSheets работает не исправно, данные не обновляются. В отладчике получаю следующие данные(ссылка файл с кодом, полученном в отладчике):(для просмотра ссылки Вам необходимо авторизоваться)
Заметил, что отличаются только строки:
В исправном (данные в таблице обновляются):
CODE:
t = t'ERROR_READ_PYTHON' + sendgetpython ( " print( " + formatic ( 34 ) + " 1 " + formatic ( 34 ) + " ) " )
if ( regexsearch ( 1 , # t'ERROR_READ_PYTHON1' , t'ERROR_READ_PYTHON1' , " ERROR_READ_PYTHON1 " ) == 1 )
if ( reset'1' )
KML_GoogleSheets = 0
return 1


В неисправном (данные в таблице не обновляются):
CODE:
t = t'Traceback (most recen ... ультаты заточки!A[5">' + sendgetpython ( " print( " + formatic ( 34 ) + " 1 " + formatic ( 34 ) + " ) " )
if ( regexsearch ( 1 , # t'Traceback (most recen ... льтаты заточки!A[5">1' , t'Traceback (most recen ... льтаты заточки!A[5">1' , " ERROR_READ_PYTHON1 " ) == 1 )
return 0


Прикрепляю файлы:
Визуального редактора:(для просмотра ссылки Вам необходимо авторизоваться)
Кода в Kibor:(для просмотра ссылки Вам необходимо авторизоваться)
json-файл для работы с таблицей:(для просмотра ссылки Вам необходимо авторизоваться)
Файл с ссылкой на таблицу для получения данных с нее:(для просмотра ссылки Вам необходимо авторизоваться)

При этом в визуальном редакторе нашел строки, после стирания которых блок UpdateGoogleSheets начинает работать исправно:
В функциях Сдвиг_ячейки_K_luck_право и Сдвиг_ячейки_K_fail_право в последнем блоке кода при удалении строки
CODE:
X_cell_luck++; // Сдвинуть ячейку вправо, т.к. перед этим был старый цикл неудач подряд

и
CODE:
X_cell_fail++; // Сдвинуть ячейку вправо, т.к. перед этим был старый цикл неудач подряд

Но я не могу понять, с чем это связано, ведь значения найдены правильно
(Добавление)
Также заметил, что в случае, если в таблице 55 заполненных ячеек и более по горизонтали (т.е. на ячейках BC и правее), то Kibor выкидывает, обрываясь на блоке ReadGoogleSheets. По отладчику на строках:
CODE:
ReadGoogleSheets ( 0 , pathfolder ( ) + " python\Ссылка на Excel-таблицу Бижутерия.txt " , " 15gWihFetTlSPsih4Kbw-BEte-maX-Qd_NC-wUUHtRMI " , # X_GoogleSheets'-842150451' , # Y_GoogleSheets'-842150451' , # Data_GoogleSheets'' [ 0 ] [ 0 ] )
if ( g_pathfile'0' == 0 )
if ( fopen ( pathfile'E:\ПРОГГИ\kibor_set\p ... таблицу Бижутерия.txt' , " r " ) != 0 )
freadline ( creategs'15gWihFetTlSPsih4Kbw-BEte-maX-Qd_NC-wUUHtRMI' )
fclose ( )
return readgs ( # mas_d'' [ 0 ] [ 0 ] , # x'-842150451' , # y'-842150451' , creategs'1GT4U5W4Wwi3Egjtg2QEy2CuV8f7KUsGdtwM2lbXQaJo' )

(Добавление)
Понял, что неисправность с блоком UpdateGoogleSheets пропадает, если не доходить ячеек BA по горизонтали (т.е. до 52-й). Тогда значения в ячейках обновляются.
2. Kibor - 22 Ноября, 2023 - 01:23:38 - перейти к сообщению
Обновил шаблон ReadGoogleSheets
Не делайте более 100 клеток по ширине.
3. Kostick - 25 Ноября, 2023 - 13:22:13 - перейти к сообщению
 Kibor пишет:
Обновил шаблон ReadGoogleSheets
Не делайте более 100 клеток по ширине.

Прошу прощения, что не ответил сразу.
К сожалению ситуация не изменилась. При заполнении больше чем на 55 ячеек по ширине так же выкидывает из Kibor'а, обрываясь на:
CODE:
ReadGoogleSheets ( 0 , pathfolder ( ) + " python\Ссылка на Excel-таблицу Бижутерия.txt " , " 15gWihFetTlSPsih4Kbw-BEte-maX-Qd_NC-wUUHtRMI " , # X_GoogleSheets'-842150451' , # Y_GoogleSheets'-842150451' , # Data_GoogleSheets'' [ 0 ] [ 0 ] )
if ( g_pathfile'0' == 0 )
if ( fopen ( pathfile'E:\ПРОГГИ\kibor_set\p ... таблицу Бижутерия.txt' , " r " ) != 0 )
freadline ( creategs'15gWihFetTlSPsih4Kbw-BEte-maX-Qd_NC-wUUHtRMI' )
fclose ( )
return readgs ( # mas_d'' [ 0 ] [ 0 ] , # x'-842150451' , # y'-842150451' , creategs'1GT4U5W4Wwi3Egjtg2QEy2CuV8f7KUsGdtwM2lbXQaJo' )

А если ширина от 52-х до 54-х, то просто не обновляются данные в таблице и так же в отладнике появляется надпись:
CODE:
t = t'Traceback (most recen ... ультаты заточки!A[5">' + sendgetpython ( " print( " + formatic ( 34 ) + " 1 " + formatic ( 34 ) + " ) " )
if ( regexsearch ( 1 , # t'Traceback (most recen ... льтаты заточки!A[5">1' , t'Traceback (most recen ... льтаты заточки!A[5">1' , " ERROR_READ_PYTHON1 " ) == 1 )
return 0

Вместо
CODE:
t = t'ERROR_READ_PYTHON' + sendgetpython ( " print( " + formatic ( 34 ) + " 1 " + formatic ( 34 ) + " ) " )
if ( regexsearch ( 1 , # t'ERROR_READ_PYTHON1' , t'ERROR_READ_PYTHON1' , " ERROR_READ_PYTHON1 " ) == 1 )
if ( reset'1' )
KML_GoogleSheets = 0
return 1

В общем буду стараться не доходить до 52-х заполненных ячеек по ширине.

Powered by ExBB FM 1.0 Final