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

Хранилище

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

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



> Непонятки с запросом          
alex040269 Подменю пользователя
сообщение 04.01.13, 15:32
Сообщение #1

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

есть небольшая процедура
//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |ТекущийДокумент = Документ.ПриходнаяНакладная.ТекущийДокумент;
    |ДокументОснование = Документ.ПриходнаяНакладная.ДокументОснование;
    |ДатаОснование = Документ.ПриходнаяНакладная.ДокументОснование.ДатаДок;
    |Товар = Документ.ПриходнаяНакладная.Товар;
    |Единица = Документ.ПриходнаяНакладная.Единица;
    |Количество = Документ.ПриходнаяНакладная.Количество;
    |КодСармат = Документ.ПриходнаяНакладная.Товар.КодСармат;
    |Группировка ТекущийДокумент;
    |Группировка ДокументОснование;
    |Группировка ДатаОснование;
    |Группировка Товар без групп;
    |Условие(ДокументОснование.ДатаДок >= ВыбНачПериода);
    |Условие(ПустоеЗначение(ДокументОснование)=0);
    |Условие(ПустоеЗначение(КодСармат)=0);
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    // Подготовка к заполнению выходных форм данными запроса
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Пока Запрос.Группировка(1) = 1 Цикл
        // Заполнение полей ТекущийДокумент
        Таб.ВывестиСекцию("ТекущийДокумент");
        Пока Запрос.Группировка(2) = 1 Цикл
            // Заполнение полей ДокументОснование
            Таб.ВывестиСекцию("ДокументОснование");
            Пока Запрос.Группировка(3) = 1 Цикл
                // Заполнение полей ДатаОснование
                Таб.ВывестиСекцию("ДатаОснование");
                Пока Запрос.Группировка(4) = 1 Цикл
                    // Заполнение полей Товар
                    Таб.ВывестиСекцию("Товар");
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    // Вывод заполненной формы
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры


все сделано с помощью констуктора.
На макете увеличена ширина колонок для наглядности и в колонке ТОВАР , секция ДатаОснование добавлено выражение Запрос.ДокументОснование.ДатаДок

результат



и наконец вопрос:

Почему колонка ДатаОснование пустая, а в колонке товар есть дата?
По сути вроде одно и тоже!

Спасибо.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Стрелок Подменю пользователя
сообщение 09.01.13, 9:27
Сообщение #2

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

В запросах 1С 7.7 нельзя получить ни ДатаДок ни НомерДок ни Код сразу увы и ах.... А вот почему дата попадает в колонку "Товар" то это надо смотреть в первую очередь структуру печатной формы а тут её не видно нно мне не нравится вот этот кусок

Пока Запрос.Группировка(3) = 1 Цикл
    // Заполнение полей ДатаОснование
    Таб.ВывестиСекцию("ДатаОснование");
    Пока Запрос.Группировка(4) = 1 Цикл
        // Заполнение полей Товар
        Таб.ВывестиСекцию("Товар");
    КонецЦикла;
КонецЦикла;


скорее всего какая то ошибка в структуре печатной формы.


 i 

Правила: 12, 13
 


Сообщение отредактировал Vofka - 09.01.13, 9:29


Signature
Программист 1С - любимчик бухгалтеров

Cthulhu Подменю пользователя
сообщение 09.01.13, 12:25
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Это "непонятки" НЕ с запросом. Это - "непонятки" с обработкой результата запроса и использованием макетов при формировании печатных форм.
Цитата(alex040269 @ 04.01.13, 15:32) *
На макете увеличена ширина колонок для наглядности и в колонке ТОВАР , секция ДатаОснование добавлено выражение Запрос.ДокументОснование.ДатаДок

... в соответствии с чем и получили в отчете при выводе (горизонтальной)секции "ДатаОснование" в колонке Товар значение Запрос.ДокументОснование.ДатаДок
- т.е. "что просили - то и получили", в связи с чем немного непонятно недоумение.
ЕСЛИ надо выводить дату основания в колонке "ДатаОснование" - то в (горизонтальных)секциях "ДокументОснование", "ДатаОснование" и "Товар" в колонке "ДатаОснование" нужно вбить формулу "Запрос.ДокументОснование.ДатаДок". Причем, в (горизонтальных)секциях "ДатаОснование" и "Товар" можно вбить и формулу "Запрос.ДатаОснование", почему именно - желательно догадаться самостоятельно.

Сообщение отредактировал Cthulhu - 09.01.13, 12:30

alex040269 Подменю пользователя
сообщение 09.01.13, 17:31
Сообщение #4

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Прошу обратить внимание, что ДатаОснование - одна из группировок. После выборки соответствующей группировки - она пустая...


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Cthulhu Подменю пользователя
сообщение 09.01.13, 17:58
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

1) уж и не знаю, что понимается под "соответствующей группировкой", но внутри цикла выборки группировки "ДатаОснования" (включая вложенные циклы - так, на всякий случай) значение Запрос.ДатаОснования определено и непусто (если, конечно, в выбрку не попадают документы-основания с пустой датой - некоторым "умельцам" иногда удается и такие создавать в базе данных).
2) и - вне зависимости от предыдущего пункта - что это самое "обращение внимания" меняет по сути приведеной рекомендацции? Или рекомендация уже опробована - но результаты настолько секретные, что их публикация признана неуместной?

Сообщение отредактировал Cthulhu - 09.01.13, 18:04

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


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

 

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