Ошибка в скрипте карты Контрагента

Здравствуйте! Очень нужна Ваша помощь!!! Проблема заключается в том, что в скрипте где-то допущена ошибка, но распознать ее я пока не могу. Ошибка при сохранении карты контрагента: Account.ModifiedCommunicationPosisitionArray.length. Параллельно с этим появляется ошибка в карте контакты при попытке ее сохранения. Помогите, пожалуйста, разобраться! Буду признательна за любую помощь!

Нравится

5 комментариев

вот так выглядят ошибки в карточке

Здравствуйте, Анна!

Вероятнее всего, параметр 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');*/
}
...
}

спасибо большое, проблему решила)))

Показать все комментарии