SeiOkami / OneS

Предложения по улучшению платформы
49 stars 3 forks source link

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

Open tormozit opened 1 year ago

tormozit commented 1 year ago

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

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

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

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

tormozit commented 1 year ago

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