AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.08.2021, 18:19   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
X++:
static void eglaItemAttachment(Args _args)
{
    DocuRef             docuRef,docuRefCur;
    InventTable         inventTable,inventTableCur;
    DocuValue           docuValue,docuValueCur;
    str                 filePath;
    int                 record;
    ;

    try
    {

        while select inventTableCur
        where inventTableCur.dataAreaId == '116' && inventTableCur.ItemId like "610*"
        {
            while select docuRefCur
                where docuRefCur.RefRecId  == inventTableCur.RecId
                && docuRefCur.RefCompanyId == inventTableCur.dataAreaId
                && docuRefCur.RefTableId   == inventTableCur.TableId
            {
                select firstOnly docuValueCur
                        where docuValueCur.RecId == docuRefCur.ValueRecId;

                filePath = docuRefCur.completeFilename();
                changeCompany('101')
                {
                    select firstOnly inventTable
                    where inventTable.ItemId == inventTableCur.ItemId
                    && inventTable.dataAreaId == '101';

                    if (inventTable.RecId)
                    {
                        ttsBegin;
                        docuRef.clear();
                        buf2Buf(docuRefCur , docuRef );
                        docuRef.RefRecId        = inventTable.RecId;
                        docuRef.RefTableId      = inventTable.TableId;
                        docuRef.RefCompanyId    = inventTable.dataAreaId;
                        docuRef.ActualCompanyId = inventTable.dataAreaId;
                        docuRef.insert();
                        record++;

                        if (docuRef.RecId && docuValueCur.RecId)
                        {
                            docuValue.clear();
                            buf2Buf(docuValueCur , docuValue);

                            docuValue.insert();

                           if(docuValue.RecId)
                           {
                               ttsBegin;
                               docuRef.selectForUpdate(true);
                               docuRef.ValueRecId = docuValue.RecId;
                               docuRef.update();

                               docuValue.selectForUpdate(true);
                               docuValue =  DocuValue::writeDocuValue(docuref,filePath);
                               docuValue.update();
                               ttsCommit;
                            }
                        }
                        ttsCommit;
                    }
                }
            }
        }
        info(strFmt("Total attachments = %1",record));
    }
    catch (Exception::Error)
    {
        warning("An attachement could not be added to this item - %1", inventTableCur.ItemId);
    }
}
За это сообщение автора поблагодарили: RVS (3).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересоздание таблицы при синхронизации Serg16 DAX: Администрирование 1 26.08.2009 13:55
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
использование create() ds sassas DAX: Программирование 5 11.11.2004 15:22
В браузере таблицы информация есть Natashka DAX: Функционал 10 12.02.2003 15:59
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:34.