2017-01-06 5 views
0

테이블에 데이터를 삽입하려고 할 때 문제가 있습니다. 버튼에서 생각한 모든 값을 전송하고, 클래스를 모두 잡을 수 있습니다. 심지어 디버깅 할 때도 마찬가지입니다. 모든 값을 볼 수 있습니다. 모두 1을 제외하고 삽입됩니다. 관찰과 마찬가지로 다른 필드 뒤에 테이블에 해당 필드를 추가했습니다. 필드가 일부 숫자를 포함하지만 삽입하지 않은 숫자는 7209071과 같은 숫자입니다. inser 1테이블에 데이터를 삽입하십시오. Dynamics ax

에 내가 값을 보낼 곳이 내 버튼을 내 코드입니다 노력 : 여기

_ClassX.MethodInsert(
    Var, //int 
    Var2, //string 
    Var3, //string 
    Var4, //int 
    Var5 //int 
); 
TableX_ds.research(); 

그리고하는 방법

입니다
public void BBP_InsertVenta(int Var1, str Var2, str Var3, int Var4, int Var5){ 
_TableX.FieldOnTable1=Var1; 
_TableX.FieldOnTable2=Var2; 
_TableX.FieldOnTable3=Var3; 
_TableX.FieldOnTable4=Var4; 
_TableX.FieldOnTable5=Var5; //This line is commented 
_TableX.FieldOnTable6=Var5; 
_TableX.insert();} 

필드 6을 가지고 호기심이 있습니다. 필드 5에 먼저 삽입하려고했으나 시도한 후에 필드 6을 만들었지 만 다시는 작동하지 않습니다. 재미있는 것은이 필드를 열어 보았을 때입니다. field6와 field5는 7209071과 같은 수치를 나타내지 만 항상 빈 값이나 0을 채우는 것은 아닙니다.

+0

테이블을 마우스 오른쪽 단추로 클릭 한 다음 상황에 맞는 메뉴에서 'synchronise'를 선택하십시오. –

+0

는 내 문제를 해결하지 못합니다 :/@AliaksandrMaksimau –

답변

1

캐스팅하지 않은 값이 .Net이므로 전달할 수 있습니다. 당신의 AX 방법이로 변경합니다 수 :

테이블의 필드를 무엇
public void BBP_InsertVenta(System.Int32 _Var1, System.String _Var2, System.String _Var3, System.Int32 _Var4, System.Int32 _Var5) 
{ 
    int Var1 = _Var1; // Cast to AX type 
    str Var2 = _Var2; // Cast to AX type 
    str Var3 = _Var3; // Cast to AX type 
    int Var4 = _Var4; // Cast to AX type 
    int Var5 = _Var5; // Cast to AX type 

    // The below code looks like a snippit and we're missing something 
    _TableX.FieldOnTable1=Var1; 
    _TableX.FieldOnTable2=Var2; 
    _TableX.FieldOnTable3=Var3; 
    _TableX.FieldOnTable4=Var4; 
    _TableX.FieldOnTable5=Var5; //This line is commented 
    _TableX.FieldOnTable6=Var5; 
    _TableX.insert(); 
} 
+0

답변 주셔서 감사합니다! 어제 시도했지만 어쩔 수 없었습니다. 실제로 나에게 오류 가끔 var3 초기화 또는 var4 및 필드 FieldOnTable5 및 FieldOnTable6 그들은 빈 값, 0, 또는 숫자 및 다른 필드를 가져 오지 않았을 보여줍니다. / –

0

을 나타냅니다. 확장 된 데이터 유형에 연결되어 있습니까? 전달하는 데이터 유형이 테이블의 데이터 유형과 정확히 동일합니까?

예를 들어 FieldOnTable1 필드가 int64 유형이고 일반 int를 전달하면 데이터가 다르게 표시됩니다.

왜 클래스에서 TableX_ds.research()를 수행하고 있습니까? 일반적으로 데이터 소스의 데이터가 변경된 경우이를 양식에서 수행합니다.

이 메서드는 폼의 단추 클릭 이벤트에 있습니까? 아니면 양식에서 값을 전달할 위치에 클래스를 작성 했습니까?