AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.08.2019, 09:10   #1  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Опять разбираюсь с SSRS
класс VendInvoiceDocumentDP
Там полно таких перлов. Вот еще пример похлеще:
X++:
private boolean printTaxTrans()
{
    if (taxInvoiceItemType == ItemType::Item)
    {
        return TaxTable::find(taxSpec.taxCode()).UnrealizedTax == NoYes::No;
    }
    else
    {
        return TaxTable::find(taxSpec.taxCode()).UnrealizedTax == NoYes::Yes;
    }
}
А здесь название говорит, что нужно что-то вернуть, однако...
X++:
private void inventDimLine()
{
    insertInventDim = true;
}
__________________
// no comments

Последний раз редактировалось dech; 30.08.2019 в 09:13.
Старый 30.08.2019, 09:28   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цитата:
Сообщение от dech Посмотреть сообщение
А здесь название говорит, что нужно что-то вернуть, однако...
[XPP]private void inventDimLine()
Что должен вернуть void???
Старый 30.08.2019, 11:06   #3  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от George Nordic Посмотреть сообщение
Что должен вернуть void???
Я не про тип, а про название. В названии должен быть хотя бы префикс set, иначе метод выглядит как возвращающий нечто (в данном случае похожее на запись InventDim).
Второе, зачем в private-метод пихать единственную операцию присваивания? В контексте вызов подобного метода только дизориентирует. Другое дело, если бы метод вызывался наследниками, хотя все равно над названием надо было лучше думать.
Еще нарыл в VendInvoiceDocument.main() 2 условия по Voucher
X++:
            select firstOnly TableId, RecId from taxEngineLedgerJournalTransHeader
                join RecId from ledgerJournalTransLoc
                    where ledgerJournalTransLoc.AccountType    == LedgerJournalACType::Vend
                        && ledgerJournalTransLoc.JournalNum    == taxEngineLedgerJournalTransHeader.JournalNum
                        && ledgerJournalTransLoc.Voucher       == taxEngineLedgerJournalTransHeader.Voucher
                        && ledgerJournalTransLoc.Invoice       == vendInvoiceJournal.InvoiceId
                        && ledgerJournalTransLoc.Voucher       == vendInvoiceJournal.LedgerVoucher;
Кроме того, TableId не нужно указывать в списке полей селекта.
__________________
// no comments

Последний раз редактировалось dech; 30.08.2019 в 11:10.
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.