Текущее время: Вс, июл 20 2025, 22:57

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 26 2005, 17:37 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, мар 11 2005, 10:54
Сообщения: 315
Откуда: Москов
RoadRunner написал:
Есть вопрос по пользовательским инклюдам, к-рыми изобилует программа HRULTAB0.
Ситуация. В одном из инклюдов написал свой код. При активировании на вопрос о создании группы ф-ций ответил отрицательно. При отладке кода обнаружил, что интерпретатор проходит мимо строки с инклюдом. Бряки в инклюде тоже не устанавливаются.
Вопрос. Не является ли отсутствие соотв. группы ф-ций причиной такого странного поведения системы? Если да, то риторический вопрос: зачем делать инклюд на Z, если все равно надо создавать "стандартную" группу ф-ций с ключом модификации объекта?
Программу надо сгенерировать. Тогда начнут подхватываться ZX-инклуды. Активации не достаточно. Аля Compile и Build от Borland. :)
Если это не поможет, тогда я пас :)

_________________
САП маст дай...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 26 2005, 17:55 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Спасибо, помогло. Правда, я подозреваю, что проблема была не в том, о чем я спрашивал, потому что при переактивации главной проги выяснилась синтаксическая ошибка в моем инклюде. Вот он и игнорировался... Хотя необходимость перегенерирования все равно остается.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 26 2005, 18:01 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, мар 11 2005, 10:54
Сообщения: 315
Откуда: Москов
RoadRunner написал:
Спасибо, помогло. Правда, я подозреваю, что проблема была не в том, о чем я спрашивал, потому что при переактивации главной проги выяснилась синтаксическая ошибка в моем инклюде. Вот он и игнорировался... Хотя необходимость перегенерирования все равно остается.
Попроавлю:
Игнорировался потому что требовалась генерация. Без генерации работает старый код инклуда.
Нажал генерацию - стал компилироваться твой код.
Поверь, если бы даже не было ошибки в инклуде, без генерации он бы не подцепился.
Сам нарывался, знаю.

_________________
САП маст дай...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 26 2005, 19:16 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Эт я понял! Я ж написал, что необходимость перегенерации остается! А вообще, спасибо за ответ!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, дек 27 2005, 13:29 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
aman написал(а):
MAN-LIN = '---'.
^^^^^^^ вот эти "три_минуса_подряд" в формулярах табеля означают конец текущей страницы
...
PS
P_COUNTL - количество строк, которые возможно разместить на одной странице, прописывается в формуляре

P_HEADER - количество уже размещённых строк на текущей странице.

Разве конец страницы не задается командой
.ADDPAGE[LIN](---) ? А где в формуляре задается P_COUNTL? И еще... чтобы со следующей страницы печатать не всю шапку целиком, а только поля 1, 2, 3 и т.д., чего надо делать? Попутно спрошу: где прочитать описание команд для этих формуляров? С такими формулярами работаю только 2-й день, извините за вопросы...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, дек 28 2005, 14:06 
Начинающий
Начинающий

Зарегистрирован:
Вс, мар 20 2005, 19:35
Сообщения: 14
RoadRunner написал:
Разве конец страницы не задается командой
.ADDPAGE[LIN](---) ? А где в формуляре задается P_COUNTL? И еще... чтобы со следующей страницы печатать не всю шапку целиком, а только поля 1, 2, 3 и т.д., чего надо делать? Попутно спрошу: где прочитать описание команд для этих формуляров? С такими формулярами работаю только 2-й день, извините за вопросы...


Да, задается именно так, но на формуляре. А в формуляр данные попадают из внутренних табличек,в данном случае из MAN, т.е. ты программно должен указать где у тебя разрыв страницы. И логика .ADDPAGE[LIN](---) такова - если в текущей строке таблицы MAN стоят символы "---" - генерируем символ конца страницы(гдето выше в формуляре стоит команда LOOP MAN, запускающая цикл по строчкам таблички).

Ответ на второй вопрос - в самом начале формуляра определяется значение попадающее в эту переменную, 3я или 4я строка.

Ответ на 3й вопрос - это делается простым редактированием формуляра. ТОчно сейчас несмогу написать, т.к. система не под рукой, но если очень надо - посмотрю как я у себя сделал, там дел на 5 минут. Если посмотришь - в формуляре нарисована два раза шапка, вот первый раз(вроде) - то что на первой странице будет, второй - для второй и следующих.

А описание команд для формуляров.... я бы тоже хотел почитать ) те, которые в табеле - я методом научного тыка определял их действие, ну и названия этих команд само за себя говорит.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 09 2006, 20:51 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
aman написал(а):
Ответ на второй вопрос - в самом начале формуляра определяется значение попадающее в эту переменную, 3я или 4я строка.
У нас используется форма YTA2 - в ней нет вообще этого указателя числа строк. Пробовал использовать YTCB - "многотабельную" версию формуляра. Почему-то некорректно отрабатывают (или не отрабатывают?) мои расширения в зед-инклюдах. Подробно не смотрел - это надо ковырять в отладчике, может, позже посмотрю.
aman написал(а):
Ответ на 3й вопрос - это делается простым редактированием формуляра. ТОчно сейчас несмогу написать, т.к. система не под рукой, но если очень надо - посмотрю как я у себя сделал, там дел на 5 минут. Если посмотришь - в формуляре нарисована два раза шапка, вот первый раз(вроде) - то что на первой странице будет, второй - для второй и следующих.
Посмотри, пожалуйста - я повозился (к сожалению, недолго - пару часов), и не смог сделать ничего путевого. По аналогии с "многотабельным" YTCB у меня возникла та же проблема - во 2-м табельном печатается в 2 раза больше строк, чем положено. Тоже не смотрел, как это происходит. Кроме того, попытка повторить YTCB не удалась - у меня по-прежнему печатается вся шапка для каждого табельного, хотя .LOOP[MAN] я перенес ниже нее... :(
aman написал(а):
А описание команд для формуляров.... я бы тоже хотел почитать ) те, которые в табеле - я методом научного тыка определял их действие, ну и названия этих команд само за себя говорит.
Их описание и синтаксический разбор находятся в инклюде PUTCRRU0. Остальное - классика жанра: отладчик + время...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 09 2006, 20:54 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Да, кстати, в этом формуляре YTA2 шапка прописана всего один раз - ведь автором планировался табельный на лист, причем, без команды .HEADER (да и работа самой команды пока остается загадкой).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 13 2006, 20:30 
Начинающий
Начинающий

Зарегистрирован:
Вс, мар 20 2005, 19:35
Сообщения: 14
вот схема моего формуляра (в фигурных скобках я обозначаю места, которые не важны, там текст или псевдографика):

._Унифицированная форма № Т-13 {skip}
.COUNTL[51]
.HEADER[37]

{большая шапка, которая выводится ТОЛЬКО на первом листе}

.LOOP[MAN]
.EQ[LIN](---) */ проверка на конец страницы; строка ниже этой ыводится только в конце страницы; как раз то, про что я писал выше (три минуса); если нужно выводить несколько строк в конце страницы - для каждой задаем такую проверку
{строка для подписей}
.EQ[LIN](---)
{строка для подписей}
.ADDPAGE[LIN](---) */ выводим псевдо-символ конца страницы, !!!обязателен для разбивки на страницы при выводе на печать!!!! (обращаем внимание на наши три-минуса :) )
.EQ[LIN](---) */ а это уже пошла урезаная шапка, т.к. выше мы вывели символ конца страницы - шапка у нас будет на следующей странице.
{1я строка шапки}
.EQ[LIN](---)
{2я строка шапки}
.EQ[LIN](---)
{3я строка шапки}
.LOOP[WAS]
.NE[FXT](X)
{выводим значенияя из WAS}
.ENDLOOP
.LOOP[DAS]
.NE[SXT](X)
{выводим значенияя из DAS}
.ENDLOOP
.ENDLOOP
{здесь футер для последней страницы, например подписи. }


Логика работы следующая:
вывод производится на экран из формуляра, сверху вниз, строчка за строчкой (естественно команды не выводятся).
с помошью командной пары .LOOP[имя_таблицы] .ENDLOOP задаем повторение вывода строк, заключенных между этими командами; цикл крутится по всем строчкам в таблице.
Если инфа по табельному номеру должна попасть на следующую страницу(об этом символизируют три минуса в таблице MAN по текущему табельному номеру) - выводим футер для страницы, символ конца страницы, и шапку.

Выводим информацию из табличеек WAS и DAS.


Все.
Довольно просто.

P.S.
.COUNTL[51]
.HEADER[37]
этими строками я задаю 51 строку на лист, 37 для шапки (на первой странице, титульный лист)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, янв 15 2006, 16:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Спасибо за ответ и за объяснение логики - примерно так я и предполагал. Более того, один из формуляров, к-рый я рассматривал, - YTCB - расчитан на "многотабельный" вывод, и там сделано подобным образом. Но возникла проблема: после исправления табеля на вариант, предложенный тобой, данные исчезли... Не можешь, случайно, сказать, куда они делись? Если, конечно, вы сталкивались с такой ситуацией...
Еще одна проблема: шапок печатается 2: та, к-рая должна быть на 1-й странице, и та, к-рая должна быть на всех остальных. Причем, в z-include, к-рый стоит перед append man, у меня есть проверка поля man-lin на значение "---", но я в нее не попадаю...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, янв 15 2006, 19:57 
Начинающий
Начинающий

Зарегистрирован:
Вс, мар 20 2005, 19:35
Сообщения: 14
RoadRunner написал:
Но возникла проблема: после исправления табеля на вариант, предложенный тобой, данные исчезли... Не можешь, случайно, сказать, куда они делись? Если, конечно, вы сталкивались с такой ситуацией...


а в формуляре ты прописал вывод полей?

RoadRunner написал:
Еще одна проблема: шапок печатается 2: та, к-рая должна быть на 1-й странице, и та, к-рая должна быть на всех остальных. Причем, в z-include, к-рый стоит перед append man, у меня есть проверка поля man-lin на значение "---", но я в нее не попадаю...


1я шапка точно прописана ДО первого LOOP?
а вот насчет инклюда не понятно - возможно ты его не активировал/сгенерировал....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, янв 15 2006, 20:34 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
В формуляре я поля вообще не трогал - они как были в стандарте, так и остались. Если вернуть модификации (связанные лишь с шапкой, а не с данными) на место, то все появляется.

Шапку ТОЧНО прописал до первого лупа.

По поводу инклюда я неточно выразился. В конструкции
Code:
if man-lin eq '---'.
  clear man-lin.
endif.

я не попадал в этот самый clear. Хотя по бряку на ифе я останавливался.
Не возражаешь, если в личку тебе вышлю свой формуляр, чтобы ты проверил, чего я не так сделал? Потому как я не понимаю, что с ним происходит...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 16 2006, 16:30 
Начинающий
Начинающий

Зарегистрирован:
Вс, мар 20 2005, 19:35
Сообщения: 14
RoadRunner написал:
По поводу инклюда я неточно выразился. В конструкции
Code:
if man-lin eq '---'.
  clear man-lin.
endif.

я не попадал в этот самый clear. Хотя по бряку на ифе я останавливался....

А для чего тебе обнулять man-lin? если ты его обнуляешь - получается, что у тебя все табельные номера на одном листе. или это и есть твоя цель?

RoadRunner написал:
Не возражаешь, если в личку тебе вышлю свой формуляр, чтобы ты проверил, чего я не так сделал? Потому как я не понимаю, что с ним происходит...


Без проблем, кидай 8)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, окт 02 2006, 14:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
aman написал(а):
P.S.
.COUNTL[51]
.HEADER[37]
этими строками я задаю 51 строку на лист, 37 для шапки (на первой странице, титульный лист)


Вот ту мне непонятно абсолютно.
логика моего формуляра:
.COUNTL[60]
.HEADER[30]
{Шапочка}
loop MAN
newpage.
{шапочка 2}
&nbsp loop WAS
&nbsp endloop.
&nbsp loop DAS.
&nbsp endloop.
endloop.

В общем печатается 1-я страница. на ней шапка и количество табельных номеров выводимых, соответсвует значению указанному в поле .COUNTL[60] - здесь их будет 6.
Потом генериться новая страаница. На ней печатается шапочка 2. И под ней теже 6 табельных. Вопрос в том, как мне сделать чтобы выводилось 8 табельных на 2-й странице? Если я меняю .COUNTL[] то выводится столько табельных на каждой!!! странице, сколько тут указано строк. Как сделать это количество разным на первой и последующих страницах? Спасибо за ответ заранее.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 07 2006, 19:06 
Начинающий
Начинающий

Зарегистрирован:
Вс, мар 20 2005, 19:35
Сообщения: 14
Preatos написал:
Если я меняю .COUNTL[] то выводится столько табельных на каждой!!! странице, сколько тут указано строк. Как сделать это количество разным на первой и последующих страницах? Спасибо за ответ заранее.


COUNTL - он определяет количество строк для всех страниц.
Предлагаю вам такой вариант - в модуле расширения смотреть номер страницы, и подставлять признак конца страницы в зависимости от количества уже напечатаных табельных номеров (игнорируя значение прописаное в COUNTL).

Только зачем задавать такие жесткие ограничения на количество людей на страницу? Вы же не можете гарантировать что на страницу поместится ровно 8 людей. Возможна ситуация, что что будет 4 символьных кода + куча видов оплат, в итоге один человек на пол страницы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB