Страница 1 из 1

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

Добавлено: Ср июл 17, 2013 10:52
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, ачто это за статусы найти не смог). Куда можно посмотреть?

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

Добавлено: Ср июл 17, 2013 11:12
alex_200
По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus

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

Добавлено: Ср июл 17, 2013 11:22
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, ачто это за статусы найти не смог). Куда можно посмотреть?
Все уже придумано за вас. Вам нужен модуль ЭД монитор из комплекта ГТД сервера.

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

Добавлено: Ср июл 17, 2013 11:31
alex_200
А может ему нужна выгрузка полученных результатов в некую внешнюю программу? Да и еще и в автоматическом режиме. Да по нескольким SQL базам сразу...

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

Добавлено: Ср июл 17, 2013 11:48
aiki
alex_200 писал(а):А может ему нужна выгрузка полученных результатов в некую внешнюю программу? Да и еще и в автоматическом режиме. Да по нескольким SQL базам сразу...
может...

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

Добавлено: Чт июл 18, 2013 09:10
warner
alex_200 писал(а):По корзине вроде все верно.
Расшифровку статусов рекомендую вот здесь почитать: http://wiki.alta.ru/index.php/%D0%A1%D1 ... s.EdStatus
То, что нужно, спасибо.
Мне эти результаты нужны для отдельной программы, так что ЭД-монитор не подходит.

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

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

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

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

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

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

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

Добавлено: Пт июл 26, 2013 14:27
spkg
warner писал(а): Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
Было бы весьма любезно) А то руки не доходят!

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

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

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

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

ПС
Кстати, как показывает практика, водители не знают своих представителей или получателей, особенно если нерусские водилы, так что в таблице они ориентируются исключительно по номеру своего ТС.

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

Добавлено: Ср июл 31, 2013 13:44
warner
Если поможет, то я когда смотрел таблицы увидел, что номер машины хранится в таблице GTDList в поле с именем 21 (а в поле 18 хранится пара машина/тягач) (это если машин немного, если в одной декларации больше 2х машин, то там первые 2 пишутся, а дальше см.дополнение, т.е. нужно где-то ещё искать, не стал смотреть.).
Соответственно можно искать в таблице Gtdlist по этому полю, и получать DOCGID. (а их может не быть, если номер набран с ошибкой, или быть несколько, если одна и та-же машина ездит туда-сюда).
Зная DOCGID уже можно идти в таблицу Docs, в которой есть поле GID. Через эти поля связь таблиц идёт, т.е. GTDList.DOCGID = Docs.GID
Ну и тут уже получаем информацию о декларации, номер, статус, и т.п.
Можно какой-нибудь запрос с Join сделать, чтобы сразу всё вытаскивать из обеих таблиц.

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

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

Некоторые скриншоты прилагаю.

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

Добавлено: Пн сен 16, 2013 15:23
LevZabudko
warner писал(а):Cейчас тестирую своё "детище", потом выложу сюда на форум вместе с исходниками, может кому пригодится, а я не жадный)
Был бы крайне признателен за исходники. Заранее спасибо!

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

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