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

Как добавить первое и последнее значение из таблицы отчета в шапку?

Автор Yury_B, 18 мая 2023, 15:55

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

Kvark5d

Yury_B, Судя по запросу Вы все поля с документа зачем то пишите в регистр накопления. Пробег, заправки, расход топлива, стоимость топлива... и даже комментарий. Проще отчеты по документам строить, чем такую махину разводить.

Yury_B

Kvark5d, я самоучка, многих вещей пока не понимаю, если работает - хорошо, не работает - стараюсь понять, если не понимаю тогда обращаюсь на форум. Объясните, пожалуйста, почему не должно быть тип строка из-за возможного несоответствия длины символов?

Kvark5d

Yury_B, хотя бы потому, что из за этого в запросе приходится делать лишние соединения. Да и строки имеют способность быть одинаковыми. например ФИО работников, наименования контрагентов и т.д. и т.п. И тогда запрос удвоит (утроит ...) данные.

Yury_B

Kvark5d, Уже как сделал, так сделал. Все же как выбрать необходимое значение на начальную, конечную дату или в моем случае надо все переделывать?

Kvark5d

В целом, конечно же надо переделывать.
по конкретному вопросу:
1. все что сейчас получается в запросе запихнуть во временную таблицу, например ИсходныеДанные
(перед ИЗ добавить строчку Поместить ИсходныеДанные)
2. для каждого авто найти крайние даты поместить во временную таблицу.
;
Выбрать
ИсходныеДанные.Автомобиль,
Минимум(ИсходныеДанные.Период) КАК Начало,
Максимум(ИсходныеДанные.ДатаВозвращения) КАК Конец
Поместить КрайниеДаты
ИЗ ИсходныеДанные КАК ИсходныеДанные
СГРУППИРОВАТЬ ПО
ИсходныеДанные.Автомобиль


3. в первой таблице добавить нужные данные, типа:
;
Выбрать
ИсходныеДанные.ГосНомер КАК ГосНомер,
   ИсходныеДанные.Контрагент КАК Контрагент,
    ИсходныеДанные.НомерПутевого КАК НомерПутевого,
    ИсходныеДанные.Водитель КАК Водитель,
    ИсходныеДанные.Маршрут КАК Маршрут,
    ИсходныеДанные.Автомобиль КАК Автомобиль,
    ......
ИсходныеДанные.ДатаВозвращения,
Выбор
Когда  ИсходныеДанные.Период = КрайниеДаты.Начало
Тогда  ИсходныеДанные.ТопливоПриВыезде
Иначе 0
Конец Как ОстатокНаНачалоПериода
Выбор
Когда  ИсходныеДанные.ДатаВозвращения = КрайниеДаты.Конец
Тогда  ИсходныеДанные.ОстатокТопливаНаКонец
Иначе 0
Конец Как ОстатокНаКонецПериода

ИЗ ИсходныеДанные КАК ИсходныеДанные
ЛЕВОЕ СОЕДИНЕНИЕ КрайниеДаты КАК КрайниеДаты
ПО ИсходныеДанные.Автомобиль = КрайниеДаты.Автомобиль


Теги:

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

Рейтинг@Mail.ru

Поиск