(изменено: Алексей Болдырев, 20 апреля 2010 14:58:09)

Тема: Создание версии документа на основе существующей.

Здравствуйте, уважаемые.

Собственно сабж. Есть документ

var
  SingleDoc: ISingleDoc;
  DocRec   : tagCreateDocStruct;
....
begin
  //Заполняем структуру DocRec
  ....
  //Создаем документ
  SingleDoc:= App.CreateDocEx(DocRec);
  ....
end;

Есть метод DocCommands2.CreateDocVer, в справке написано, что SingleDoc реализует интерфейс DocCommands2, но если непосредственно написать SingleDoc.CreateDocVer, то появляется ошибка о том, что метод не найден.

Подскажите, пожалуйста, как имея SingleDoc создать новую версию документа?

Re: Создание версии документа на основе существующей.

А документ-то создается? Параметры для CreateDocVer верно задали?

Re: Создание версии документа на основе существующей.

Докучаева Елена пишет:

А документ-то создается? Параметры для CreateDocVer верно задали?

Документ создается. Но если вставить строчку SingleDoc.CreateDocVer(0, 'Новая версия', 100, ''), то появляется ошибка E2003 Undeclared identifier: 'CreateDocVer' и программа не компилируется соответственно.

Re: Создание версии документа на основе существующей.

А у данного документа есть версия с VER_ID = 100 ?
Как-то уж очень жестко задали значение.

Re: Создание версии документа на основе существующей.

(SingleDoc as DocCommands2).CreateDocVer(0, 'Новая версия', 100, '');

хотя бывает нужно еще промежуточную переменную зависти в Делфи.

Re: Создание версии документа на основе существующей.

Докучаева Елена пишет:

А у данного документа есть версия с VER_ID = 100 ?
Как-то уж очень жестко задали значение.

Версии с ID = 100, может и нет, я не проверял, вставил число просто для упрощения кода. Дело в том, что ошибка появляется на этапе компиляции и это число не на что не влияет.

Олег Зырянов пишет:
(SingleDoc as DocCommands2).CreateDocVer(0, 'Новая версия', 100, '');

хотя бывает нужно еще промежуточную переменную зависти в Делфи.

Спасибо большое! Нужно было действительно написать (SingleDoc as DocCommands2).