powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Печать разнесенной на разные страницы группы с новой страницы
23 сообщений из 23, страница 1 из 1
Печать разнесенной на разные страницы группы с новой страницы
    #35007735
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем, к примеру, dw с одной группой. Нужно сделать следующее: как только все элементы группы не уменьшаются целиком на странице, печатать эту группу с нового листа. Спасибо
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35009941
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не знает что ли? Если непонятно объяснил, что мне надо, могу по новой.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35010017
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New Page on Group Break - не то?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35010074
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000New Page on Group Break - не то?
Не то, т.к. если на одну страницу можно уместить 3 группы, то они должны печататься на одной странице, как я понимаю, а не на 3-х. Но при помощи фиктивной группы с new page on group break и немного PowerScript кода этого можно достичь.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35010301
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк Dim2000New Page on Group Break - не то?
Не то, т.к. если на одну страницу можно уместить 3 группы, то они должны печататься на одной странице, как я понимаю, а не на 3-х. Но при помощи фиктивной группы с new page on group break и немного PowerScript кода этого можно достичь.

Да, Вы совершенно верно поняли. Рецепт не подскажете?
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35010467
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_Рецепт не подскажете?
Добавляете по одной строчке - смотрите, как только после добавления был переход на другую страницу и это не первая строка в группе, то для всей группы значение фиктивного поля группировки увеличиваете на 1.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35015581
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк _Serj_Рецепт не подскажете?
Добавляете по одной строчке - смотрите, как только после добавления был переход на другую страницу и это не первая строка в группе, то для всей группы значение фиктивного поля группировки увеличиваете на 1.
Спасибо за идею, понятно. С реализацией - не очень.
Во-первых, непонятно каким образом для внесенной строки взять номер страницы печати, потому что не знаю синтаксиса, как взять данные для вычисляемого поля в определенной строке, которое указывает на текущую страницу.
Во-вторых есть группы, которые вообще не умещаются на листе целиком и для них надо вводить еще какое-то условие... Но "во-вторых" уже не так важно :)
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017160
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_Во-первых, непонятно каким образом для внесенной строки взять номер страницы печати, потому что не знаю синтаксиса, как взять данные для вычисляемого поля в определенной строке, которое указывает на текущую страницу
Например разместить в detail части отчета computed field с visible= 0 и выражением page().
Или вот так
Код: plaintext
dw_1.Describe("evaluate('page()',3)")
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017538
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
string ls_modstring

ls_modstring = "Evaluate('Page()'," + "100" +")"
st_1.text=dw_1.Describe(ls_modstring)

Сотая строка у меня на третьей странице, однако же в st_1.text я получаю "1" ...
РВ 10.2.1 билд 9914
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017560
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_Сотая строка у меня на третьей странице, однако же в st_1.text я получаю "1" ...
Ну значит используйте первый способ.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017687
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк _Serj_Сотая строка у меня на третьей странице, однако же в st_1.text я получаю "1" ...
Ну значит используйте первый способ.
первый я использовал изначально, но не могу в скрипте получить значение этого самого вычисляемого поля :(
Как раз для таких вещей, как я знаю, evaluate и используется.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017703
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
самое странное, что вот это я нашел в Хелпе:

This example displays in the title of the DataWindow control the current page for the current row in the DataWindow:

string ls_modstring, ls_rownum
ls_rownum = String(dw_1.GetRow())



ls_modstring = "Evaluate('Page()'," + ls_rownum +")"
// The resulting string, for row 99, would be:
// Evaluate('Page()', 99)

Parent.Title = &

"Current page: "+ dw_1.Describe(ls_modstring)
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017774
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_ первый я использовал изначально, но не могу в скрипте получить значение этого самого вычисляемого поля :(
Как раз для таких вещей, как я знаю, evaluate и используется.
Если назвать computed field с page() как cf_page, то вот так:
Код: plaintext
MessageBox("",dw_1.GetItemNumber( 100 ,"cf_page"))
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017803
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так не выйдет, попробуйте.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017812
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_так не выйдет, попробуйте.
Выйдет, я уже попробовал до того как написать.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017830
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Description
Gets numeric data from the specified buffer of a DataWindow control or DataStore object.

Значения вычисляемых полей не содержатся в буферах.
У меня не работает GetItemNumber
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017864
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_Значения вычисляемых полей не содержатся в буферах.
У меня не работает GetItemNumber
Каким образом не работает? Что пишет?
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35017954
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в обоих случаях возвращает "1"
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35018117
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Serj_в обоих случаях возвращает "1"
Не знаю, что там Вы делаете не так, у меня возвращается для приведенного выше кода 3.
Print.Preview режим включен?
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35018148
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GetItemNumber надо брать из строки к которой относится этот компьют.

Код: plaintext
1.
2.
3.
4.
/*если cf_count находится в хедере то */
GetItemNumber( 1 ,'cf_count')

/*если cf_count находится в футере то*/
GetItemNumber( rowcount() ,'cf_count')

И будте уверенны - GetItemNumber работает.
Еще и раза в 4 быстрее чем dot notation.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35018192
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Марк: включен
2 Дмитрий: cf_count у меня в Detail
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35018201
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dw_1.object.datawindow.print.preview = 'yes'
dw_1.settransobject(sqlca)
dw_1.retrieve()

string ls_modstring

ls_modstring = "Evaluate('Page()'," + string(100) +")"
MessageBox("",dw_1.Describe(ls_modstring))
//MessageBox("",dw_1.GetItemNumber(100,"cf_page"))

вот и весь код... я даже не представляю себе что тут можно сделать неправильно.
...
Рейтинг: 0 / 0
Печать разнесенной на разные страницы группы с новой страницы
    #35020081
_Serj_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выражение evaluate("Page()",n) заработало после scrolltorow(). Причем абсолютно все равно, какое в evaluate стоит значение аргумента, указывающего номер строки...
А как у вас GetItemNumber работает для computedfield - я решительно не понимаю...
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Печать разнесенной на разные страницы группы с новой страницы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]