...

Странное поведение PublicAPI.Services.DocumentGenerator

Тема в разделе "Проблемы/ошибки", создана пользователем Alex, 24 янв 2018.

  1. Alex

    Alex New Member

    Добрый день . Столкнулся с такой проблеммой на ELMA CE v. 3.12.0.36393 R.f3eaf82f740313.
    При использовании генерации документов по шаблону с помощью сценария.
    Есть справочник в котором храниться файл шаблона, при применении процедуры PublicAPI.Services.DocumentGenerator.Generate () этот шаблон меняется на сгенерированный документ.
    Код сценария:
    var shablon = podv_cnt_arr [podv_cnt].Shablon.FaylShablona.Clone(); // получаем шаблон с справочника с-ций
    PublicAPI.Services.DocumentGenerator.Generate (shablon, context);//
    PublicAPI.Services.File.SaveFile (shablon); //сохраняем сгенерированный файл
    podveska.ChertezhTermopodveski = shablon;
    podveska.ChertezhTermopodveski.Name = "Приложение " + podveska.Nomer + " к ЗНП №" + context.NomerZNP.ToString ();
    Может я что-то упускаю?
     
  2. akarimov

    akarimov Member

    Ну как бы проблема в клонировании - вы подменяете исходный файл этой операцией, на что намекает и описание этой функции и рекомендация как копировать файл.
    Код:
    public virtual void TestClone (Context context)
    {
        //какой то документ для теста
        var versionFile = Locator.GetServiceNotNull<IDocumentFileManager>().GetFileByDocumentId(120328);
    
        var newfile=versionFile.Clone();
        Console.WriteLine(string.Format("Old Id={0} new Id={1}", versionFile.Id, newfile.Id));
    
    }
    Вывод консоли Old Id=306561 new Id=306561
    Думаю очевидно что именно упускаете.
     
  3. Alex

    Alex New Member

    Спасибо за помощь. К этому уже сам пришел, что ссылку копирую))
    мое решение проблеммы выглядит так(может кому пригодиться):
    var shablon = PublicAPI.Services.FileServices.CopyFile(podv_cnt_arr [podv_cnt].Shablon.FaylShablona);
     

Поделиться: