Здравствуйте! Очень нужна Ваша помощь!!! Проблема заключается в том, что в скрипте где-то допущена ошибка, но распознать ее я пока не могу. Ошибка при сохранении карты контрагента: Account.ModifiedCommunicationPosisitionArray.length. Параллельно с этим появляется ошибка в карте контакты при попытке ее сохранения. Помогите, пожалуйста, разобраться! Буду признательна за любую помощь!
Нравится
Здравствуйте, Анна!
Вероятнее всего, параметр ModifiedCommunicationPosisitionArray не существует.
Но более точно сможет сказать отладка.
Необходимо:
1) Включить отладку скриптов в реестре Windows:
HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings
Установить значение параметра JITDebug с 0 на 1.
2) Установить инструментарий для отладки:
либо Microsoft Script Debugger:
http://www.microsoft.com/en-us/download/details.aspx?id=22185
либо Microsoft Visual Studio Express 2012:
http://www.microsoft.com/ru-ru/download/details.aspx?id=34673
Visual Studio удобнее и предпочтительнее, но занимает больше времени и места для установки.
После настроек перезайдите в клиентскую часть и сохраните контрагент.
Ошибка "упадет" в отладчик, а дальше необходимо пошагово смотреть значения переменных для локализации причины ошибки.
вот мой код, есть ли у вас возможность посмотреть его более свежим взглядом, ибо я уже сама не могу найти, в чем здесь загвоздка.
Анна,
предположительно проблема возникает в функции SelfOnDatasetAfterPost:
function SelfOnDatasetAfterPost(Dataset) {
GiveRightsToRecordOwner(Dataset);
if (Account.ModifiedCommunicatonPositionArray.length) {
ActualizeCommunicationEx(Dataset,
Account.ModifiedCommunicatonPositionArray, 'AccountID');
}
...
}
Необходимо проверить в отладчике, чему равно значение параметра:
function ds_AccountOnDatasetBeforePost(Dataset, DoPost) {
Account.ModifiedCommunicatonPositionArray =
GetModifiedCommunicatonPositionArray(Dataset, Account.CommunicationCount);
...
}
Вижу, что на скриншоте у Вас вообще нет средств связи. Предполагаю, что Вы их вообще не используете.
В этом случае можете проверку вообще закомментировать:
function SelfOnDatasetAfterPost(Dataset) {
/*if (Account.ModifiedCommunicatonPositionArray.length) {
ActualizeCommunicationEx(Dataset,
Account.ModifiedCommunicatonPositionArray, 'AccountID');*/
}
...
}