powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление строк в форме отчета Excel'я для парус 7
14 сообщений из 14, страница 1 из 1
Удаление строк в форме отчета Excel'я для парус 7
    #37159899
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно реализовать такую вещь - если в отчете екселя не заполены данные в таблице (т.е. null), то тогда не печатать эту таблицу и удалять строки с ней.
Таблица простая, данные в одной строке, порядка 5 ячеек.
На sql я бы сделал легко, а вот на FoxPro не знаю как реализовать.. : если переменные для этих 5 ячеек = null, то тогда удалить строки с присвоенным именем X.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37159941
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdtainНужно реализовать такую вещь - если в отчете екселя не заполены данные в таблице (т.е. null), то тогда не печатать эту таблицу и удалять строки с ней.
Таблица простая, данные в одной строке, порядка 5 ячеек.
На sql я бы сделал легко, а вот на FoxPro не знаю как реализовать.. :Прелестно. Код sql в студию. если переменные для этих 5 ячеек = null, то тогда удалить строки с присвоенным именем X.Какие еще переменные для ячеек? О каких ячейках в базах данных идет речь? Что такое присвоенно имя?
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37159964
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov,

Я поэтому и написал что "Парус 7". т.к. там специфично немного. Сам код указывается на одном из листов екселя. И при формировании отчета он выполняется и заполняет остальные листы.

Ячейкам в екселе над имена присваивать, чтоб знать куда заполнять данные. И если, допустим, в этом коде в екселе для части ячеек значение будет null, то нужно удалить строки. А этим строкам присвоенно, к примеру, имя X.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37159969
PP272
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще в курсе, что в Парус 7 отчеты формируются через шаблоны экселя ? И то что ты хочешь сделать, делается либо в коде, убивая записи в курсоре, таблице, массиве.. смотря из чего у тебя идет вывод в шаблон указанный в качестве щаблона для объекта созданного от класса tPrn. Как я понимаю пишешь ты доп. функцию или доп. отчет.
Так вот, нужно сперва сформировать шаблон со страничкой отчета, создав в ней макет и проименовав ячейки, создать лист "Настройка" и прописать там твой вывод, с укаанием в столце E условие при котором строку печать или не печатать. Открой стандартный парсиный шаблон, там все прекрасно видно.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37160011
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю я как там делаются отчеты. Просто надо сделать так:
Если в шаблоне отчета в нарисованной таблице в екселе (а их там много, таблиц) данных нет. Т.е. те 4-5 ячеек в ней, куда должны быть занесены данные, пусты, то удалить нужно всю эту таблицу. И вот как это указать на странице "Настройка" я не знаю.

Что-то типа такого
Код: plaintext
This.Book.DeleteSheets(This.GetSheetNum("Настройка"),  1 )
Но это удаляет лист, а надо строки с присвоенным именем.

Раньше с этим не сталкивался, таблицы так и оставались пустыми и занимали место при распечатке.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37160038
PP272
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, там в листе настройка можно в столбце указать печатать эту строку или нет. Но не помню уже точно в каком.
Убей эти записи в коде. Проще всего.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37160047
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PP272,

Так не пойдет. Это зависит от того, есть ли данные или их нету) Поэтому над через условие делать...
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37160098
PP272
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так точно получится. Под себя переделай.

• в теле главной функции твоего доп. Отчета или функции

Код: plaintext
1.
2.
3.
4.
5.
oPrn = Createobject("TPRNREP")
With oPrn
	.PrintProc = "Твоя процедура"
	.PrintExcel_free(Null,имя твоего шаблона с путем ,"твой курсор/таблица ")
Endwith
Release oPrn

*Твоя процедура печати. Можешь ее поместить там же.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Lparam oRepPrn

Dimension aRepParts[ 1 ]
aRepParts[ 1 ] = "Spec"
oRepPrn.ReportPrepare( @aRepParts )

With oRepPrn
	.PrintRange("Header")
	Select твой курсор/таблица
	Scan
		If  !ISNULL(твой курсор.твое поле)
			PrintReportPart("Spec")
                      endif
	Endscan

	.SetRangeSize(  0 ,  0 )
	.PrintRange("Footer")
	.ReportFinal()
Endwith
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37163048
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PP272,

Спасиб. Понял ваш вариант. Но он наверное не пойдет. Т.к. мне надо удалить в самом шаблоне екселя строки. Там где нарисованная таблица. Заголовок таблицы, заголовки столбцов.

Тогда так вопрос поставлю, как в коде на листе "Настройка", написать так, чтоб были удаленны строки, допустим, с 4 по 9ую. Запускается шаблон отчета, и что находится на с 4ой по 9ую строку, будет удалено. А то что идет с 10ой, переедет на 4ую.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37163365
PP272
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А критерий удаления есть ? Не спонтанно же это делается. Тут с 4 по 9, там с 40 по 46 ну так далее. По каким критериям ?
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37163402
PP272
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТогда так вопрос поставлю, как в коде на листе "Настройка", написать так, чтоб были удаленны строки, допустим, с 4 по 9ую

Можешь сделать в Header без привязки к именованным ячейкам ( в столбе А пусто ) запрос по условиям которые тебя удовлетворют. Но это тот же конь, только в профиль. Сделай все в функции печати и подсунь нужный результат. Если печатаешь из живой таблицы, сделай запрос и не парся и распечататай его, если печатаешь живую таблицу, верти условия на .PrintReportPart("Spec").
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37163455
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PP272,

По присвоенному имени этим нескольким строчкам. И так для каждой таблицы. Если некая переменная, которая должна быть занесена в таблицу, равна null, то удаляется блок строк с этим именем.

Вот так представляю себе:
Код: plaintext
1.
2.
3.
4.
...
            _p_DN2 = Iif((len(alltrim(_p_DOV))> 0 ), 1 , 0 )	                                  Header
Раздел2     _p_DRazdel2 = Iif (_p_DN2 =  0 ,И вот тут, думаю, нужен код для удаления, 0 )     Header
...

Тут "Раздел2" - это имя, которое присвоенно нескольким строчкам.
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37163458
Adtain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PP272авторТогда так вопрос поставлю, как в коде на листе "Настройка", написать так, чтоб были удаленны строки, допустим, с 4 по 9ую

Можешь сделать в Header без привязки к именованным ячейкам ( в столбе А пусто ) запрос по условиям которые тебя удовлетворют. Но это тот же конь, только в профиль. Сделай все в функции печати и подсунь нужный результат. Если печатаешь из живой таблицы, сделай запрос и не парся и распечататай его, если печатаешь живую таблицу, верти условия на .PrintReportPart("Spec").

кажись понял. ща попробую
...
Рейтинг: 0 / 0
Удаление строк в форме отчета Excel'я для парус 7
    #37163587
PP272
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заходи сюда: ICQ 492 43 27 31, народутут на Парус 20000 раз нас...
Только напиши там, что-нибдь приличное при запросе.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Удаление строк в форме отчета Excel'я для парус 7
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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