Администраторы группы

  • Аватар

Модераторы группы

  • Аватар

Разработка Vtiger CRM

Открытая группа активность: 12 ч., 51 мин. назад

Обсуждаем вопросы доработки существующих и создания новых модулей для SalesPlatform Vtiger CRM.

Реализация Автозаполнения полей для Счета (записей: 2)

← Форум группы   Все форумы
  • Аватар Pavel - 1 нед., 5 дн. назад:

    Реализован метод Автозаполнения полей для Счета – function prepareEditView_Invoice($focus, $request, $smarty).
    1. Обнаружена ошибка. Если создавать Счет из Сделки, в методе prepareEditView_Invoice после вызова $sourceFocus->retrieve_entity_info($sourceRecordId, $sourceModule), в логе возникает ошибка:
    INFO VT – PearDatabase ->ADODB error Query Failed:SELECT vtiger_potential.potentialname AS vtiger_potentialpotentialname,vtiger_potential.potential_no AS vtiger_potentialpotential_no,vtiger_potential.amount AS vtiger_potentialamount,vtiger_potential.related_to AS vtiger_potentialrelated_to,vtiger_potential.closingdate AS vtiger_potentialclosingdate,vtiger_potential.potentialtype AS vtiger_potentialopportunity_type,vtiger_potential.nextstep AS vtiger_potentialnextstep,vtiger_potential.leadsource AS vtiger_potentialleadsource,vtiger_potential.sales_stage AS vtiger_potentialsales_stage,vtiger_crmentity.smownerid AS vtiger_crmentityassigned_user_id,vtiger_potential.probability AS vtiger_potentialprobability,vtiger_potential.campaignid AS vtiger_potentialcampaignid,vtiger_crmentity.createdtime AS vtiger_crmentitycreatedtime,vtiger_crmentity.modifiedtime AS vtiger_crmentitymodifiedtime,vtiger_crmentity.modifiedby AS vtiger_crmentitymodifiedby,vtiger_crmentity.description AS vtiger_crmentitydescription,vtiger_potential.forecast_amount AS vtiger_potentialforecast_amount,vtiger_potential.isconvertedfromlead AS vtiger_potentialisconvertedfromlead,vtiger_potential.contact_id AS vtiger_potentialcontact_id,vtiger_potential.spcompany AS vtiger_potentialspcompany,vtiger_crmentity.smcreatorid AS vtiger_crmentitycreated_user_id,vtiger_potentialscf.cf_930 AS vtiger_potentialscfcf_930,vtiger_potentialscf.cf_938 AS vtiger_potentialscfcf_938,vtiger_potentialscf.cf_946 AS vtiger_potentialscfcf_946,vtiger_crmentity.source AS vtiger_crmentitysource,vtiger_crmentity_user_field.starred AS vtiger_crmentity_user_fieldstarred,vtiger_potential.tags AS vtiger_potentialtags,vtiger_crmentity.deleted, vtiger_crmentity.label FROM vtiger_crmentity LEFT JOIN vtiger_potential ON (vtiger_potential.potentialid = vtiger_crmentity.crmid ) LEFT JOIN vtiger_potentialscf ON (vtiger_potentialscf.potentialid = vtiger_crmentity.crmid ) WHERE vtiger_crmentity.crmid=? LIMIT 1::->[1054]Unknown column ‘vtiger_crmentity_user_field.starred’ in ‘field list’

    так как не джоинится таблица vtiger_crmentity_user_field.
    В 6-ой версии CRM все работало нормально

    2. Если создавать счет из Сделки через «Создать Счет» в параметре $request передается sourceModule и sourceRecord:
    Fri Feb 8 18:31:58 2019,948 [1719] INFO VT – array (
    ‘module’ => ‘Invoice’,
    ‘view’ => ‘Edit’,
    ‘sourceRecord’ => ’42726′,
    ‘sourceModule’ => ‘Potentials’,
    ‘potential_id’ => ’42726′,
    ‘relationOperation’ => ‘true’,
    ‘app’ => ‘SALES’,
    )
    а если создавать через «+Добавить счет», в параметре $request передается returnmodule и returnrecord:
    Fri Feb 8 18:31:20 2019,740 [1171] INFO VT – array (
    ‘module’ => ‘Invoice’,
    ‘view’ => ‘Edit’,
    ‘returnmode’ => ‘showRelatedList’,
    ‘returntab_label’ => ‘Invoice’,
    ‘returnrecord’ => ’42726′,
    ‘returnmodule’ => ‘Potentials’,
    ‘returnview’ => ‘Detail’,
    ‘returnrelatedModuleName’ => ‘Invoice’,
    ‘returnrelationId’ => ’38′,
    ‘relationOperation’ => ‘true’,
    ‘potential_id’ => ’42726′,
    ‘app’ => ‘SALES’,
    )
    Хотя по документации https://salesplatform.ru/wiki/index.php/SalesPlatform_Vtiger_CRM_Developers_Руководство_Автозаполнение_полей в 7-ой версии должно быть всегда returnmodule и returnrecord:
    $sourceModule = $request['returnmodule'];
    $sourceRecordId = $request['returnrecord']

    Подскажите почему реализовано по разному?

  • Аватар Pavel - 1 нед., 5 дн. назад:

    Первое нашел как лечится:
    $sourceFocus = new $sourceModule();
    $sourceFocus->id = $sourceRecordId;
    $sourceFocus->initialize(); / / Нужно обязательно!!!
    $sourceFocus->retrieve_entity_info($sourceRecordId, $sourceModule);

    Наверно стоит добавить в доку