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

СКД запрос

Автор Sinsinmin, 23 ноя 2015, 08:25

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

Sinsinmin

Есть поле "Годная". Оно булево.
Есть много документов в котором есть поле Номер. Числовое. И собсно это поле "Годное".
Для одного номера может быть от 1 до 4 документов. Везде поле Годное равно "Истина". Но на деле, "годное" только последний документ.
При открытии списка доков, последняя запись о годном выводит "Да". А остальные меняются на "Нет". Это сделано функцией при открытии списка.
Вот возникла задача получить список годных номеров. Но мне ещё нужен регистратор. В котором есть поле "Бригада".

Я понимаю что нужно брать срезПоследних, но из за того что Регистратор для каждой записи Номера будет разный, то у меня и отбираются все записи.
Как вот можно сделать чтобы выбрать записи последние для каждого номера. Пока что я дошёл до такого кода))


ВЫБРАТЬ РАЗЛИЧНЫЕ
СыройПотокСрезПоследних.Регистратор
ПОМЕСТИТЬ ПоследнийСырой
ИЗ
РегистрСведений.СыройПоток.СрезПоследних КАК СыройПотокСрезПоследних
ГДЕ
СыройПотокСрезПоследних.Отливка = &Отливка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЗаявкиНаГодноеНомерноеЛитье.Отливка,
ВЫБОР
КОГДА ЗаявкиНаГодноеНомерноеЛитье.Выброс = ИСТИНА
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Выброс,
ЗаявкиНаГодное.Контролер,
ЗаявкиНаГодное.Исполнитель,
ЗаявкиНаГодное.Инспектор,
ЗаявкиНаГодноеНомерноеЛитье.НомерОтливки,
ЗаявкиНаГодное.ПроизводственныйМастер,
ЗаявкиНаГодноеНомерноеЛитье.СправочникВыброс,
ВЫБОР
КОГДА СыройПотокСрезПоследних.Регистратор.Бригада = 26
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Бригада26,
ВЫБОР
КОГДА СыройПотокСрезПоследних.Регистратор.Бригада = 27
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Бригада27,
ВЫБОР
КОГДА СыройПотокСрезПоследних.Регистратор.Бригада = 28
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Бригада28,
ВЫБОР
КОГДА СыройПотокСрезПоследних.Регистратор.Бригада = 36
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Бригада36,
0 КАК ПроцентБригада26,
0 КАК ПроцентБригада27,
0 КАК ПроцентБригада28,
0 КАК ПроцентБригада36,
0 КАК Принято,
СыройПотокСрезПоследних.Годная
ИЗ
РегистрСведений.ЗаявкиНаГодное КАК ЗаявкиНаГодное
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗаявкиНаГодноеНомерноеЛитье КАК ЗаявкиНаГодноеНомерноеЛитье
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СыройПоток.СрезПоследних(, ) КАК СыройПотокСрезПоследних
ПО ЗаявкиНаГодноеНомерноеЛитье.Отливка = СыройПотокСрезПоследних.Отливка
И ЗаявкиНаГодноеНомерноеЛитье.НомерОтливки = СыройПотокСрезПоследних.НомерОтливки
И ЗаявкиНаГодноеНомерноеЛитье.Год = СыройПотокСрезПоследних.Год
ПО ЗаявкиНаГодное.Регистратор = ЗаявкиНаГодноеНомерноеЛитье.Регистратор
И ЗаявкиНаГодное.НомерЗаявки = ЗаявкиНаГодноеНомерноеЛитье.НомерЗаявки
И ЗаявкиНаГодное.Отливка = ЗаявкиНаГодноеНомерноеЛитье.Отливка,
ПоследнийСырой КАК ПоследнийСырой
ГДЕ
ЗаявкиНаГодноеНомерноеЛитье.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И ЗаявкиНаГодноеНомерноеЛитье.Порез = ЛОЖЬ
И СыройПотокСрезПоследних.Регистратор В (ПоследнийСырой.Регистратор)


И есть вот такой отчёт, в котором всё работает но без получения бригады. То есть мне нужно добавить "СыройПоток", а там может быть несколько записей для одного Номера из ЗаявкиНаГодное.

ВЫБРАТЬ
ЗаявкиНаГодноеНомерноеЛитье.Отливка,
ВЫБОР
КОГДА ЗаявкиНаГодноеНомерноеЛитье.Выброс = ИСТИНА
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Выброс,
ЗаявкиНаГодное.Контролер,
ЗаявкиНаГодное.Исполнитель,
ЗаявкиНаГодное.Инспектор,
ЗаявкиНаГодноеНомерноеЛитье.НомерОтливки,
ЗаявкиНаГодное.ПроизводственныйМастер,
ЗаявкиНаГодноеНомерноеЛитье.СправочникВыброс
ИЗ
РегистрСведений.ЗаявкиНаГодное КАК ЗаявкиНаГодное
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗаявкиНаГодноеНомерноеЛитье КАК ЗаявкиНаГодноеНомерноеЛитье
ПО ЗаявкиНаГодное.Регистратор = ЗаявкиНаГодноеНомерноеЛитье.Регистратор
И ЗаявкиНаГодное.НомерЗаявки = ЗаявкиНаГодноеНомерноеЛитье.НомерЗаявки
И ЗаявкиНаГодное.Отливка = ЗаявкиНаГодноеНомерноеЛитье.Отливка
ГДЕ
ЗаявкиНаГодноеНомерноеЛитье.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И ЗаявкиНаГодноеНомерноеЛитье.Порез = ЛОЖЬ

Sinsinmin

Разобрался) затупил

Теги:

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

Рейтинг@Mail.ru

Поиск