Количество копий

отредактировано 20:32 Раздел: FastReport 4.0
Возможно, и если да то как, чтобы количество копий выводимой записи бралось из етой же записи.
Ето нужно при печатании, например, ценников для определенного количества одного товара, количество которого указано в той же записи которая и выводится в отчете.

Комментарии

  • gpigpi
    отредактировано 20:32
  • отредактировано 20:32
    gpi написал: »
    Спасибо. Статья, на которую вы указали, очень интересная и полезная, но в моем случае я не могу делать какие либо изменения в БД.
    Сейчас я делаю запрос, пользователь делает изменения и поправки, указывает нужное количество копий некоторых из товаров и посылает ето все на печать. Я, просматриваю запрос, копирую запись столко раз сколько указано в копий в поле "количество" и только тогда етот датасет привязываю к отчету. Но етот путь мне кажется каким то перегруженым :) . Неужели нет чего то по изяшней.
  • gpigpi
    отредактировано 20:32
    Вот, ещё есть вариант, но он не подходит для печати ценников в несколько столбцов
    написал:
    Добавьте в отчёт бэнд DetailData. Установите DetailData.RowCount=1 (Это обязательно!)
    В событии MasterData1OnBeforePrint устанавливайте
    DetailData.RowCount:=<MasterDataDataSet."Quantity">
    На бэнде DetailData расположите мемо с полями из датасета, привязанного к MasterData.
    Высоту MasterData установите равной 0: MasterData.Height=0
  • отредактировано 20:32
    gpi написал: »
    Вот, ещё есть вариант, но он не подходит для печати ценников в несколько столбцов
    Очень привлекательный вариант, обязательно возьму на заметку.
    Но вот проблема со столбцами, как правильно было сказано, делает етот вариант только частичным решением етой проблемы.
    Буду искать и другие варианты. Может повезет :)
  • LutecijLutecij СПб
    отредактировано 20:32
    XoPa написал: »
    Но вот проблема со столбцами, как правильно было сказано, делает етот вариант только частичным решением етой проблемы.

    А что мешае установить параметры
    DetailData1.Column:=[количество желаемых столбцов], а DetailData1.ColumnWidth и ColumnGap подогнать под размер страницы?
    В этом случае мемо выведется столько раз сколько стоит RowCount и уложится при этом в нужное количество столбцов.
  • отредактировано 20:32
    Lutecij написал: »
    А что мешае установить параметры
    DetailData1.Column:=[количество желаемых столбцов], а DetailData1.ColumnWidth и ColumnGap подогнать под размер страницы?
    В этом случае мемо выведется столько раз сколько стоит RowCount и уложится при этом в нужное количество столбцов.
    Прикинул на быстую руку - вроде нормално.
    Буду тестировать. Если тест на клиенте пройдет - напишу о результатах (в течении 2-3 недель).

    Aдна башка хaрaшо, а туива хуча - ваше прaсвитление синивы какоета :) :) :)
  • отредактировано March 2009
    XoPa написал: »
    Сейчас я делаю запрос, пользователь делает изменения и поправки, указывает нужное количество копий некоторых из товаров и посылает ето все на печать. Я, просматриваю запрос, копирую запись столко раз сколько указано в копий в поле "количество" и только тогда этот датасет привязываю к отчету. Но этот путь мне кажется каким то перегруженым :) . Неужели нет чего-то поизяшней.
    Я обычно делаю примерно также - строю запрос, в котором данные повторяются требуемое количество раз, конечно, продумав сортировку.
    Запрос получается немного сложнее, но его работу всегда можно проверить, просто выполнив в каком-нибудь средстве выполнения запросов, пригодном для Вашей БД.
    Считаю это нормальным методом.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.