1С 8.x : Оптимизация работы в списке ПриПолученииДанных
Очень часта бухгалтера, хотят чтобы формы списка были раскрашены во все цвета радуги в зависимости от значений реквизитов документа. Пример: Если товар не получен то в форме списка строка документа должна быть красная, если товар ... т.д., и так еще много много хотелок. Есть конечно отчеты, но не всегда выход. Приступим, получаем код типа:
Вроде все красиво. Разукрашиваем в "ПриПолученииДанных", а не в "ПриВыводеСтроки", Цвет вынесен из цикла.
Проходим отладчик и видим, узкое место
т.е 1С-ка каждый раз запросом получает значение реквизита. Можно конечно добавить этот реквизит в форму списка и скрыть, но условие и может быть сложным. Попробуем это ускорить. Получаем массив ссылок:
Получаем одним запросом необходимые нам данные. Пример:
В результате получаем код процедуры ДокументСписокПриПолученииДанных
Ну а теперь тесты, как же без них.
Первый вариант:
Документ.ПриходнаяНакладнаяБезнал.Форма.ФормаВыбора.Форма 36 ДокументСписокПриПолученииДанных1(Элемент, ОформленияСтрок); 81 12,558905 96,65
Второй вариант после оптимизации
Документ.ПриходнаяНакладнаяБезнал.Форма.ФормаВыбора.Форма 37 ДокументСписокПриПолученииДанных2(Элемент, ОформленияСтрок); 81 0,426953 3,29 "
Результат- ускорение в 36 раз.
Вывод: Запрос для получения данных должен быть один.
Спасибо за внимание.
10060 (0x0000274C): Попытка установить соединение была безуспешной 24 Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52 Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ1C и Google Maps 21 была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш1Cv8.1CD - Файл данных достиг максимального размера! 9 1С выдает предупреждение " Файл данных достиг максимального размера" .
Подскажите из - за чего это и как можно решить ?
Превышен размер файла, обычно это сообщение возникает, когда размер файла 1Cv8.1CD приближается к 10 гигабайтам или размер ка1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0 Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей. Посмотреть все результаты поиска похожих
Полезные возможности редактора кода 1С 35 Мне частенько приходится взаимодействовать с 1С-разработчиками, и во время совместной работы над проектами замечаю, что далеко не все из них хорошо знают свой главный инструмент – «Конфигуратор». Причем это не относится к степени крутости девелопераРабота с буфером обмена средствами 1С 21 Копировать из 1С в буфер обмена( без ВК):
ЭлементыФормы.Добавить(Тип(" ПолеHTMLДокумента" ), " Поле_HTML_Документа_acb123" , Ложь);
Окно = ЭлементыФормы.Поле_HTML_Документа_acb123.Документ.ParentWindow;
Окно.ClipboardData.SetData(" Text" , ТекстСтруктура и название таблиц использыемых для хранения данных в БД 1С 8.х 17 Данные, которые определяют логику функционирования системы на базе 1С:Предприятия, относятся к информационной базе. Хранение информационной базы осуществляется в базе данных с виде набора таблиц, для чего 1С:Предприятие 8.1 может использовать одну изПрограммно получить список активных пользователей 14
Процедура ПолучениеСпискаАктивныхПользователей()
ИтогСписокСоединений.Очистить();
СоединенияИнформационнойБазы = ПолучитьСоединенияИнформационнойБазы();
Для Каждого Соединение Из СоединенияИнформационнойБазы Цикл
ТЗ=ИтогСпиКак получить ссылку на объект из навигационной ссылки? 13 Процедура ПолучитьСсылкуИзНавигационной(НС)
ПерваяТочка = Найти(НС, " e1cib/data/" );
ВтораяТочка = Найти(НС, " ?ref=" );
ПредставлениеТипа = Сред(НС, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);
ШаблонЗначения = ЗначениеВСтрокуВнутр(ПреПосмотреть все в категории Полезные, Универсальные Функции