Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:42

Помогите с запросом

Автор n0013, 25 июн 2012, 09:28

0 Пользователей и 1 гость просматривают эту тему.

n0013

Добрый день, форумчане!

Помогите, пожалуйста, с запросом: Цель запроса: Есть заявки. Нужно выбрать заявки, в регистре сведений у которых после статуса "Оплачено" есть еще какие-либо записи.

Начал писать запрос:


ВЫБРАТЬ
   РегистрСостоянийЗаявок.Заявка,
   РегистрСостоянийЗаявок.Период,
   РегистрСостоянийЗаявок.СостояниеЗаявки
   
ИЗ
   РегистрСведений.РегистрСостоянийЗаявок КАК РегистрСостоянийЗаявок
ГДЕ
   РегистрСостоянийЗаявок.СостояниеЗаявки =  &Перечисления



Дальше ступор! Понедельник влияет )



sergeevds

А запись по каждой заявке одна и в ней просто меняетсяы статус? Просто не очень понятно, что ты хочешь выбрать.

n0013

Нет, записи каждый раз при изменении статуса заявки, записываются в регистр сведений. Вот пример:

19.06.2012 15:23:41   Заявка на платеж ГНУ0001  На утверждении
20.06.2012 10:15:45  Заявка на платеж ГНУ0001  Утверждена
20.06.2012 10:45:21  Заявка на платеж ГНУ0001  К оплате
21.06.2012 14:51:23  Заявка на платеж ГНУ0001  Оплачено
22.06.2012 14:51:23  Заявка на платеж ГНУ0005  На утверждении
23.06.2012 14:51:23  Заявка на платеж ГНУ0005  Утверждена
...

И таких заявок может быть много! И надо у заявки, к примеру ГНУ0001 брать последний статус "Оплачено" и смотреть есть ли еще какие-нибудь записи для этой заявки. Если есть, то выводить в отчет.

LexaK

ВЫБРАТЬ
  РегистрСостоянийЗаявок.Заявка,
  РегистрСостоянийЗаявок.Период,
  РегистрСостоянийЗаявок.СостояниеЗаявки
 
ИЗ
  РегистрСведений.РегистрСостоянийЗаявок КАК РегистрСостоянийЗаявок
внутреннее соединение
  РегистрСведений.РегистрСостоянийЗаявок КАК РегистрСостоянийЗаявок0
по РегистрСостоянийЗаявок.Заявка = РегистрСостоянийЗаявок0.Заявка
и РегистрСостоянийЗаявок.Период> РегистрСостоянийЗаявок0.Период

ГДЕ
  РегистрСостоянийЗаявок0.СостояниеЗаявки =  &Перечисления //"Оплачено"
упорядочить по 1,2 автоупорядочивание
...
данный запрос выберет Все заявки у которых был статус Оплачено и после которого были еще какие нибудь записи.


если помогло нажмите: Спасибо!

n0013

оперативно. Спасибо. А подскажите еще пожалуйста, как выводить не несколько записей, а только одну?

LexaK

хм, а может ну ее на фиг это программирование в 1С?

а вообще, что бы получить только одну запись в результате

выбрать первые 1
...
если помогло нажмите: Спасибо!

n0013

Нееееееее, программирование 1с не нафиг! Надо посидеть почитать все это хозяйство! Спасибо тебе LexaK!

Андрей Федотов

Если нужно выбрать 1 единственную запись (как я понимаю самую последнюю) - надо переписать запрос. Нужно выбирать данные не из самого регистра сведений "РегистрСостоянийЗаявок", а из среза последних

n0013

Спасибо всем!
Подскажите пожалуйста, какие книги можете посоветовать для изучения по запросам. Представление о 1С есть, но в части написания запросов вообще нуль! sql знаю, но вот запросы в 1с нет! К примеру, можно ли добавлять запросом из 1С записи в таблицы?

LexaK

n0013
ха-ха-ха, ну уморил!!!
цитата:
"sql знаю, но вот запросы в 1с нет!"
Запросы в 1С это почти 100% аналог Select(а) в SQL.
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск