понедельник, 21 декабря 2015 г.

Оптимизация обработки "Редактор свойств номенклатуры"

Всем привет, сегодня я хочу рассказать об оптимизации обработки, которая мне досталась в наследство на новом месте работы.

Итак предыстория такая: есть база с УТ 11 которая работала на выделенном сервере(SQL сервер отдельно от сервера 1С, при этом сам сервер 64 битный)  , Периодически появляются проблемы с сервером, проявляется это резким замедлением производительности в самый неожиданный момент, Если в момент тормозов зайти на сервер то можно было увидеть, что процессы 1с(rphost) могли съесть все имеющуюся на сервере память, а скорее всего даже гораздо больше. Вычислить проблему мне удалось подглядев в консоль администрирования 1С в закладке "сеансы" в колонке "Данные СУБД (5 мин)", было очень большое значение, что говорило, что c сервера поступают большой объем данных.

Поговорив с пользователем, я выяснил, что он запустил обработку "Редактор свойств номенклатуры", с большим количеством позиций, в результате чего обработка зависла и ему пришлось убивать 1С через диспетчер задач. Так же мне позже сказали что этой обработкой им советовали пользоваться очень осторожно, т.к. в ней можно получать не более 300 позиций номенклатуры. К слову сказать в текущей базе используется огромное количество свойств номенклатуры(больше 100),

После того как я выяснил что это за обработка, я решил убедиться что эта та самая обработка, которая портит работу сервера. Я решил попробовать ее запустить(на тот момент я не знал о советах по ограничению выбираемого количества номенклатур. Поэтому я решил запустить ее по для получения всего списка номенклатур. И вот что я увидел после запуска на сервере:

Как видно из скриншота, я практически сразу понял, что обработка сейчас завесит сервер, поэтому я убил свое соединение, прежде чем сервер стал тормозить.

среда, 12 августа 2015 г.

1С + PostgreSQL — syntax error at or near «SECOND» at character...

Возникла задачка потестировать  работу 1С  в связке с СУБД PostgreSQL на сервере. С установкой сервера 1С и самой СУБД проблем не возникло, но при попытке создать ИБ средствами 1С вылезла ошибка — «syntax error at or near „SECOND“ at character...», при повторной попытке — «DATABASE не пригоден для использования». При этом база в самой СУБД создается, но какая-то кривая.
Решение:
1. Удалить создавшуюся кривую базу;
2. Остановить службу PostgreSQL;
3. Открыть в блокноте конфигурационный файл PostgreSQL — %ProgramFiles%\PostgreSQL\9.1.9-1.1C\data\postgresql.conf;
4. Раскомментировать и привести к такому виду эти строчки:
backslash_quote = on
escape_string_warning = off
standart_conforming_strings = off
5. Сохранить postgresql.conf, запустить службу PostgreSQL и создать ИБ;
6. Остановить службу PostgreSQL и обратно закомментировать строчки, которые раскомментировали выше;
7. Запустить службу PostgreSQL.

четверг, 11 июня 2015 г.

Поиск по разным полям в Конвертации Данных

Добрый день. Периодически встречаются вопросы по тому как организовать поиск в Конвертации данных по разным полям. Чаще всего вопрос встает по справочнику "Контрагенты", так как там чаще всего поиск производится по ИНН и КПП. Однако у группы таких реквизитов нет. и вот здесь нам на помощь приходит обработчик событий "Поля поиска"

вторник, 3 марта 2015 г.

Ошибка при попытке вставки записи с неуникальным значением ссылки


Добрый день, сегодня мне попалась вот такая ошибка:"Ошибка при попытке вставки записи с неуникальным значением ссылки" 

Как показало расследование, то данная ошибка в моем случае возникала при записи только что скопированного объекта,

четверг, 26 февраля 2015 г.

Запрет ввода на основании

Иногда возникает потребность отменить ввод документа на основании другого по каким-то условиям. К сожалению нормального решения в данном вопросе нет, т.к. в процедуре модуля "ОбработкаЗаполнения" не передается параметр "Отказ", т.е. в самой обработке, что-бы вы не сделали форма документа откроется, а там уже проверять поздно. Одним из решений является создание своей кнопки в документе основания, и там выполнять проверку на нужные условия. Данное решение имеет один минус. если таких документов будет много, то такие изменения нужно будет ввести во все документы.

суббота, 14 февраля 2015 г.

Создание конфигурации с любым релизом.

Поскольку мне часто приходится работать с разными клиентами, и у каждого свой релиз конфигурации. Регулярно появляется потребность создать пустую базу или получить демо-базу, по релизу клиента. Но вся сложность заключается в том что фирма 1С выпускает установочные конфигурации не так часто. Да и для компаний не франчайзи, доступ открыт только к обновлениям. А получить дистрибутив с которого можно будет развернуть демо-базу это только прерогатива фирм франчайзи.

Т.е здесь политика 1С такова, что когда вы покупаете конфигурацию от 1С Вам предоставляется Setup  текущей версии, а дальше только update. И если Вы захотите создать новую пустую или демо базу, то Вам придется немного постараться, что-бы получить нормальную конфигурацию с последним релизом.

Раньше я хранил cf файлы от тех релизов с которыми мне приходилось работать. И когда появлялась потребность получить пустую или демо базу заданного релиза. Мне приходилось разворачивать ближайшую базу к требуемому релизу, а потом обновлять конфигурацию имеющимся cf файлом. получалось не совсем удобно, так как при таких действиях могли вылезать подводные камни.