![]() |
#1 |
Участник
|
Map
Здравствуйте. Можете помочь?!
Есть временная таблица Ledgerbalances. В эту временную таблицу входит таблицы LedgerTrans и LedgerBalancesDimTrans. И она их определяет через Map. Например: LedgerBalances = <recid =0, map = LedgerBalancesDimTrans>. Мне нужно условия, когда в Ledgerbalances будет таблица LedgerBalancesDimTrans то необходимо заполнить одно поле. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Karlygash
![]() Здравствуйте. Можете помочь?!
Есть временная таблица Ledgerbalances. В эту временную таблицу входит таблицы LedgerTrans и LedgerBalancesDimTrans. И она их определяет через Map. Например: LedgerBalances = <recid =0, map = LedgerBalancesDimTrans>. Мне нужно условия, когда в Ledgerbalances будет таблица LedgerBalancesDimTrans то необходимо заполнить одно поле. Есть Table1 и Table2, с полями Fields11, Fields12 и Fields21, Fields22 соответственно. Тебе нужно чтобы в Map было Fields11 = Fields1 и Fields12 = Fields2 для Table1 и Fields21 = Fields1 для Table2 ? |
|
![]() |
#3 |
Участник
|
X++: if (Ledgerbalances.TableId == tablenum(LedgerBalancesDimTrans)) { // Заполнить одно поле }
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
правильно пишется += а не =+
|
|
![]() |
#8 |
Участник
|
+= - добавит к текущему значению LedgerBalances.DebitMSTTest значение amountDebitMST
= - заменит текущее значение LedgerBalances.DebitMSTTest на значение amountDebitMST |
|
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Участник
|
|
|
![]() |
#11 |
Administrator
|
X++: public void myMethod(LedgerBalances _ledgerBalances, AmountMST _amountDebitMST) { LedgerBalancesDimTrans ledgerBalancesDimTrans; ; if (_ledgerbalances.TableId == tablenum(LedgerBalancesDimTrans)) { ledgerBalancesDimTrans = _ledgerBalances; ledgerBalancesDimTrans.DebitMSTTest += _amountDebitMST; // Поле amountDebitMST должно существовать в таблице LedgerBalancesDimTrans } }
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 31.05.2017 в 09:11. |
|
![]() |
#12 |
Участник
|
Цитата:
Сообщение от sukhanchik
![]() X++: public void myMethod(LedgerBalances _ledgerBalances, AmountMST _amountDebitMST) { LedgerBalancesDimTrans ledgerBalancesDimTrans; ; if (_ledgerbalances.TableId == tablenum(LedgerBalancesDimTrans)) { ledgerBalancesDimTrans = _ledgerBalances; ledgerBalancesDimTrans.DebitMSTTest += _amountDebitMST; // Поле amountDebitMST должно существовать в таблице LedgerBalancesDimTrans } } amountDebitMST- это переменная. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
![]() |
#13 |
Administrator
|
Да, спасибо за замечание - я опечатался
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#14 |
Участник
|
|
|
![]() |
#15 |
Участник
|
Еще вопрос теперь еще одно ledgerBalancesLocal временаая таблица, берет данные из временной таблицы ledgerBalances. A тут как правильно написать?
X++: if (ledgerbalancesLocal.TableId == tablenum(LedgerBalancesDimTrans)) { ledgerBalancesDimTrans = ledgerBalancesLocal; ledgerBalancesDimTrans.DebitMSTTest += ledgerBalances.DebitMSTTest; |
|
![]() |
#16 |
Участник
|
Во временной таблице ledgerBalances.DebitMSTTest есть такое поле?
|
|
![]() |
#17 |
Участник
|
|
|
![]() |
#18 |
Участник
|
|
|
![]() |
#19 |
Участник
|
Цитата:
ledgerBalancesDimTrans.DebitMSTTest += ledgerBalances.DebitMSTTest; У Вас же, вроде, дополнительная сумма в переменной содержалась? Вот эту переменную в правой части присвоения и указывайте ledgerBalancesDimTrans.DebitMSTTest += _amountDebitMST; ----------------- ledgerBalances - это НЕ временная таблица. Это объект MAP, который можно сравнить с неким "трафаретом" (лист с дырками) через который Вы смотрите на ту или иную таблицу. Если "дырки" напротив поля нет, то и значение этого поля увидеть невозможно Если, тем не менее, нужно обратится к этому "невидимому" полю таблицы, то просто отбрасываете "трафарет" (Map) в сторону и начинаете работать напрямую с нужной таблицей Так что, либо "вырезайте" дополнительные "дырки" (дополнительные поля в Map), либо работайте напрямую с таблицей. А пытаться рассмотреть что-то через плотный лист бумаги все-равно невозможно ![]()
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#20 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
![]() А что же Вы тогда прибавляете-то? Откуда Вы взяли синтаксис для правой части присвоения?
ledgerBalancesDimTrans.DebitMSTTest += ledgerBalances.DebitMSTTest; У Вас же, вроде, дополнительная сумма в переменной содержалась? Вот эту переменную в правой части присвоения и указывайте ledgerBalancesDimTrans.DebitMSTTest += _amountDebitMST; ----------------- ledgerBalances - это НЕ временная таблица. Это объект MAP, который можно сравнить с неким "трафаретом" (лист с дырками) через который Вы смотрите на ту или иную таблицу. Если "дырки" напротив поля нет, то и значение этого поля увидеть невозможно Если, тем не менее, нужно обратится к этому "невидимому" полю таблицы, то просто отбрасываете "трафарет" (Map) в сторону и начинаете работать напрямую с нужной таблицей Так что, либо "вырезайте" дополнительные "дырки" (дополнительные поля в Map), либо работайте напрямую с таблицей. А пытаться рассмотреть что-то через плотный лист бумаги все-равно невозможно ![]() Тоже думала может стоит "вырезать" (дополнительные поля в Map), но незнаю как. Поэтому наверное буду работать напрямую с таблицей |
|
|
|