JSL : 사용자 입력을위한 플랫폼 대화 상자를 시작한 다음 보고서 수정내 머리를 벽에 대고, 간단한 방법이 있어야하지만 나는 길을 잃었다.
원하는 시나리오는 다음과 같습니다.
1) 스크립트를 실행하면 "배포"플랫폼 시작 대화 상자가 나타나서 사용자가 선택할 수 있습니다
2) 확인을 클릭하면 결과 보고서로 핸들을 되돌려 처리하고 수정할 수 있습니다.
사용자 지정 모달 대화 상자를 만들고 결과를 구문 분석 한 다음 배포 플랫폼에 전달하여 동일한 결과를 힘들게 얻을 수 있습니다. 그러나 내가 원하는 것은 사용자가 정규 배포 시작 대화 상자를 실행할 수 있도록하는 것입니다.
어떤 아이디어?
재 : JSL : 사용자 입력을위한 플랫폼 대화 상자를 시작한 다음 보고서를 수정하십시오.요르단,
여기는 스크립팅의 예 action ()을 사용하여 안내하십시오.
아니면 이건 당신이 원하는 것을하세요 ?
스탠
재 : JSL : 사용자 입력을위한 플랫폼 대화 상자를 시작한 다음 보고서를 수정하십시오.안녕 요르단,
이를 실행하고 보고서 맨 아래로 스크롤하여 원하는 작업을 수행하는지 확인하십시오.
Names Default To Here(1);
dt = astable(J(20,1,Random Uniform()));
grabHandle = expr(
distHandle = current report();
doTheRest
);
dt << distribution(action(grabHandle));
doTheRest = expr(
for(i=1, i<=3, i++, distHandle[outlinebox(1)] << append(textbox("Yay!")))
);
"doTheRest"는 grabHandle에 의해 호출되는 표현식이므로 사용자가 확인 버튼을 누를 때까지 실행되지 않습니다. 그렇지 않으면 3 개의 추가 기능이 즉시 실행됩니다. 분배 보고서가 아직 작성되지 않았으므로 distHandle이 정의되지 않기 때문에 오류가 발생합니다. 따라서 식으로 래핑 된 배포 보고서의 하위 / 하류에 종속되는 것을 원할 것입니다. 식은 Action () 함수의 인수 인 식에서 호출됩니다.
감사 stan Action () 함수를 언급하는 경우 나는 그것의 존재를 몰랐다.
건배,
브래디
재 : JSL : 사용자 입력을위한 플랫폼 대화 상자를 시작한 다음 보고서를 수정하십시오.감사 @ 이것이 바로 내가 필요한 것입니다. Action ()을 제대로 실행하지 못하면 중첩 표현식이 트릭을 수행합니다. 단!
이 글을 읽는 개발자라면 좀 더 쉬워서는 안될까요? 이것을 코딩하는 더 깨끗한 방법을 갖는 것이 좋을 것입니다.
요르단
재 : JSL : 사용자 입력을위한 플랫폼 대화 상자를 시작한 다음 보고서를 수정하십시오.이것을 좀 더 사용하면 중첩식이 필요하지 않은 것처럼 보입니다. 이것도 작동합니다.
Names Default To Here( 1 );
dt = As Table( J( 20, 1, Random Uniform() ) );
dt << distribution(
action(
distHandle = Current Report();
For( i = 1, i <= 3, i++,
distHandle[Outline Box( 1 )] << append( Text Box( "Yay!" ) )
);
)
);
나는 이것을 코딩하는 더 좋은 방법을 요구하는 나의 이전 의견을 철회한다!
나를 트립 한 것은 Action ()이 모달 대화 상자와 같지 않다는 것입니다. 스크립트 실행을 중단하지 않습니다. 사용자가 "확인"을 클릭하기 전에도 배포 호출 다음에 나오는 모든 코드가 즉시 실행됩니다. 사용자 입력 후 발생해야하는 모든 것은 Action () 인수 안에 래핑되어야합니다.
다시 감사합니다 @ 과 stan 길을 보여 주셔서