JAVA SCRIPT/NEXACRO 7

[NEXACRO] Static 춤춰주세요!

넥사크로 Static과 같은 컴포넌트들을 브라우저 개발자도구의 Elements 탭에서 확인해보면html의 div 태그로 구현되어 있음을 확인할 수 있다. 실제 컴포넌트의 _unique_id 라는 속성을 이용하면 전체경로를 알 수 있는데.. 이 속성을 통해 얻은 전체경로를 조금 가공하면,document.getElementById(this.div_search.form.stt_bassDt._unique_id + ":text").innerHTML = "기준일자"; 아래처럼 Static을 춤추게 만들 수도 있다! 위 내용들은 아래 방법을 통해 진행했다.[JAVA SCRIPT] 브라우저 개발자도구를 활용한 넥사크로 디버깅

JAVA SCRIPT/NEXACRO 2025.02.07

[NEXACRO] typeof 가 모두다 'object' ?

넥사크로 객체들을 typeof로 보면 모두 'object'가 반환 된다.(Dataset도 Grid도, Div도 모두다..)  대신 객체.toString()을 해보면 나름의 이름들이 표시가 되는데,  이는, toString에서 _type_name 이라는 속성을 리턴하도록 해놓았기 때문이다...  다른 방법으로는, instanceof 를 통해 객체가 특정 클래스의 인스턴스인지 확인하는 방법이 있다. 위 내용들은 아래 방법을 통해 진행했다.[JAVA SCRIPT] 브라우저 개발자도구를 활용한 넥사크로 디버깅

JAVA SCRIPT/NEXACRO 2025.01.17

[NEXACRO] 넥사크로 불편요소

1. 넥사크로 스튜디오의 불편함.  툴마다 개발환경이 다른데,  ① eXBuilder6 : IDE(이클립스)에 플러그인을 설치해서 사용  ② WebSquare : IDE(이클립스)에 플러그인을 설치해서 사용  ③ 넥사크로 : 고유의 스튜디오를 통해 개발환경을 제공   각자 장단점이 있겠지만,  넥사크로는 전용 스튜디오를 쓰면서 이에 따른 불편한 요소들이 있다.   ① 잘 죽는다.      대표적인 죽는 경우로는,      Design 탭에서 그리드 더블 클릭했을 때, Source탭에서 컴포넌트 이름 바꾸기 위해 일괄변경하고 저장 눌렀을 때 등.  ② 자동완성이 약하다.      객체에 바로 접근한 경우는 속성이나 메소드가 자동완성 되는데, 변수를 한번 거치고 나서는 자동 완성이 안 된다.  ③ 변수의 타..

JAVA SCRIPT/NEXACRO 2024.11.08

[JAVA SCRIPT] 넥사크로 eval 회피(브라켓 표기)

1. 넥사크로 프로젝트를 진행하다보면, 스크립트에서 eval을 사용한 경우를 빈번히 볼 수 있다.예컨대, 아래와 같은 스크립트들..for ( var i = 1 ; i  2. 투비소프트에서는 eval을 대체하는 방법으로 components 라는 속성을 제공한다.(all, objects 등의 속성도 있음)예컨대, 아래처럼 회피가 가능하단건데..eval("this.Button00") // eval을 회피하기 위해서 this.components["Button00"] // this.components 속성을 통해 Button00 버튼 객체 접근 3. 넥사크로에서 제공해주는 속성이 아닌 순수 자바스크립트로도 회피가 가능하다.자바스크립트에서, 객체는 . 으로 속성을 접근 할 수도 있지만 괄호(브라켓)로도 속성을 접근..

JAVA SCRIPT/NEXACRO 2023.10.26

[JAVA SCRIPT] 브라우저 개발자도구를 활용한 넥사크로 디버깅

UI가 넥사크로인 프로젝트를 진행하다 보면1. 고객은 웹브라우저에서 프로그램을 실행하고,2. 개발자는 로컬에서 ①넥사크로런타임브라우저 또는 ②웹브라우저에서 프로그램을 실행한다.  ① 런타임     - 전용 브라우저에서 실행했을 때 마우스 우클릭 시, View Source 등을 지원하는 장점이 있다.          ② 웹브라우저     - 고객과 동일한 환경에서 실행할 수 있는 장점이 있다.(css 등)     - 그리고 무엇보다도 브라우저의 강력한 디버깅 기능을 사용할 수 있다.   이 글에서는 브라우저에서의 디버깅 방법을 아래 순서로 설명한다.1. 넥사크로 스튜디오에서의 디버깅 1-1. console.log 활용 1-2. debugger 활용2. 브라우저에서의 디버깅 2-1. 개발자도구 엘리먼트탭의 ..

JAVA SCRIPT/NEXACRO 2023.10.11

[JAVA SCRIPT] Number 함수의 동작 방식(객체의 형변환)(nexacro.Decimal에 대한 고찰)

nexacro.Decimal 객체에 대한 고민하다가 Number 함수의 동작 방식을 알게 되어 기록을 남긴다 ㅜㅜ최하단에도 결론이 있지만 결론부터 정리하자면 1. Number 함수는 객체일경우 valueOf(), 그리고 toString() 메소드를 순서대로 호출한 값을 형변환하여 리턴한다.2. if (v instanceof nexacro.Decimal) v = v*1; 처럼 객체에 * 1을 연산해서 형변환을 하는 경우도 valueOf(), toString() 의 존재유무와 순서를 따른다.  nexacro.Decimal에 대해 설명을 하자면... 1. 투비소프트의 nexacro에서 nexacro.Decimal 라는 객체가 있다. 2. 이 객체는 Dataset 컬럼의 타입이 BIGDECIMAL일때, getC..

JAVA SCRIPT/NEXACRO 2023.08.30

[JAVA SCRIPT] findRowExpr(VLOOKUP) 구현하기

① 투비소프트의 XPLATFORM에서② 인스웨이브의 WebSquare5로 UI 전환 프로젝트를 진행한 적이 있었다. ①에는 있었던 findRowExpr, getCaseCount 등등이 ②에는 없었다.예컨대,이름이 '울면서잠들기'아니고 28살보다 많은 대상 찾기 → 불가능 그리하여,웹스퀘어에서 사용하기 위한 findRowExpr, getCaseCount 등등을 만들었는데굳이 웹스퀘어가 아니더라도 자바스크립트를 사용하는 프로젝트라면 활용이 가능할 것 같다. JAVA SCRIPT findRowExpr 구현조건표현식을 만족하는 첫번째 인덱스를 반환(없으면 undefined)var arr = [ {"이름": "안경은", "나이":25, "지역": "서울"} // 0 , {"이름": "이민준", "나..

JAVA SCRIPT/NEXACRO 2022.02.14