Добавить вычисляемую колонку в табличную часть
Ищу явные нарушения стандартов разработки (задача отобразить дополнительную цену заданного типа, вроде со спеца)
Документ Заказ Клиента заимствован в расширение.
Добавлена на форму колонка ЦенаПрайсЛиста как реквизит таблицы "Товары".
Добавлена
её вызывают для измененных строк
обработчики событий формы
Вызывает сомнения запрос в цикле, получающий цену по каждой номенклатуре.
Эффективней ли он запроса, получающего цены всей табчасти одним запросом?
В индексы попадаем, а там, где
размен читаемость логики-производительность, выбрал читаемость.
Документ Заказ Клиента заимствован в расширение.
Добавлена на форму колонка ЦенаПрайсЛиста как реквизит таблицы "Товары".
Добавлена
&НаСервереБезКонтекста
Функция ПолучитьЦенуПрайсЛиста (СоответствиеРеквизитовПоиска)
её вызывают для измененных строк
обработчики событий формы
ПриЧтенииНаСервереПосле()
ПослеЗаписиНаСервереПосле()
ОбработкаВыбораПосле()
ТоварыНоменклатураПриИзмененииПосле()
Вызывает сомнения запрос в цикле, получающий цену по каждой номенклатуре.
Эффективней ли он запроса, получающего цены всей табчасти одним запросом?
В индексы попадаем, а там, где
размен читаемость логики-производительность, выбрал читаемость.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) когда в заказе пару позиций, то не принципиально. Но на это ведь не стоит полагаться.
И если там много позиций?
В общем случае, один запрос на получение всех данных будет лучше.
Там же не сложно.
Соответственно для ОбработкаВыбораПосле и ТоварыНоменклатураПриИзмененииПосле это не нужно.
И если там много позиций?
В общем случае, один запрос на получение всех данных будет лучше.
Там же не сложно.
Соответственно для ОбработкаВыбораПосле и ТоварыНоменклатураПриИзмененииПосле это не нужно.
(3) Верно понимаю: даже при подборе/добавлении строки всю тч Товары на сервер за ценой?
(4) Пользователь ждет меньше в случае запроса в цикле, если заказ небольшой. Нужен анализ реальных кейсов.
Задание тестовое.
По прошлой статистике (до 50 строк в заказе) быстрей запрос в цикле.
Спец, чтобы быстро добавить поддержку серий/характеристик/вариантов расчета цены тоже на дороге не валяется.
(4) Пользователь ждет меньше в случае запроса в цикле, если заказ небольшой. Нужен анализ реальных кейсов.
Задание тестовое.
По прошлой статистике (до 50 строк в заказе) быстрей запрос в цикле.
Спец, чтобы быстро добавить поддержку серий/характеристик/вариантов расчета цены тоже на дороге не валяется.
(6)
повторю: "Соответственно для ОбработкаВыбораПосле и ТоварыНоменклатураПриИзмененииПосле это не нужно."
(6)
Это говорит только об одном, что проблема в самом запросе/алгоритме.
Верно понимаю: даже при подборе/добавлении строки всю тч Товары на сервер за ценой?
повторю: "Соответственно для ОбработкаВыбораПосле и ТоварыНоменклатураПриИзмененииПосле это не нужно."
(6)
Пользователь ждет меньше в случае запроса в цикле, если заказ небольшой. Нужен анализ реальных кейсов.
Задание тестовое.
По прошлой статистике (до 50 строк в заказе) быстрей запрос в цикле.
Задание тестовое.
По прошлой статистике (до 50 строк в заказе) быстрей запрос в цикле.
Это говорит только об одном, что проблема в самом запросе/алгоритме.
(11)
Где это было сказано? Не нужно групповое получение для всей номенклатуры запрос для добавления и изменения номенклатуры. Это совсем разные понятия.
(11)
А это уже не ко мне. Автору там виднее.
я так понял цену получают из вне, так почему при изменении номенклатуры ее не надо обновлять
Где это было сказано? Не нужно групповое получение для всей номенклатуры запрос для добавления и изменения номенклатуры. Это совсем разные понятия.
(11)
а после записи зачем ее обновлять?
А это уже не ко мне. Автору там виднее.
(11)
после записи зачем ее обновлять?
После записи реквизит Объект будет заново прочитан из прикладного объекта, соответственно, колонка, которая не является реквизитом табличной части, будет очищена. Это не очень удобно, когда пользователь нажимает кнопку "Записать", колонка Цена будет очищаться.
В процедурах ПриЧтенииНаСервереПосле() и ПослеЗаписиНаСервереПосле() получите цены для всей номенклатуры общим запросом.
В процедуре ОбработкаВыбораПосле() у вас есть выбранные значения, отправьте только их в серверную процедуру без контекста и получите цены для выбранных значений общим запросом.
В процедуре ТоварыНоменклатураПриИзмененииПосле() вызовите процедуру без контекста и получите цену только для значения строки.
В процедуре ОбработкаВыбораПосле() у вас есть выбранные значения, отправьте только их в серверную процедуру без контекста и получите цены для выбранных значений общим запросом.
В процедуре ТоварыНоменклатураПриИзмененииПосле() вызовите процедуру без контекста и получите цену только для значения строки.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот