안녕하세요!!
다름이 아니라 스마트폼으로 테이블안쓰고 템플릿으로만 그려서 완성했는데요
우선 스마트폼안에서 테스트로 출력할때는 좌우측여백이 맞아 정가운데 나오는데요~
왜 실제 프로그램에서 mark찍고 출력버튼눌러서 출력하면 우측으로 붙어서 삐뚤게 나오는지 이해가 안되네요 ㅜㅜ
그리구 mark를 여러개 찍고 출력했을때 여러장을 출력하고싶은데 템플릿에서 는 안되나요 ㅠㅠ
우선적으로 스마트폼으로 인터널테이블 던질때 그러니까 loop 에서 append 시켜주고 clear 시켜버리면
data가 출력이 안되네요 헤더를 남겨놔야 출력이 되네요...
그럼 테이블로 인식을 안한다는건가요... 지금은 한건만 출력해보고있는데,...
조언부탁드려요~!!
행복하세요!!
댓글 5
-
activeman
2008.10.15 17:54
-
CoolGuy
2008.10.15 18:10
activeman님 죄송한데요 조금더 자세히 설명해주시면 안될까요?
출력양식은 시운전표로 이력서같은양식인데 모든값은 인터널테이블에 있어서 mark를 여러개 찍으면 여러장이
출력되게해야하거든요 그런데 1건을 테스트해봤을때 프로그램에서 펑션으로넘겨줄 즉 스마트폼에 exporting 에넘겨줄인터널
테이블에 데이터를 옴기고 헤더를 지우고 스마트폼에서 루프를 생성했는데 혹시 initialization에서 로직을loop을 돌리란 말씀인가요?
제가 템플릿에서 우클릭해서 루프만들어 해봤는데 출력이 안되네요 헤더를 안지우고 넘겨주면
그헤더에있는 한건만은 출력이 되는데요 ㅠㅠ
참 좌우여백은 스마트폼에서 테스트할때랑 실제 출력할때랑 왜틀린건지는 해결이 안될까요 ㅠㅠ
행복한하루되세요~!!
-
mean
2008.10.15 18:13
loop에서 append시키고 clear하면 안된다는건. smartforms용 itab을 하나 선언하셔서 그쪽에 data를 담고 출력하시면 될것같아요.
또한 여러행을 여러장으로 출력하고 싶으실때에도 mark된 데이터들을 smartforms용 itab에 따로 담으셔서 출력하시면 됩니다.
-
만약 매페이지에 smartform에 헤더부분은 같은데 나머지 loop로 돌아가는 item데이터들이 장마다 다르다고 하면,
header itab, item itab 두개 만드셔서 header itab에 한줄 insert하시고, item itab에 item을 모두 담으셔서 loop돌리면서
찍으시면 됩니다.
-
window를 두개 사용하셔서 첫번째 window는 header를 넣으시고
그다음 window는 main window를 사용하시고 main window의 오른쪽마우스 클릭하셔서 loop를 만들고
그안에 item 템플릿을 만듭니다. 스마트폼 loop의 조건에 item itab으로 돌도록 조건 넣으시구요.
이렇게 되면 매장마다 헤더는 동일하게 찍히고, item은 다르게 여러장 출력가능하게 됩니다.
-
mean
2008.10.15 18:14
좌우여백은 스마트폼에서와 프로그램으로 실행시켰을때와 다른 경우가 많더라구요.저도.
그럴때 스마트폼보다 프로그램실행시켰을때의 결과가 중요하기에, 프로그램실행시의 여백으로
smartform여백을 조정했구요. 혹시 모르니까 실행시켜서 출력까지 해보세요.
출력한 후에도 여백이 다르게 나올수 있습니다.
-
CoolGuy
2008.10.15 20:02
감사합니다^^
조언을 귀담아 해결했습니다!!
스마트폼에서 여러건의 데이터를 출력하실려면 자료가 든 인터널테이블을 loop 돌리면서 출력을 하시면 됩니다.
loop at itab.
~ 스마트폼 출력 구문.
endloop.
물론 데이터가 스마트폼한장에 똑같은 형태의 자료가 여러건이면 테이블을 넘겨 줘야 겠지요.
(물론 스마트 폼안에서 loop 를 돌리면서 템플릿에서 자료를 출력 하셔도 됩니다.)
그렇지 않다면 structure형태로 자료를 넘겨 주셔도 됩니다.
방법은 여러가지 입니다.
즐밥하세요.