Re: Расчетные документы - проблема с контрагентами

Здравствуйте, уважаемые разработчики. Проблема с расчетными документами.
Код:

         Set CalculateDocuments = TCSApp.Inventory.CalculateDocuments  
               
        DocNumber = ""
        DocName = ""
        DocDate = Date()                                             
        DocComment = ""
        DocTypeID = 22 
        DepartmentID = 840 
        CounteragentID = 14
        ProdSpecID = -1
        ShowDialog = 0
        DialogCaption = ""
                            
        ID =      CalculateDocuments.AddCalculateDocument(DocNumber,DocName,DocDate,DocComment,DocTypeID,DepartmentID,CounteragentID,ProdSpecID,ShowDialog,DialogCaption)

В результате документ создаётся, но контрагента там нет. В типе документа установленно требование "указывать контрагенты".
При этом нет никаких ошибок.
Но, если к этому документу добавить спецификацию, то на SaveChanges падает с ошибкой "Нужно указать контрагента".

Re: Расчетные документы - проблема с контрагентами

1. Проверте правильность ID контрагента.
2. Проверте, действительно ли нужно указывать контрагента.
3. Запустите создание документа с ShowDialog = 1, и посмотрите, какие графы заполняются.


Function IsCounteragentNeeded( CalcDocTypeID ) 'Возвращает признак необходимости указания контрагента при создании расчетного документа
    Dim FunctionResult : FunctionResult = Nothing                      
    Dim ICalculateDocumentTypes
    Set ICalculateDocumentTypes = TCSApp.Inventory.CalculateDocumentTypes
    ICalculateDocumentTypes.UserModuleName = ICalculateDocumentTypes.UniqueUserModuleName
    If ICalculateDocumentTypes.Locate("ID",CalcDocTypeID,0) Then
        FunctionResult = ICalculateDocumentTypes.Properties("COUNTERAGENT_NEED").AsBoolean
    End If
    TCSApp.DeleteModuleByUserModuleName( ICalculateDocumentTypes.UserModuleName )     
    IsCounteragentNeeded = FunctionResult
End Function

Re: Расчетные документы - проблема с контрагентами

1. Проверил много раз.
2. Проверил, в том числе Вашей функцией, да , нужно.
3. Запустил, комбобокс с выбором контрагентов недоступен.

Re: Расчетные документы - проблема с контрагентами

Я также создал новый тип расчетного документа с требованием указывать контрагента. Он также создаётся с пустым контрагентом, без ошибок. При добавлении позиции спецификации, вылетает ошибка "Укажите контрагента".

Re: Расчетные документы - проблема с контрагентами

Нам не удалось воспроизвести проблему на стандартной базе данных из комплекта поставки.
Рекомендуется провести backup\restore вашей базы данных программой CSDNmigrate.exe из комплекта поставки.

Re: Расчетные документы - проблема с контрагентами

Расчетный документ с обязательным указанием контрагента программно не создается, появляется ошибка "Не могу изменить запись!-->Нужно указать цех приемник!"

CalcID = theApp.Inventory.CalculateDocuments.AddCalculateDocument("", "Название", Date, "", 20, 290, 225, -1, 0, "")

Если ShowDialog установить 1 или 2, то РД создается. Но мне нужно без диалога

Re: Расчетные документы - проблема с контрагентами

ну судя по сообщению требуется не контрагента, а цех приемник. Хотя вы его тоже передаете. Ну и если в диалоге работает, то похоже на ошибку... проверим. А версия какая?

Есть еще  https://help.technologics.ru/7.9/TCSAPI … nt2_13.htm, она поудобнее в чем то, мы сейчас с ней работаем (но старую тоже починим если есть ошибка ) и https://help.technologics.ru/7.9/TCSAPI … mmands.htm для дальнейшей работы.

Спасибо сказали: Garry1