Персональный блог Игоря Антонова aka "spider_net"

полезности

Подписаться на эту метку по RSS

Анонс! Новая статья. Тотальная автоматизация для 1С-разработчика

Анонс! Новая статья. Тотальная автоматизация для 1С-разработчика

На днях вышел майский номер журнала "Системный администратор". По традиции в него вошла моя очередная статья: Тотальная автоматизация для 1C-разработчика. В ней я расскажу как автоматизировать типовые задачи с помощью OneScript – инструмента, который стоит взять на заметку всем, чья работа связана с разработкой и сопровождением решений на базе платформы 1С:Предприятие.

Читать дальше

gron. grep для JSON. Разбираем JSON в консоле


Рубрика: JavaScript -> Без рамки
Метки: | | |
Просмотров: 3601
gron. grep для JSON. Разбираем JSON в консоле

Читаю еженедельную рассылку с новостями из мира JavaScript и заинтересовался анонсом нового модуля - gron. Как гласит лозунг репозитория проекта: “Make JSON greppable!”. Не знаю как правильно перевести фразу на наш великий и могучий, но думаю, можно ограничится: “Сделаем JSON более пригодным для разбора”. Слово “greppable” в данном контексте образуется от “grep” - название известной консольной утилиты в Unix-like системах.

Итак, что же умеет gron и для чего он может понадобиться. Автор проекта дает четкий ответ на этот вопрос: "gron поможет вам разобраться с плохо документируемым API, возвращающими большие JSON пакеты".

Читать дальше

clipboard.js. Как скопировать текст в буфер обмена без помощи Flash


Рубрика: JavaScript -> Программирование
Метки: | | |
Просмотров: 5958
clipboard.js. Как скопировать текст в буфер обмена без помощи Flash

Иногда возникает необходимость реализовать в web-приложении возможность копирования определенного текста в буфер обмена. Например, вы делаете какой-нибудь форматтер текста (вроде jsonformatter) и хотели бы чуточку облегчить вашему пользователю жизнь, позволив путем нажатия одной кнопки, поместить результат преобразования в буфер обмена. Согласитесь, отличный кейс?! Подобные задачи периодически возникают, но не всегда их удается быстро решить. Для ускоренного внедрения возможности работы с буфером обмена, Zeno Rocha создал замечательный модуль clipboard.js.

Читать дальше

Приводим JSON в порядок. Удобный web-сервис для форматирования JSON


Рубрика: Без рамки -> Обзоры
Метки: | | | | |
Просмотров: 5091
Приводим JSON в порядок. Удобный web-сервис для форматирования JSON

Делали сегодня выгрузку данных из новой типовой конфигурации. Суть обмена заключается в выборке документов за период с последующей выгрузкой данных в JSON. И вроде бы типовые механизмы сработали на ура, но что-то не хотела принимать этот json файл база-приемник. Решил его открыть и посмотреть на проблемную строчку. Открываю, а там просто каша. Никаких отбивок , форматирования и т.д. Попробовал воспользоваться плагином для Atom, но почему-то осилил только подсветку, а отступы делать не стал.

Читать дальше

Не удаляются помеченные на удаление объекты. Ошибка «DeleteObjects(RemovedList, True, FindedItems)».

Не удаляются помеченные на удаление объекты. Ошибка «DeleteObjects(RemovedList, True, FindedItems)».

Продолжаем на работе внедрять новую типовую конфигурацию и столкнулись со странной проблемой. Пометили несколько десятков документов на удаление и решили их полностью удалить. Открываем стандартную обработку (встроенную в платформу) «Удаление помеченных объектов» («Все функции» -> «Стандартные» -> «Удаление помеченных объектов»), выбираем полное удаление и вместо сообщения об успешном удалении получаем ошибку «DeleteObjects(RemovedList, True, FindedItems); по причине «Нарушение прав доступа!».

Типовая конфигурация состоит из нескольких подсистем, разрабатываемыми независимыми компаниями, поэтому первым делом я подумал, что причина в отсутствии прав на удаление определенных объектов. Проверил учетную запись «Администратор» - все роли были назначены, следовательно, проблема не в этом.

Читать дальше

Борьба с медленными запросами в 1С. Типичные проблемы

Борьба с медленными запросами в 1С. Типичные проблемы

На работе часто приходится проводить ревью кода и разбираться с проблемами в стиле «почему же тормозит запрос». Проблемы подобных тормозов чаще всего вызваны не оптимальными запросами к базе. Так уж получилось, что код нашей конфигурации разрабатывается почти 9 лет и за этот внушительный промежуток времени накопились запросы, которые нужно переписать. Они превосходно решают задачи, но при нынешнем объеме базы данных работают не так быстро, как хотелось бы.

Причин появления медленных запросов много. Где-то сами недоглядели, а где-то просто нельзя было сделать по-другому. Язык запросов 1С за это время совершенствовался, а наш код был написан в то время, когда, например, в нем отсутствовала возможность применять временные таблицы (как пример). Вот и получилось, что в свое время написали так, а сегодня этот код требует доработок. Для таких долгоиграющих проектов это нормально. Код стареет, появляются новые требования и без рефакторинга не обойтись.

В этой заметке я решил собрать список типичных проблем, которые заставляют запросы выполняться медленно. Возможно, узнаете для себя что-то новенькое и сможете во время принять должные меры по устранению будущих проблем.

Читать дальше

1С и JSON. Разбираемся с исключением


Рубрика: 1С:Предприятие -> Программирование
Метки: | | |
Просмотров: 11962
1С и JSON. Разбираемся с исключением

В платформе 8.3 появились нативные средства для работы с форматом JSON. Нет никакой необходимости использовать сторонние решения, если нативные инструменты работают быстрей и лучше. Мы много, где используем формат JSON и вот случайно столкнулись с небольшой проблемой. Итак, условие. Есть большой файл в формате JSON, который требуется конвертнуть в структуру. Для этого в платформе есть глобальный метод: «ПрочитатьJSON()».

У него много параметров, но в большинстве случае разработчику интересны 1-й (менеджер чтения JSON) и 3-й ИменаСвойствСоЗначениямиДата (Строка, Массив, ФикированныйМассив). С первым все понятно, а вот третий позволяет нам избавиться от необходимости самостоятельно преобразовывать значения типа Дата из строки. Достаточно подготовить массив с именами свойств типа «Дата» и все черную работу метод сделает самостоятельно.

Читать дальше