Очень часта бухгалтера, хотят чтобы формы списка были раскрашены во все цвета радуги в зависимости от значений реквизитов документа. Пример: Если товар не получен то в форме списка строка документа должна быть красная, если товар ... т.д., и так еще много много хотелок. Есть конечно отчеты, но не всегда выход. Приступим, получаем код типа:
Вроде все красиво. Разукрашиваем в "ПриПолученииДанных", а не в "ПриВыводеСтроки", Цвет вынесен из цикла.
Проходим отладчик и видим, узкое место
т.е 1С-ка каждый раз запросом получает значение реквизита. Можно конечно добавить этот реквизит в форму списка и скрыть, но условие и может быть сложным. Попробуем это ускорить. Получаем массив ссылок:
Получаем одним запросом необходимые нам данные. Пример:
В результате получаем код процедуры ДокументСписокПриПолученииДанных
Ну а теперь тесты, как же без них.
Первый вариант:
Документ.ПриходнаяНакладнаяБезнал.Форма.ФормаВыбора.Форма 36 ДокументСписокПриПолученииДанных1(Элемент, ОформленияСтрок); 81 12,558905 96,65
Второй вариант после оптимизации
Документ.ПриходнаяНакладнаяБезнал.Форма.ФормаВыбора.Форма 37 ДокументСписокПриПолученииДанных2(Элемент, ОформленияСтрок); 81 0,426953 3,29 "
Результат- ускорение в 36 раз.
Вывод: Запрос для получения данных должен быть один.
Спасибо за внимание.
1cv7.exe MODE [ /M | /D | /U | /N | /P ], где MODE - режим запуска, может принимать только одно из трех значений:
config - режим конфигуратора;
debug - режим отладчика;
enterprise - нормальный (рабочий) режим 1С;
Предприятие. следующие ключи опциональны:
/M - запуск программы в монопольном режиме;
/D - каталог базы данных;
/U - рабочий каталог пользователя (каталог из списка пользователей игнорируется);
/N - имя пользователя;
/P - пароль пользователя;
/T<путь> - путь к временным файлам
/@<ИмяФайла> - для режима конфигуратора с указанием файла пакетного запуска
/W - инициализация Web расширения
Примеры:
в этом случае произойдет запуск программы без вывода диалогов о выборе базы и режима работы, а также без запроса имени и пароля пользователя.
Запуск 1С в режиме Предприятие, база из каталога D:\1C_base\ZIK\basa, Пользователь Администратор, Пароль 220366, Монопольно
Запуск 1С в режиме Конфигуратора, база из каталога D:\1C_base\ZIK\basa, Пользователь Администратор, Пароль 220366,
Путь к файлу с параметрами пакетного режима