...

Создание таблицы из таблицы в другом приложении

Тема в разделе "Вопросы по платформе", создана пользователем dsshain, 14 сен 2023.

Метки:
  1. dsshain

    dsshain Новичок

    Добрый день.
    Есть приложение, у которого в контексте есть свойство с типом данных Таблица - перечень товаров с наименованием (первый столбец), характеристиками (второй столбец) и количеством (третий столбец). В другом приложении требуется создать аналогичное свойство-Таблицу (коммерческое предложение) на основе первой Таблицы, только добавив к ней столбцы (цену товара и стоимость).
    Как это возможно и проще сделать?
  2. krivonos

    krivonos Техническая поддержка

    Добрый день.
    Вы можете перенести данные из первой таблицы во вторую с помощью сценария, то есть:
    1. Создать таблицу в приложении с нужными Вам колонками
    2. Создать в другом приложении аналогичную таблицу с дополнительными колонками
    3. Получить информацию из элемента первого приложения с помощью метода fetch() и после используя метод insert(), перенести данные из первой таблицы во вторую, в колонки с таким же типом. Дополнительные колонки (цену товара и стоимость) заполнить тем способом, который Вам удобен.
  3. dsshain

    dsshain Новичок

    Спасибо!
    А как получить доступ в сценарии из одного приложения к элементу (таблице) в другом приложении? Это же разные контексты
  4. krivonos

    krivonos Техническая поддержка

    Один из вариантов:
    const dataFromSecAPP = await Context.data.priloj2.fetch(); // получаем данные объекта-ссылки
    const num = dataFromSecAPP.data.stroka; // берем нужную информацию из элемента выбранного приложения
    const row = Context.data.tablica!.insert() // Вставляем строку, `row` присваивается ссылка на новую строку
    row.tekst = num! // Заполняем строку
    Context.data.tablica = Context.data.tablica // сохраняем таблицу

    Также, можно воспользоваться формулой в таблице, которая может принять нужное Вам значение из элемента другого приложения. Формула — эта опция доступна только для таких типов данных, как строка, деньги или число. Она позволяет задать формулу для вычисления значения в каждой строке колонки.

    То есть, Вы можете добавить поле второго приложения в первом, и выбрать нужное Вам поле для заполнения.

    Подробнее можно ознакомиться по ссылке в справке в абзаце "Добавить в таблицу данные из другого приложения":
    https://elma365.com/ru/help/platform/360010201779.html
  5. dsshain

    dsshain Новичок

    Спасибо!
    Если следовать вашему совету, то "'элемент выбранного приложения" - у вас это "stroka", она у меня имеет тип Таблица (свойство приложения - перечень товаров с наименованием).
    [​IMG]
    const dataFromSecAPP = await Context.data.priloj2.fetch(); - тут мы получаем объект-приложение из которого ходим достать данные?
    const num = dataFromSecAPP.data.stroka; - тут мы получаем эту самую Таблицу (свойство) этого объекта?
    const row = Context.data.tablica!.insert() - тут мы создаем новую пустую строку в свойство (Таблицу) нового объекта-приложения, куда хотим внести данные?
    row.tekst = num! - вот тут не понятно. У нас num - это Таблица же? Как мы в столбец новой таблицы заносим другую таблицу?

    В статье я понял, что можно через формулу добраться до некоторых свойств. Но вот до внутренностей самой таблицы нельзя так добраться
  6. krivonos

    krivonos Техническая поддержка

    В примере было показано, как получить информацию из элемента приложения и добавить ее в таблицу. По такому же принципу Вы можете извлечь из таблицы нужные Вам данные.

    const dataFromSecAPP = await Context.data.priloj2.fetch(); - тут мы получаем объект-приложение из которого ходим достать данные?
    Все верно.

    const num = dataFromSecAPP.data.stroka; - тут мы получаем эту самую Таблицу (свойство) этого объекта?
    В данном примере мы получаем значение контекстной переменной типа "Строка"

    const row = Context.data.tablica!.insert() - тут мы создаем новую пустую строку в свойство (Таблицу) нового объекта-приложения, куда хотим внести данные?
    В данной строчке мы вставляем строк в таблицу.

    row.tekst = num! - вот тут не понятно. У нас num - это Таблица же? Как мы в столбец новой таблицы заносим другую таблицу?
    В этой строчке информация заполняется в созданной строке таблицы. Тут не важно какого она типа, главное, чтобы при заполнении, она совпадала по типу.


    --Но вот до внутренностей самой таблицы нельзя так добраться
    >> Все верно. Значения из таблицы таким способом передать нельзя.