Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Помогите с запросом          
kosalex Подменю пользователя
сообщение 08.10.14, 8:51
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 805
Спасибо сказали: 14 раз
Рейтинг: 0

Добрый день! Есть два регистра сведений весовая1 и весовая2.

Период - Секунда
НомерВагона - Измерение,
Брутто - Ресурс

Нужно построить отчет и показать там время Перевесок и тарировок вагонов.

Колонки отчета:

НомерВагона|ДатаПрибытия|Перевеска1(Период)|УстановкаПоВыгрузку|......|Перевеска2(Период)|.....|Тарировка1(Период)|......|Тарировка2(Период)|...

Как понять из какой таблицы весовая1 или весовая2 брать "период"? Т.е. время когда произошла перевеска1,перевеска2,тарировка1,тарировка2?

Имею вот что: тыц
ВЫБРАТЬ
    ПростойВагона.НомерВагона,
    ПростойВагона.ПрибытияВагона,
    ПростойВагона.УстановкаПодВыгрузку,
    ПростойВагона.ОкончаниеВыгрузки,
    ПростойВагона.ПрибытиеДокументовПослеДекларирования,
    ПростойВагона.ПрибытиеИнструкцийВОтправкуПОРПВ,
    ПростойВагона.УстановкаПодПогрузку,
    ПростойВагона.ОкончаниеПогрузки,
    ПростойВагона.ПрибытиеДокументовПослеТаможирования,
    ПростойВагона.ВозвратПВстКраматорск,
    ПростойВагона.Ответственный
ПОМЕСТИТЬ ВТ_РСПростой
ИЗ
    РегистрСведений.ПростойВагона КАК ПростойВагона
ГДЕ
    ПростойВагона.Период >= &ДатаНачала
    И ПростойВагона.Период <= &ДатаОкончания
    И ПростойВагона.НомерВагона = &НомерВагона
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_РСПростой.НомерВагона,
    ВТ_РСПростой.ПрибытияВагона КАК ПрибытиеВагона,
    ПериодыПеревески.Перевеска1,
    РАЗНОСТЬДАТ(ВТ_РСПростой.ПрибытияВагона, ВТ_РСПростой.УстановкаПодВыгрузку, СЕКУНДА) / 3600 КАК ВремяДоУстановкиПодВыгрузку,
    ВТ_РСПростой.УстановкаПодВыгрузку,
    ВТ_РСПростой.ОкончаниеВыгрузки,
    РАЗНОСТЬДАТ(ВТ_РСПростой.УстановкаПодВыгрузку, ВТ_РСПростой.ОкончаниеВыгрузки, СЕКУНДА) / 3600 КАК ВремяВыгрузки,
    ПериодыТарировки.Тарировка_1,
    ВТ_РСПростой.ПрибытиеДокументовПослеДекларирования КАК ПрибытиеДокументовДекларирования,
    ПериодыТарировки.Тарировка_1 КАК Тарировка_2,
    ВТ_РСПростой.УстановкаПодПогрузку,
    РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеВыгрузки, ВТ_РСПростой.УстановкаПодПогрузку, СЕКУНДА) / 3600 КАК ВремяВОжиданииПогрузки,
    ВТ_РСПростой.ОкончаниеПогрузки,
    РАЗНОСТЬДАТ(ВТ_РСПростой.УстановкаПодПогрузку, ВТ_РСПростой.ОкончаниеПогрузки, СЕКУНДА) / 3600 КАК ВремяПогрузки,
    ПериодыПеревески.Перевеска2,
    ВТ_РСПростой.ПрибытиеДокументовПослеТаможирования КАК ВремяПрибытияДокументовТаможирования,
    ВТ_РСПростой.ПрибытиеИнструкцийВОтправкуПОРПВ КАК ПрибытиеИнструкции,
    ВТ_РСПростой.ВозвратПВстКраматорск КАК СдачаНаСтКраматорск,
    РАЗНОСТЬДАТ(ВТ_РСПростой.ПрибытияВагона, ВТ_РСПростой.УстановкаПодВыгрузку, СЕКУНДА) / 3600 + РАЗНОСТЬДАТ(ВТ_РСПростой.УстановкаПодВыгрузку, ВТ_РСПростой.ОкончаниеВыгрузки, СЕКУНДА) / 3600 + РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеВыгрузки, ВТ_РСПростой.УстановкаПодПогрузку, СЕКУНДА) / 3600 + РАЗНОСТЬДАТ(ВТ_РСПростой.УстановкаПодПогрузку, ВТ_РСПростой.ОкончаниеПогрузки, СЕКУНДА) / 3600 + РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеПогрузки, ВТ_РСПростой.ВозвратПВстКраматорск, СЕКУНДА) / 3600 КАК ВсегоЧасовПростоя
ИЗ
    ВТ_РСПростой КАК ВТ_РСПростой
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ВЫБОР
                КОГДА ВесоваяСевернаяСрезПоследних.Период > ЮжнаяЖДВесоваяСрезПоследних.Период
                    ТОГДА ВесоваяСевернаяСрезПоследних.Период
                ИНАЧЕ ЮжнаяЖДВесоваяСрезПоследних.Период
            КОНЕЦ КАК Тарировка_1,
            ЮжнаяЖДВесоваяСрезПоследних.НомерВагона КАК НомерВагона
        ИЗ
            РегистрСведений.ВесоваяСеверная.СрезПоследних КАК ВесоваяСевернаяСрезПоследних
                ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЮжнаяЖДВесовая.СрезПоследних КАК ЮжнаяЖДВесоваяСрезПоследних
                ПО ВесоваяСевернаяСрезПоследних.НомерВагона = ЮжнаяЖДВесоваяСрезПоследних.НомерВагона
        ГДЕ
            (ВесоваяСевернаяСрезПоследних.Брутто = 0
            И ВесоваяСевернаяСрезПоследних.Нетто = 0
            И ВесоваяСевернаяСрезПоследних.Тара > 0
                        И ВесоваяСевернаяСрезПоследних.НомерВагона = &НомерВагона)
            ИЛИ (ЮжнаяЖДВесоваяСрезПоследних.Брутто = 0
            И ЮжнаяЖДВесоваяСрезПоследних.Тара > 0
            И ЮжнаяЖДВесоваяСрезПоследних.Нетто = 0
            И ЮжнаяЖДВесоваяСрезПоследних.НомерВагона = &НомерВагона) КАК ПериодыТарировки

        ПО ВТ_РСПростой.НомерВагона = ПериодыТарировки.НомерВагона
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ВЫБОР
                КОГДА ВесоваяСевернаяСрезПоследних.Период > ЮжнаяЖДВесоваяСрезПоследних.Период
                    ТОГДА ВесоваяСевернаяСрезПоследних.Период
                ИНАЧЕ ЮжнаяЖДВесоваяСрезПоследних.Период
            КОНЕЦ КАК Перевеска1,
            ВЫБОР
                КОГДА ВесоваяСевернаяСрезПоследних.Период < ЮжнаяЖДВесоваяСрезПоследних.Период
                    ТОГДА ЮжнаяЖДВесоваяСрезПоследних.Период
            КОНЕЦ КАК Перевеска2,
            ВесоваяСевернаяСрезПоследних.НомерВагона КАК НомерВагона
        ИЗ
            РегистрСведений.ВесоваяСеверная.СрезПоследних(&Период, НомерВагона = &НомерВагона) КАК ВесоваяСевернаяСрезПоследних
                ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЮжнаяЖДВесовая.СрезПоследних(&Период, НомерВагона = &НомерВагона) КАК ЮжнаяЖДВесоваяСрезПоследних
                ПО ВесоваяСевернаяСрезПоследних.НомерВагона = ЮжнаяЖДВесоваяСрезПоследних.НомерВагона
        ГДЕ
            ЮжнаяЖДВесоваяСрезПоследних.Брутто > 0
            И ЮжнаяЖДВесоваяСрезПоследних.Тара > 0) КАК ПериодыПеревески
        ПО ВТ_РСПростой.НомерВагона = ПериодыПеревески.НомерВагона


Сообщение отредактировал Vofka - 08.10.14, 19:00

Savcenko_Anton Подменю пользователя
сообщение 31.10.14, 10:24
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 18
Спасибо сказали: 2 раз
Рейтинг: 0

Так по условию
ВЫБОР
                КОГДА ВесоваяСевернаяСрезПоследних.Период > ЮжнаяЖДВесоваяСрезПоследних.Период
                    ТОГДА ВесоваяСевернаяСрезПоследних.Период
                ИНАЧЕ ЮжнаяЖДВесоваяСрезПоследних.Период
            КОНЕЦ КАК Тарировка_1

выбирается время тарировки и

ВЫБОР
                КОГДА ВесоваяСевернаяСрезПоследних.Период > ЮжнаяЖДВесоваяСрезПоследних.Период
                    ТОГДА ВесоваяСевернаяСрезПоследних.Период
                ИНАЧЕ ЮжнаяЖДВесоваяСрезПоследних.Период
            КОНЕЦ КАК Перевеска1,
            ВЫБОР
                КОГДА ВесоваяСевернаяСрезПоследних.Период < ЮжнаяЖДВесоваяСрезПоследних.Период
                    ТОГДА ЮжнаяЖДВесоваяСрезПоследних.Период
            КОНЕЦ КАК Перевеска2,

выбирается перевеска 1 и перевеска 2


Signature
Савченко Антон, аналитик компании Абис-Софт

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 23:07
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!