Текущее время: Ср, июл 23 2025, 15:48

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot], Yandex [Bot]


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

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