Пытаюсь вручную из скрипта добавить ДоговорКонтрагента в 1С Сам Контрагент благополучно создался.
А договор этого контрагента выдаёт при создании следуйщую извесную ошибку
"Не удалось сохранить Договор Контрагента!"
вот код которым пытаюсь сохранить договор:
var Invoice1C = v8.Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
Invoice1C.Дата ="10.09.2012";
Invoice1C.Номер ="92837482374";
Есть подозрение, что какое-то из полей даты есть обязательным для заполнения, но:
Если в начале строки содержится что-то, что может быть проинтерпретировано как строковое представление даты в виде ДД.ММ.ГГ, где ГГ- две цифры года, ММ- числовое обозначение месяца (01, ..., 12), ДД- день месяца, то будет произведено соответствующее преобразование. В противном случае значение даты будет нулевым.
Здравствуйте Дмитрий,
спасибо что отозвались.
заменил
Contract1C.Дата = "10.09.2012";
на
Contract1C.Дата = "10.09.12";
Не помогло.
Что ещё могу предоставить для нахождения "граблей".
Может скриншоты Конфигуратора 1С? Какие?
Александр, рекомендую обратить внимание на код карточки в 1С, которая создает договор контрагента. Там хитрая штука: без основного договора нельзя создать контрагента, а без контрагента - договор. При этом если одна из записей не сохранена в базу данных, то и ссылку на нее в другой записи поставить нельзя.
Для того, чтобы скрипт корректно работал, Вам следует переписать код 1С, который решает этот логический казус, в скрипте синхронизации Terrasoft.
Без указания основного договора.
После чего я его благополучно НахожуПоНаименованию в вышеуказанном скриншоте/коде создания ДоговораКонтрагента.
А вот то же самое со СчётНаОплатуПокупателю и ДоговорКонтрагента не получается.
Не подскажите хоть "в какую сторону бежать", я в разработке 1С не силён.
Во вложении код 1С по Форме элемента ДоговорКонтрагента.
Анна, учитывая свойства поля КОД в конфигураторе 1С(см. скриншот), по идее предложенная Вами функция должна была вернуть нечто подобное
Contract1C.Код = "000932123";
или
Contract1C.Код = "GHDEDSASW";
Дмитрий,
а подскажите пожалуйста как определить что поле обязательное, в 1С не очень силён...
Выше приводил пример текстовки модуля формы элемента ДоговораКонтрагентов
там есть некие проверки на заполненность. Этих полей достаточно? или есть где-то ещё в визуальном редакторе свойств формы чекбокс что поле обязательное?
Александр, можно попробовать установить отладчик в скрипте scr_Dataflow1CUtils_V80V81V82 в функции Prepare1CQuery и посмотрите, какой запрос в итоге уходит в 1С. Нас интересует содержимое Query.Text в самом конце функции.
Можно попробовать выполнить этот запрос непосредственно в 1С и посмотреть результат.
Анна, а как мне использовать сам Prepare1CQuery в scr_Dataflow1CUtils_V80V81V82 если я работаю напрямую с ActiveXObject и даже не подключаю данный скрипт к своему...
Какие фактические параметры передать Prepare1CQuery после подключения scr_Dataflow1CUtils_V80V81V82?
Дмитрий, Анна
спасибо большое
я разобрался.
У нас в 1С есть поле СхемаНалогообложения, которое не является обязательным, но без него 1С не сохраняет ДоговорКонтрагента.
Совет изыскателям таких же граблей - Просто в СРМ заполните абсолютно все поля договора(даже необязательные) и методом исключения поймёте чего не хватало.