PDA

Просмотр полной версии : Загрузка данных расходомеров


yura.nikolaenko
15.01.2018, 11:23
Добрый день.

Прошу проконсультировать по следующему вопросу.

Имеется АЗС. На АЗС установлены две колонки выдачи ГСМ (№1 и №2).

Сама цистерна АЗС оборудована датчиком уровня.
Слив - поступление топлива мы можем получать используя метод
GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо, "Tank*",,)
Важным является параметр "Tank*", именно из за него мы получаем отрезки с изменениями уровня топлива.Но так как датчик неоткалиброван, значение изменения датчиков уровня топлива не представляет ценности.

Сами колонки оборудованы расходмерами, значения которых так же фиксируется в системе Автограф. Т.е. расход топлива по цистерне можно получить и как расход по расходомеру (колонки №1 и №2).

Каким образом, каким запросом и с каким параметром можно отобрать отрезки со значениями расходмеров? Я подозреваю, что GetStage, но какой параметр тогда указать вместо Tank* ?

plex
15.01.2018, 11:25
yura.nikolaenko, прикрепите схему и данные, тут без этого не решить вопрос. А вы к дилеру обращались?

Blackone
15.01.2018, 11:40
Юрий, я же Вам на почте ответил, какой параметр является расходом по азс и бензовозу...

yura.nikolaenko
15.01.2018, 11:43
Юрий, я же Вам на почте ответил, какой параметр является расходом по азс и бензовозу...

По использовании параметра "Tank*" метод GetStage не возвращает отрезки по расходомеру. Например запрос по Колонне 2 возвращает пустой массив. Хотя расход по колонке (заправки ТС) были.

SK
15.01.2018, 11:56
Господа, у меня такое ощущение, что вопрос лежит не в плоскости обращения к производителю ПО или к консультации с другими участниками форума, а в плоскости определения нужного имени параметра в некоей Вашей схеме, который отвечает за нужные Вам данные.

Blackone
15.01.2018, 12:00
так и есть :dontknow:
у вас на 2й колонке физически нет в программе параметра бак, в почте все описал
http://prntscr.com/i0obsj
http://prntscr.com/i0oc5j
http://prntscr.com/i0oe7i

yura.nikolaenko
15.01.2018, 12:05
Я думаю в плоскости разработчика ПО

GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"​​Engine*" ,,) ?
GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"​Consumption*" ,,)?

Я думаю разработчик ПО, изучив схему предоставленную дилером сможет помочь сформулировать запрос к API, показав как называется параметр, отбирающий движения по расходомерам.

SK
15.01.2018, 12:13
yura.nikolaenko, для ПО это просто заправки (или сливы - как назначите для соответствующего бака).
Какой параметр (имя) является "баком" с расходомером - к разработчику не имеет никакого отношения.
Вы можете назвать его как угодно.
У Вас некому посмотреть в параметры ТС в раздел баков и найти - в каком баке источником заправок или сливов является расходомер ?
Что-то типа:

https://i.tk-chel.ru/sk/sharex/2018-01-15_17-12-04.png

или

https://i.tk-chel.ru/sk/sharex/2018-01-15_17-12-57.png

Blackone
15.01.2018, 12:15
Вы можете назвать его как угодно.
У Вас некому посмотреть в параметры ТС в раздел баков и найти - в каком баке источником заправок или сливов является расходомер ?
Что-то типа:я выше приложил скрины, как настроено, не используем (сейчас в процессе подготовки к установке с лимитами) AGFC, пока что просто подключен дискретный вход трекера на испульсный выход колонки

SK
15.01.2018, 12:20
я выше приложил скрины, как настроено, не используем (сейчас в процессе подготовки к установке с лимитами) AGFC, пока что просто подключен дискретный вход трекера на испульсный выход колонки
Тогда тем более вопрос не к нам )))))))))))))

yura.nikolaenko
15.01.2018, 13:15
я выше приложил скрины, как настроено, не используем (сейчас в процессе подготовки к установке с лимитами) AGFC, пока что просто подключен дискретный вход трекера на испульсный выход колонки
Тогда тем более вопрос не к нам )))))))))))))

Тогда подскажите к кому?

На скриншотах дилера, и по совету дилера, я пробовал обращаться к группам "Расходы" и "Двигатели" с помощью методов
​GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"consumption*" ,,)
​GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"engine*" ,,)
Оба возвращают 0

GetStage точно работает для групп "не баки"?

Может выход завести баки виртуальные как у вас?

SK
15.01.2018, 13:42
Тогда подскажите к кому?
Кто создавал этот параметр. Откуда мы знаем - что там за имя/псевдоним ?

SK
15.01.2018, 13:45
Может выход завести баки виртуальные как у вас?
Чтобы получать инфо как на моих скриншотах - нужен контроллер топливозаправщика типа AGFC или ПОРТ-3.
Такой контроллер выдает в RS-485 готовый объем, продолжительность и прочие параметры заправки в шину в виде уже конечного репорта.
Т.е. нам остается просто принять это и использовать в неизменном виде. Вся обработка идет в AGFC/ПОРТ-3.

Blackone
15.01.2018, 13:49
Тогда подскажите к кому?
Кто создавал этот параметр. Откуда мы знаем - что там за имя/псевдоним ?параметр двигателя - Engine1, его расход должен быть Engine1FuelConsum
параметр расхода - FuelRateByCntrs1, я ж скрины приложил
как аг5 переименовала при импорте с 4рки, так и не трогалось

agfc будет, но пока думаем над необходимыми добработками, обеспечением бесперебойности его (баг\фича с обнулением), и автоматизированной лимитизации карт

SK
15.01.2018, 13:52
Blackone, вот и я говорю, что вопрос вроде как к Вам.
Или я чего-то не понимаю ?

yura.nikolaenko
15.01.2018, 14:54
Тогда подскажите к кому?
Кто создавал этот параметр. Откуда мы знаем - что там за имя/псевдоним ?

О каком параметре вы говорите ?

Мои вопросы к разработчику ПО очень конкретны и не зависят от дилера:

Можно ли использовать метод GetStage для получения отрезков по параметрам, отличным от "Tank*" ?

Если да, откуда брать эти параметры? Корректно ли я поступаю, подбирая параметры методом тыка? (enginie, consumption)?

plex
15.01.2018, 14:58
yura.nikolaenko, вам же ответили что эти параметры брать в схеме, так же я попросил схему и вы проигнорировали вопрос и снова требуете ответа. ваш вопрос это все равно что у майкрософта спрашивать имена папок на рабочем столе вашего компьютера

yura.nikolaenko
15.01.2018, 15:04
yura.nikolaenko, вам же ответили что эти параметры брать в схеме, так же я попросил схему и вы проигнорировали вопрос и снова требуете ответа. ваш вопрос это все равно что у майкрософта спрашивать имена папок на рабочем столе вашего компьютера

Приношу извинения за то что проигнорировал вопрос. Я обратился к дилерам принять участие в обсуждении и опубликовать то что нужно. Попрошу их еще опубликовать схему, правда я не знаю что это такое :)

Blackone
15.01.2018, 15:12
так же я попросил схемузакинул в личку

plex
15.01.2018, 15:16
yura.nikolaenko, скорее всего нужны вам stage_ID1 параметр Engine1FuelConsum

plex
15.01.2018, 15:43
Оно????

yura.nikolaenko
15.01.2018, 16:41
yura.nikolaenko, скорее всего нужны вам stage_ID1 параметр Engine1FuelConsum

К сожалению,
GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо," Engine1FuelConsum*" ,,)
возвращает пустой массив отрезков. Как и использование "Engine*","Consum*", и многие другие варинты.

Кстати метод GetTrips позволяет получить "рейсы" колонки и соответственно движение топлива через расходомер. Но к сожалению, не дает возможности получить номер карты идентификации ТС - что заправляется. Т.е вижу заправку но не знаю какое ТС. Может это подскажет в каком направлении думать?

plex
15.01.2018, 17:32
Но к сожалению, не дает возможности получить номер карты
Потому что там нужно в отрезках смотреть
GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"ID1" ,,) Как-то так должно работать.! Название отрезков ID1 а в массиве полученных данных Engine1FuelConsum есть расход топлива

Добавлено через 3 минуты
Я правильно понял что вам этот массив нужен?
https://i.gyazo.com/4632927e29a1e9f5d0ff8e2e6b50db78.png

yura.nikolaenko
15.01.2018, 17:39
Но к сожалению, не дает возможности получить номер карты
Потому что там нужно в отрезках смотреть
GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"ID1" ,,) Как-то так должно работать.! Название отрезков ID1 а в массиве полученных данных Engine1FuelConsum есть расход топлива
Добавлено через 3 минуты
Я правильно понял что вам этот массив нужен?
https://i.gyazo.com/4632927e29a1e9f5d0ff8e2e6b50db78.png

Ура!
GetStage(СхемаID, СписокGuid, ДатаС, ДатаПо,"ID1" ,,) работает и возвращает массив заправок с идентификаторами ТС.
Спасибо большое.

А где учат такому, что нужно было "ID1" указать в качестве параметров?

plex
15.01.2018, 17:45
А где учат такому, что нужно было "ID1" указать в качестве параметров?
я просто открыл программу и посмотрел что там накрутили, достаточно понятно кстати накрутили, разобраться хоть можно

yura.nikolaenko
15.01.2018, 17:52
А где учат такому, что нужно было "ID1" указать в качестве параметров?
я просто открыл программу и посмотрел что там накрутили, достаточно понятно кстати накрутили, разобраться хоть можно

Я правильно понял, что в декстопной версии автографа есть что то вроде конфигуратора, с помощью которого вы определили верное наименование параметра?

plex
15.01.2018, 17:55
Я правильно понял, что в декстопной версии автографа есть что то вроде конфигуратора, с помощью которого вы определили верное наименование параметра?
там собственно они и создаются

yura.nikolaenko
15.01.2018, 17:58
Я правильно понял, что в декстопной версии автографа есть что то вроде конфигуратора, с помощью которого вы определили верное наименование параметра?
там собственно они и создаются

Ну что ж, еще раз огромное спасибо. В следующий раз перед тем как задавать вопросы, буду штурмовать дилеров и конфигуратор Автографа.

Вопрос решен.

SK
17.01.2018, 05:48
yura.nikolaenko, АвтоГРАФ 5 ПРО - имеет встроенный конструктор пользовательских параметров. Если в 4-ке был строго определенный набор параметров, то в 5-ке их можно дополнительно создавать и переименовывать самостоятельно с использованием широкого спектра математических выражений и даже конструкций языка программирования прямо в ПО, что и сделал Ваш настройщик схемы. Я полагал, что это Вам известно и писал исходя из этого.

https://i.tk-chel.ru/sk/sharex/2018-01-17_10-54-39.png

yura.nikolaenko
17.01.2018, 10:14
SK, спасибо за ответ.
Безусловно, что бы в дальнейшем разрабатывать эффективную интеграцию 1С и Автограф, мне необходимо детально изучить программное обеспечение Автографа.
Конечно , я первоначально консультировался с дилером, прежде чем создать тему на форуме. Однако, как говорится, правильно заданный вопрос это 50% ответа.
Только обсуждение на форуме помогло правильно конкретизировать вопрос и получить ответ. Т.е. правильный ответ дал именно участник форума, изучив схему, предоставленную дилеру. Сам дилер так же давал имена параметров в письмах, однако это было не то что нужно. А уж дилер то наверняка лучше программиста 1С знает работу По Автографа, это не упрек, а конкретизация проблемы, с которой я столкнулся.