OneS icon indicating copy to clipboard operation
OneS copied to clipboard

Добавить общим модулям с признаком кэширования свойство "Сразу" для обязательного выполнения функций

Open tormozit opened this issue 2 years ago • 2 comments

https://partners.v8.1c.ru/forum/t/1205094/m/1457771 Сценарий. Есть строка кода, выполняемая в цикле. Там выгоднее менее актуальную информацию получать но более быстро. А есть строка кода, выполняемая очень редко и там хотелось бы получать в ней всегда актуальную информацию. Пример

Цена = ОбщийЦенообразование.ПолучитьЦенуПоставщика(Дата, Контрагент); // Обычный вызов с кэшированием на время сеанса или вызова
ЦенаСвежая = ОбщийЦенообразование.Сразу.ПолучитьЦенуПоставщика(Дата, Контрагент); // Вызов без кэширования, с обновлением имеющегося в кэше значения

tormozit avatar Sep 01 '23 10:09 tormozit

А чем не устроило вынести вызов-переходник в отдельный модуль ПовтИсп? ОбщийЦенообразованиеПовтИсп.ПолучитьЦенуПоставщика(Дата, Контрагент);

если делать "Сразу", то лучше тогда сделать как с Асинх сделали, новое ключевое слово. Цена = Сразу ОбщийЦенообразование.ПолучитьЦенуПоставщика(Дата, Контрагент);

AllexAllex avatar Sep 07 '23 13:09 AllexAllex

@AllexAllex когда одна функция, то можно делать как угодно, но когда их сотни, то важно делать так, чтобы это легко было поддерживать и развивать. Думаю ты хотел сказать "как сделали с Ждать", т.е. "А = Ждать Кукум()". Это потребует изменения грамматики языка, т.е. это более затратно, чем мое предложение, которое не требует изменения грамматики. В целом же меня устроит и твой вариант.

tormozit avatar Sep 07 '23 14:09 tormozit