8.х Нужен совет по оформлению считывания номеров

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Max1mus, 26 июн 2017.

  1. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    В организацию купили камеры считывания номеров у авто. По одной поставили на въезд на 2 проходных. В момент заезда авто на проходную номер считывается и хранится на сервере. Соответственно у каждой камеры свой ID канала, логин и пароль. Забрать номер с сервера получается без особых проблем. А вот как лучше хранить данные канала/логина в 1С, чтобы понять с какой весовой заехала машина - не соображу никак... В перспективе еще несколько камер, и всё в одну базу. Поэтому хотелось бы универсального решения.
    Думаю создать параметр сеанса, скажем СистемаСчитывания, как фиксированное соответствие с привязкой к наименованию компьютера. Типа такого:
    Соответствие.Вставить("Comp-01", "ID_Канала | Логин | Пароль")
    и потом при обращении с формы получать соответствие по ПараметрСеанса.РабочееМестоКлиента.ИмяКомпьютера
    и разбирать строку поиском символа " | ". Насколько это верно - не знаю, поэтому и прошу совета у Вас.

    Заранее благодарен за Ваши мнения.
    P.S.Не знаю на сколько критична версия, но используем 1С Бухгалтерия КОРП 3.0, релиз 3.0.50.12.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    Всю информацию удобнее хранить в виде структуры, только не понятно, для чего хранить имя машины и пароль пользователя.
  3. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Мне казалось, что по имени компьютера искать строку в соответствии будет проще. Сделать структуру вроде тоже не сложно будет. Только дальше что?
    Возможно я не понятно высказался: Хранить нужно ID канала, логин и пароль для подключению к серверу, где хранятся данные о госномере авто.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    Эээ....
    Какое именно имя компьютера будет храниться и для чего оно будет хранится?
    Искать можно и по комбинации значений колонок ТЗ, например.

    Для чего именно параметры сеанса нужны? Чтобы каждый пользователь для своих каких-то нужд мог получить номер машины из БД, в которой они(номера) хранятся?
    В таком случае, как пользователь будет проверять: этот ли номер ему нужен или нет?

    Не понятен момент с ID канала: он каким образом попадает в 1С?
    этих каналов может быть много, следовательно, комбинаций пользователь/пароль будет много.

    В структуре задается ключ и значение этого ключа - не нужно парсить строковое значение.

    Соответствие немного избыточно для данного случая.
  5. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Блин, снова я не дописал, вытягиваете клещами. Дико извиняюсь((( ГосНомер авто, который пользователь получит с сервера надо будет записать в УФ в нужное поле.
    На каждой проходной на каждом из компьютеров несколько пользователей, поэтому и думал привязаться к имени компа, с которого осуществляется подключение.

    ID каналов дали те кто подключал камеры. . Я в 1С его просто записал ручками. Каждому ID каналу соответствует своя связка логин+пароль для подключения к серверу за госномером. Первый канал - Логин1+пароль1, Второй канал - Логин2+пароль2. Не сработает к первому каналу Логин2+пароль2.... Это нужно на тот случай, когда одновременно машины заехали. Чтобы понять какая камера "сохранила" номер авто на сервер используется ее ид канала. Как-то так...

    А Вы бы как сделали?
    Последнее редактирование: 26 июн 2017
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    Для чего знать вообще, с какого компьютера идет подключение?

    Я себе представляю это так: есть некий Сервер_А, к нему подключены все эти считыватели номеров, который имеет внутреннюю БД считанных номеров.

    Каждый клиент(это 1С в данном случае) просто лезет напрямую во внутреннюю БД считывателя номеров и каким-то образом запрашивает и получает нужный номер.

    Или как все устроено?
  7. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Не для чего, это моя мысль такая была. Я просто до другого пока не додумался.

    Ну да, так как Вы описали.
    Пример текста:
    В Процедуре УстановкаПараметровСеанса(ИменаПараметровСеанса) устанавливаю
    ИД Канала Логин Пароль
    Соответствие.Вставить("Комп01", "756e0ea6-726c | ves01 | 7bca3bdd4deb847954b76");
    Соответствие.Вставить("Комп02", "91be86d5-60fd0 | ves02 | 240824aa0487bb847954");
    Соответствие.Вставить("Комп03", "756e0ea6-726c | ves03 | 240bca3bghjhjhjhhhhdd4");
    возвращаю фиксированное соответствие

    Потом из нужного места уф по ключу получаю по имени компа строку
    СтрокаДанныхНомеров = ПараметрыСеанса.ДанныеСчитыванияНомеров.Получить(ПараметрыСеанса.РабочееМестоКлиента.ИмяКомпьютера);

    Я не знаю по чему и как еще идентифицировать нужный ид канала, чтобы потом к нему применить нужную связку логин+пароль...
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    если на одной машине будет несколько считывателей, как определять нужный?
    значение соответствия может быть и структура, если не ошибаюсь.
  9. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Не совсем понял вашу логику...
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    К Серверу_А подключено 2 считывателя, например. Как пользователь 1С поймет, какой именно считыватель он должен попросить прислать ему номер?
    Ну или как в БД со считанными номерами однозначно определить нужный номер по запросу?

    Соответствие.Вставить("Ключ", Новый Структура("Ключ", Значение));

    До сих пор не понятно, для чего нужно именно через параметры сеанса это все делать, т.к. комбинаций Считыватель/Пользователь/Пароль будет много.
    TrasserZero нравится это.
  11. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    В запросе к БД с номерами обращение идет по времени с ТекущаяДатаСеанса() по ТекущаяДатаСеанса() минус 2 минуты. Т.е. с сервера_А считывается номер за это время, примерно столько нужно нам на оформление документов. Для связи с Сервером_А используется ИД канала. С какого ИД Канала считался номер, с такого же и получится забрать этот номер с сервера_А с доступом Логин1+пароль1.

    Это моё видение решения через параметры сделать, потому как другого пока не придумал. Почему комбинаций будет много не пойму? Не может быть на одном ПК несколько считывателей. Если скажем заехала машина на проходную1 - камера1 номер считала, используется ИД_Канала1 (и только для ИД_Канала1 пройдет логин1+пароль1), аналогично на других проходных.
  12. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    Проходных - не одна, как пользователь 1С будет знать какая проходная ему нужна или пользователю 1С это знать не нужно?

    В любом случае, комбинации Ид_Канала + Пользователь + Пароль нужно хранить в БД 1С, поэтому РС придется заводить.
    Max1mus нравится это.
  13. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Так ведь это и есть основная задача. Пользователь по идее и не может это знать, потому как они один другого могут заменять, то работая на первой проходной, то на второй. К пользователю привязка отпадает получается.

    Если очень грубо говоря, у меня "на руках" 2 проходных, 2 комбинации Ид_Канала + Пользователь + Пароль и ответ с сервера_А в виде JSON http:// IPСервера_А:8080/auto?login=Логин1&password=Пароль1&channelid=ИД_Канала1&startTime=2017-06-06-08-36-00-000&finishTime=2017-06-06-18-36-59-999
    Для другой камеры будет свой ответ
    http:// IPСервера_А:8080/auto?login=Логин2&password=Пароль2&channelid=ИД_Канала2&startTime=2017-06-06-08-36-00-000&finishTime=2017-06-06-18-36-59-999

    Надо сделать, чтобы данные о номере автомобиля появлялись в реквизите на форме.

    Думал то же на счет регистра сведений. Только вот здесь в 1С с правами намутили, у многих полные установлены. Поэтому в такой легкий доступ для шаловливых ручек страшновато выкладывать, а решать параллельно вопросы с доступом пока нет возможности. Но спасибо за Ваше мнение.
    Последнее редактирование: 27 июн 2017
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    в общем случае каждый раз придется опрашивать все возможные ИД_Канала.
    Параметры сеанса тут вряд ли помогут.

    еще момент, если таки на 2 проходных будет по машине, как пользователь будет решать проблему выбора проходной?
  15. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Как раз по ИД_канала и вернуться должен нужный ответ по машине. Типа того что какая камера по какому каналу записала номер, с такими же данными только и забрать можно.
    Условно мы знаем что на проходной слева стоит камера1, на проходной справа камера2.
  16. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    Это все понятно, как пользователь будет решать, какая камера ему нужна в данный момент, т.к. обе камеры вернут какой-то номер, т.к. машины стоят на обеих проходных?
  17. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    --- Объединение сообщений, 27 июн 2017 ---
    Есть проходная1, над ней установлена камера1 (у нее свой ИД_Канала+Логин+Пароль). На этой проходной есть комп1, на котором работают пользователи Иванова и Петрова.
    Есть проходная2, над ней установлена камера2 (у нее свой ИД_Канала+Логин+Пароль). На этой проходной есть комп2, на котором работают пользователи Панова и Сидорова.
    Камеры физически подключены на сервер, не к компам.

    Ивановой и Петровой на комп1 не может вернуться ответ с камеры2, как и Пановой и Сидоровой не может вернуться ответ с камеры1. Значит когда одновременно машины заедут - каждая камера вернет уникальный номер по своему каналу.

    Но Пользователи могут меняться местами и Иванова может работать на компе2. Поэтому привязку к пользователям делать, по-моему мнению, не получится. Я сделал к имени компа и спросил у форума, какие еще есть варианты..
    Последнее редактирование: 27 июн 2017
  18. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    nomad_irk, спасибо тебе.

    Хоть поспрашивал и то хорошо. Видимо я как-то не так (или не то) отвечаю, раз прервалось наше общение... Понятно, что параметры сеанса в решении этого вопроса лишние,да и соответствие то же, но пока пусть так. Буду искать более красивый метод после встречи с парнями, которые камеры ставили, может я сам себе слишком усложняю...
  19. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.246
    Симпатии:
    963
    Баллы:
    204
    судя из описания нужно соответствие, которое вы предложили изначально. я же просто предложил хранить его в БД в виде РС, не используя параметры сеанса, т.к. значения параметров все равно необходимо хранить в БД.

    другой вопрос, как хранимые параметры разделить по пользователям, т.к. на сколько я понял, база 1с для учета одна?
  20. TopicStarter Overlay
    Max1mus
    Offline

    Max1mus Опытный в 1С

    Регистрация:
    7 апр 2017
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Да, база 1С одна, с обособленными подразделениями, и на каждый планируется ставить видеосчитывание номеров. Как разделить это всё - основной вопрос. Опять же, нужно ли по пользователям это разделять или еще по чему-то можно?
    Вчера скинули данные еще по одному подразделению: IP-адрес сервера, ИД_Канала и Логин+пароль для подключения к каналу. Так что в соответствие придется добавлять еще одно поле с айпишником сервера...

    После разговора в живую со спецами по камерам надеюсь что-то прояснится, ждём-с....
Похожие темы
  1. Alex_Old
    Ответов:
    1
    Просмотров:
    933
  2. smitog
    Ответов:
    4
    Просмотров:
    947
  3. st88
    Ответов:
    20
    Просмотров:
    1.120
  4. Sivilan

    Курилка Нужен совет

    Sivilan, 10 авг 2015, в разделе: Курилка
    Ответов:
    8
    Просмотров:
    619
  5. Persempre
    Ответов:
    5
    Просмотров:
    550
Загрузка...

Поделиться этой страницей