Python и ошибка InternalError(-1, ‘Unread result found.’, None))

Сия ошибка возникает когда одно и тоже соединение используется в «вложенных» запросах.  Хотя курсоры разные. Т.е. внутри проходу по циклу cursor.fetchone(), выполняется еще один запрос с этим же идентификатором соединения, но с другим курсором.

Решение: курсор создаем с «буфером»: cursor = sbss.cursor(dictionary=True,buffered=True)

Например:

Обмен информацией между серверами на PHP

Задача: получить данные с сервера, без использования apache

Решение: воспользуемся сокетами на php, а точнее поднимем свой «веб сервер», единственной функцией которго, будет на любой запрос отвечать требуемыми нам данными

Код сервера:

Код клиента:

Jqgrid окрашивание фона ячеек

Задача: при определенном условии, необходимо окрасить строку

 

Подводные камни:

  • событие afterInsertRow, в последних версиях jqgrid не работает
  • Навешивание события по окраске на чтото типа : {name:’price’, index:’price’, width:60, align:»center», editable: true, formatter:currencyFmatter}, результата не дает, т.к. в этот момент DOM еще не сформирован.

Решение:

По завершении отрисовки, проходимся по нужным ячейкам, и окрашиваем строку случае соответствия:

Удаление рисунка, и скрытие строк в макете 1С

Задача: при определенных условиях, скрыть в печатной форме несколько строк, и рисунок на макете.

Решение:

Python и аргументы командной строки

В питоне есть два способа получения аргументов запуска скрипта из командной строки:

  1. Использовать модуль argparse. Попробовал. Не понравилось, потому что — это еще одна дополнительная зависимость в скрипте, что мне сильно не нравится, когда шапка простого скрипта забита десятком строк import с модуля которых нет в «базе», что нервирует когда запускаешь первый раз скрипт на системе с «голым» питоном. Для желающих, вот например хорошая статья
  2. Использовать стандартный модуль sys. Менее «навороченный», но и хотяб документацию не нужно «переваривать» с пол часа. И так всё понятно и стандартно.

Итак, пример скрипта:

1 161 162 163 164 165 282