Не получается получить значение deltaQ посистеме ГВС если она однотрубная. Если это так задумано, то не удобно получается, что для разных систем придется выдумывать разные отчетные формы.
А в самом счетчике эти показания есть? Уточните модель прибора учета.
Прибор ТМК Н-13, в ВКТ тоже самое, да и во всех я думаю так.
deltaQ это Q1-Q2 насколько я понимаю, так вот если у нас 1трубная система ГВС, то у нас есть только Q1. это логично, но удобнее было бы хранить также значение Q2 которое равно 0, и вычислять разность, т.е. deltaQ.
Получается если система 1трубная то придется деть отчетную форму основываясь на Q1, если 2 трубная на deltaQ, я же предлагаю вычислять для обоих случаев deltaQ и, как говориться не париться.
В таких случаях удобнее использовать расчетное поле с выражением:
[Q1 - теплота в подающей магистрали] - Iif(IsNull([Q2 - теплота в обратной магистрали]), 0, [Q2 - теплота в обратной магистрали] )
Да можно, но это делать придется во всех отчетных формах которые используют это значение. Подумайте, может так будет удобнее и быстрее для конечного пользователя все таки.
Вы предлагаете вычислять и записывать в базу показания deltaQ для обнорубной ГВС.
А как быть пользователям, которые в отчетах выполняют свои расчеты, ориентируясь на условие, что deltaQ не задано? Им переделывать отчетные формы ?
Я и есть такой пользователь. В скрипте у меня есть простая проверка if (m2 || v2 == 0) то использую вывод Q1 else вывожу deltaQ
Подскажите что можно рассчитывать , ориентируясь на условие, что deltaQ не задано, если известно что система однотрубная и deltaQ = Q1-Q2 => deltaQ = Q1;
Если по каким либо причинам нет Q1, то его можно расчитать как Q1 = (T1-Tхв)*M1/1000 и положить deltaQ = Q1
Понимаете, я предлагал вам сделать так чтобы не городить велосипед из [Q1 - теплота в подающей магистрали] - Iif(IsNull([Q2 - теплота в обратной магистрали]), 0, [Q2 - теплота в обратной магистрали] )
Можно конечно получить ее и так, можно написать скрипт, а можно сделать расчет deltaQ, последний вариант для меня показался более демократичным для конечного пользователя. Пользователь просто переносит поле Qdelta_Start или Qdelta_End на отчетную форму и не задумывается о том есть ли у него там циркуляция или нет.
В любом случае спасибо за ответы!
Мне кажется, вы с Aleks забрели далеко в сторону от исходной проблемы, давайте вернемся к первому сообщению.
При выдаче данных о потреблении для однотрубных систем ЛЭРС УЧЕТ рассчитывает Qdelta = Q1 автоматически. При выдаче показаний этого не делается, поэтому в вашем случае нет значений Qdelta_Start и Qdelta_End. Вы правы, когда говорите об удобстве пользователя, но не правы оперируя формулой разности показаний. Для показаний нельзя использовать арифметику Qdelta = Q1 - Q2 и нельзя сравнивать в нулем (это тоже значение), можно только присваивать Qdelta = Q1, если Q2 не содержит значений.
Мы рассмотрим ваше предложение о копировании показаний Q1 в Qdelta для однотрубных систем.