• Обсуждения на сайте Альта-Софт

SQL запрос, показывающий ТД, которые в процессе выпуска

вопросы по работе с программным обеспечением

Модераторы: Renat, Gala, alta_olg, expert, Lemur

Ответить
warner
Почетный участник
Сообщения: 130
На форуме: c 25 фев 2010
Сказал: 14 ед.
Получил: 17 ед.

SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение warner »

Добрый день, уважаемые разработчики.
Подскажите пожалуйста про базу данных.
Мне нужно из базы вытащить список всех деклараций, которые в данный момент поданы по ЭД2, но ещё не выпущены.
Я соорудил следущий запрос, который выбирает идентификаторы всех гтд которые не в корзине (pathgid!=...) и у которых статусы не следующие - 7(Выпуск разрешён),
статус 0 - без эд-статуса, статус 6 - условно выпущена, статус 10 отказано в выпуске, статус 12 - выпуск с обеспечением, статус 13 - тд отозвана, статус 14 - считается не поданной

Код: Выделить всё

SELECT GID, REGNUM, EDSTAT FROM [Docs] WHERE DOCTYP = 'GTD' AND EDSTAT!=7 AND EDSTAT!=0 AND EDSTAT!=6 AND EDSTAT!=10 AND EDSTAT!=12 AND EDSTAT!=13 AND EDSTAT!=14 AND PATHGID!='00000000-0000-0000-0000-000000000002'
Не уверен насчёт правильности отсечения тех деклараций, которые в корзине, но попробовал на нескольких базах, везде у корзины такой pathgid.
Вроде всё работает, но почему-то у некоторых деклараций со статусом "Выпуск разрешён" в базе стоит EDSTAT, к примеру 2055, или 8192, ачто это за статусы найти не смог). Куда можно посмотреть?
alex_200
Постоянный участник
Сообщения: 21
На форуме: c 13 ноя 2010
Сказал: 1 ед.
Получил: 0 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение alex_200 »

По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение aiki »

warner писал(а):Добрый день, уважаемые разработчики.
Подскажите пожалуйста про базу данных.
Мне нужно из базы вытащить список всех деклараций, которые в данный момент поданы по ЭД2, но ещё не выпущены.
Я соорудил следущий запрос, который выбирает идентификаторы всех гтд которые не в корзине (pathgid!=...) и у которых статусы не следующие - 7(Выпуск разрешён),
статус 0 - без эд-статуса, статус 6 - условно выпущена, статус 10 отказано в выпуске, статус 12 - выпуск с обеспечением, статус 13 - тд отозвана, статус 14 - считается не поданной

Код: Выделить всё

SELECT GID, REGNUM, EDSTAT FROM [Docs] WHERE DOCTYP = 'GTD' AND EDSTAT!=7 AND EDSTAT!=0 AND EDSTAT!=6 AND EDSTAT!=10 AND EDSTAT!=12 AND EDSTAT!=13 AND EDSTAT!=14 AND PATHGID!='00000000-0000-0000-0000-000000000002'
Не уверен насчёт правильности отсечения тех деклараций, которые в корзине, но попробовал на нескольких базах, везде у корзины такой pathgid.
Вроде всё работает, но почему-то у некоторых деклараций со статусом "Выпуск разрешён" в базе стоит EDSTAT, к примеру 2055, или 8192, ачто это за статусы найти не смог). Куда можно посмотреть?
Все уже придумано за вас. Вам нужен модуль ЭД монитор из комплекта ГТД сервера.
alex_200
Постоянный участник
Сообщения: 21
На форуме: c 13 ноя 2010
Сказал: 1 ед.
Получил: 0 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение alex_200 »

А может ему нужна выгрузка полученных результатов в некую внешнюю программу? Да и еще и в автоматическом режиме. Да по нескольким SQL базам сразу...
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение aiki »

alex_200 писал(а):А может ему нужна выгрузка полученных результатов в некую внешнюю программу? Да и еще и в автоматическом режиме. Да по нескольким SQL базам сразу...
может...
warner
Почетный участник
Сообщения: 130
На форуме: c 25 фев 2010
Сказал: 14 ед.
Получил: 17 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение warner »

alex_200 писал(а):По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus
То, что нужно, спасибо.
Мне эти результаты нужны для отдельной программы, так что ЭД-монитор не подходит.
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение Koteneff »

warner писал(а):
alex_200 писал(а):По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus
То, что нужно, спасибо.
Мне эти результаты нужны для отдельной программы, так что ЭД-монитор не подходит.
Ну ты крут! )))
lostsoul652
Новый участник
Сообщения: 5
На форуме: c 12 сен 2011
Сказал: 2 ед.
Получил: 0 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение lostsoul652 »

Koteneff писал(а):
warner писал(а):
alex_200 писал(а):По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus
То, что нужно, спасибо.
Мне эти результаты нужны для отдельной программы, так что ЭД-монитор не подходит.
Ну ты крут! )))
Покажу и свои наработки. Вот такое у нас уже с полгода живет и показывается на большом мониторе у декларантов.
Изображение
Изображение
Изображение
warner
Почетный участник
Сообщения: 130
На форуме: c 25 фев 2010
Сказал: 14 ед.
Получил: 17 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение warner »

Koteneff писал(а):
warner писал(а):
alex_200 писал(а):По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus
То, что нужно, спасибо.
Мне эти результаты нужны для отдельной программы, так что ЭД-монитор не подходит.
Ну ты крут! )))
Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
spkg
Постоянный участник
Сообщения: 17
На форуме: c 16 июн 2011
Сказал: 5 ед.
Получил: 0 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение spkg »

warner писал(а): Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
Было бы весьма любезно) А то руки не доходят!
Аватара пользователя
Koteneff
Аксакал
Сообщения: 877
На форуме: c 13 мар 2009
Сказал: 73 ед.
Получил: 45 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение Koteneff »

warner писал(а):
Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
Недурно.
Я так и не смог в свою информационную систему на сайт вывод сделать из Альты. Не хватило сил просчитать логику запроса. У нас на сайте вывод идет
такой:

ИмпортерЭкпортер / Номер траспортного средства / Груз / Время прибытия / Статус.

Статус вещь простая : декларант на нашем сайте ставит галочку - подается он или нет. А водители смотрят. если видит что подаются, то ждет звонка/пинка.
А так как упор на всей собтсвенной ИС идет на номер ТС, то вытащить статусы и номер ДТ практически анрил, мне лично не хватило сил )

ПС
Кстати, как показывает практика, водители не знают своих представителей или получателей, особенно если нерусские водилы, так что в таблице они ориентируются исключительно по номеру своего ТС.
warner
Почетный участник
Сообщения: 130
На форуме: c 25 фев 2010
Сказал: 14 ед.
Получил: 17 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение warner »

Если поможет, то я когда смотрел таблицы увидел, что номер машины хранится в таблице GTDList в поле с именем 21 (а в поле 18 хранится пара машина/тягач) (это если машин немного, если в одной декларации больше 2х машин, то там первые 2 пишутся, а дальше см.дополнение, т.е. нужно где-то ещё искать, не стал смотреть.).
Соответственно можно искать в таблице Gtdlist по этому полю, и получать DOCGID. (а их может не быть, если номер набран с ошибкой, или быть несколько, если одна и та-же машина ездит туда-сюда).
Зная DOCGID уже можно идти в таблицу Docs, в которой есть поле GID. Через эти поля связь таблиц идёт, т.е. GTDList.DOCGID = Docs.GID
Ну и тут уже получаем информацию о декларации, номер, статус, и т.п.
Можно какой-нибудь запрос с Join сделать, чтобы сразу всё вытаскивать из обеих таблиц.
Vovkin
Активный участник
Сообщения: 34
На форуме: c 20 ноя 2007
Сказал: 0 ед.
Получил: 4 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение Vovkin »

ЭД Монитор из комплекта ГТД Сервера уже решает целый ряд задач.
Он имеет как обычную версию в виде просто запускаемой программы,
так и Web часть, которая позволяет получать и просматривать
статистику удаленно по сети или через интернет.
ЭД Монитор умеет настраиваться сразу на несколько MS SQL серверов
с несколькими базами.
Умеет отображать статистику по Поданным/Зарегистрированным/Выпущенным,
за определенный период.
Умеет показывать исходные ЭД сообщения.
Экспортировать данные в Excel и HTML

Некоторые скриншоты прилагаю.
Вложения
webopt.png
webopt.png (48.25 КБ) 8753 просмотра
web.png
web.png (110.8 КБ) 8753 просмотра
edmonopt.png
edmonopt.png (40.67 КБ) 8753 просмотра
edmon.png
edmon.png (79.15 КБ) 8753 просмотра
LevZabudko
Постоянный участник
Сообщения: 15
На форуме: c 22 окт 2012
Сказал: 3 ед.
Получил: 0 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение LevZabudko »

warner писал(а):Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
Был бы крайне признателен за исходники. Заранее спасибо!
warner
Почетный участник
Сообщения: 130
На форуме: c 25 фев 2010
Сказал: 14 ед.
Получил: 17 ед.

Re: SQL запрос, показывающий ТД, которые в процессе выпуска

Сообщение warner »

LevZabudko писал(а):
warner писал(а):Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
Был бы крайне признателен за исходники. Заранее спасибо!
Выложил:
viewtopic.php?f=36&t=23280
Ответить