#0
by AnisaL
Добрый денек! У меня такая проблемка возникла, есть форма списка документов, к ней привязана процедура "ПриВыводеСтроки". Но так список достаточно долго открывается, т.к. каждый столбик в каждой строчке имеет свой цвет (как раскраска получается). Хотелось бы оптимизировать этот вывод, в инете нашла ссылку . Вместо ПриВыводеСтроки ПРиПолученииДанных. Вот код процедурки
#2
by AnisaL
В моем случае не находит строку СтрокаОформленияСтрок = ТаблицаДанныхОформленияСтрок.Найти(ОформлениеСтроки.Данныестроки.Ссылка, "Ссылка"); Через отладчик СтрокаОформленияСтрок = НЕОПРЕДЕЛЕНо
#6
by AnisaL
Как я поняла, это из-за того , что у нас в этом списке док-тов происходит отбор по нескольким параметрам: организация,интервал,видсметы и еще несколько. Как сделать чтоб эта процедура работала?
#8
by Reset
Наладить ПолучитьТаблицаОформленияСтрок Или, если по логике может так быть, что для определенной ссылки нет условия оформления, добавить проверку найденной строки на неопределено
#9
by AnisaL
Напишу эту процедуру (как у меня) Функция ПолучитьТаблицаОформленияСтрок(МассивСсылокОформления)
#24
by AnisaL
"выбрать ¶ рег.СсылкබИЗ¶ Документ.Смета КАК рег¶ГДЕ¶ рег.Ссылка В (&МассивСсылокОформления) и рег.СтатусСметы=&Статус и рег.дата>=&ДатаНачала"
#25
by AnisaL
Итоговый запрос - "выбрать рег.Ссылка ИЗ Документ.Смета КАК рег ГДЕ рег.Ссылка В (&МассивСсылокОформления) и рег.СтатусСметы=&Статус и рег.дата>=&ДатаНачала"
#26
by Reset
Бегло просмотрев : Все отборы лишние. Достаточно того отбора, что мы передаем массивом ссылок. Зато нет главного - определения НеПолученТовар для каждой ссылки
#27
by Bober
тогда не понятно зачем второй раз делать запрос к базе. Добавить колонки: статус, ЗаказчикСметы, Организации в динамический список и в ПриПолученииДанных в ДанныеСтроки получай и обрабатывай свойства.
#29
by AnisaL
На самом деле этот отбор не нужен - он из примера, щас напишу свою процедуру и еще будет много цветов, просто я пока начала и уже не работает сразу, а вообще по каждой колонке цвета
#33
by Reset
т.е если реквизит документа СтатусСметы равен определенному значению, нужно покарасить строку?
#40
by AnisaL
Да, у нас так и было только в процедуре ДокументСписокПриВыводеСтроки, а сейчас нужно через пр-ру ПриПолученииДанных
#42
by Reset
Возможно, у вас было Если ДанныеСтроки.ССЫЛКА.СтатусСметы=МоеЗначение тогда Вот это беда
#45
by Reset
Куда отправить? В строке отобразить, может? ОформлениеСтроки.Ячейки.ИмяЯчейки.УстановитьКартинку(Картинка);
#48
by Reset
Выложи на файлообменнике. Я не знаю какой лучше, не пользуюсь почти. Ну radikal.ru например
#54
by Reset
Раз условием в не ограничивается, нужно опеределиться с логикой окраски для остальных ячеек. Потом будет ясно, нужен ли запрос и какой.
#56
by hhhh
выбрать рег.Ссылка, рег.НеПолученТовар, рег.СтатусСметы ..... ИЗ Документ.Смета КАК рег все надо сюда в запрос Вы должны понять, что рег.Ссылка.СтатусСметы выполняется в 60 раз медленнее, чем рег.СтатусСметы. Когда поймете, тогда у вас получится ускорить.
#60
by AnisaL
А сейчас в запрос добавляются параметры "СтатусСметы" (например), при выполнени условий . А нужно их сразу в запрос записывать без условий?
#62
by Reset
Во первых, НЕ НУЖНО в запрос доп условия - они ведь уже наложены на список (верно?) и заведомо не попадут в те строки, по которым производится окраска. Во вторых, если СтатусСметы - это реквизит и он присутвует как колонка, запрос не нужен вообще. Впрочем, я уже повторяюсь. Ладно.
#63
by Bober
в первый раз данные считывает объект ДокументСписок. Второй раз запросом из фукнции. Раз все данные для расчета в таблице Документ.ИмяДокумента (а судя по запросу в функции именно так и есть), то нужно в объект ДокументСписок добавить обязательные колонки. Например в модуле формы после всех процедур и функции пишем ДокументСписок.Колонки.Добавить("Статус", Ложь); Второй параметр отвечает за то чтобы при скрытии этой колонки из списка (через интерфейс или программно) система все равно получала эти данные и они были доступны в ОформлениеСтроки.ДанныеСтроки
#65
by Evrepid
Японский бог! Запрос в цикле! Пипец! Это оптимизировать можно только одним способом все переписать!
#67
by Evrepid
А да забыл добавить, что не плохо хотя бы на курсы программирования сходить в 1С... Ну так для начала хотя бы.
#68
by Evrepid
2 Если Вы задаете вопрос где запрос в цикле, см. п. 9 этой ветки. Процедура вызывается из ПриВыводеСтроки. Собственно, аналогичный запрос в цикле при использовании ПриВыводеДанных... Что можно оптимизировать? Все нафиг переписывать!
#72
by Evrepid
2 А ну ну... А процедура ПриВыводеСтроки это что? Не цикл для запроса? А процедура ПриПолученииДанных Сколько раз выполняется при выводе списка? Если ответишь на эти вопросы, может поймешь мои слова. А что быстрее перебор по результату запроса или поиск по таблице значений? А так да... я не прав... :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- 1C82 + SQl - нет свободного места
- Прошу помощи с запросом (недовозы)
- v7: Есть ли в 7.7 Карточка индивидуального учета сумм начисленных выплат для ПФ?
- v7: Разделение облагаемых баз ФСС и ПФР
- При обновлении не удается установить монопольный режим
- передача значения из формы выбора в форму элемента при создании
- Убрать время из даты в запросе средствами языка запрсов
- Программирование с помощью голосового ввода
- Изменить стоимость ОС
- Остаток на счете 57.1
- v7: помогите, как найти модуль?
- Справочник предопределенные Группа
- Можно ли перехватить команду Сформировать?
- Небольшой вопрос по СКД
- При программной записи стирается реквизит документа
- Валидатор WSDL в 1с, или как обойти Ошибка "Неверный формат"
- УПП РАУЗ Ведомость по учету МПЗ
- Ошибка при вызове метода контекста (Connect)
- Автоматический перевыбор значения реквизита документа
- Работа с файлами в тонком/веб -клиенте