Главная
КОМПАС-CLOUD
Скачать
Цены   
Вебинары
Новости
Контакты
Решение для

  Импорт/экспорт данных

Вопрос:
При выгрузке лицевых счетов (под фильтром = текущий месяц) в DBF-файл после 10 минут работы возникает ошибка Temporary table resourse limit. Для 3-х записей выгружается. На 16 тыс. - вылетела примерно на 15-й тысяче Для 22-х тысяч - на 21-й тысяче...

Ответ:
Открытие любой табличной формы, основанной на таблице LIC_CH, без ограничения по ключу является абсолютно недопустимым в связи с крайне большим количеством записей в этой таблице. Пользовательский фильтр совершенно не меняет положение, так как фильтрация для пользовательского фильтра производится на клиенте. Нужно обязательно использовать ограничение по ключу. В качестве такого ограничения может выступать ограничение по полю GM_RAS (расчетный месяц).
Вопрос:
Как подключить в бизнес-процедуру имя модуля, базы данных?

Ответ:
В язык задачи (группа "Параметры конфигурации") добавлены новые переменные:
ЗАГОЛОВОК_ПРОГР (CurrCaption) - заголовок главного окна программы;
ЗАГОЛОВОК_ИСХОДН (DefCaption) - исходный заголовок главного окна программы;
ИМЯ_ПРИЛОЖЕНИЯ (CurrTitle) - имя приложения в панели задач;
ИМЯ_ИСХОДНОЕ (DefTitle) - исходное имя приложения в панели задач;
ВЕРСИЯ (Version) - номер версии программы.
Переменные можно использовать и в бизнес-процедуре.

Касательно имени базы данных можно предложить следующий вариант работы: в модуле "Управление финансами" имеется возможность произвести настйроку транспорта данных из другой базы. По необходимости можно осуществлять получение данных с указанием выбора периода, за который выбираются данные, а также набор данных для транспорта.
Вопрос:
В пресс-релизе версии 11.81-2 я нашёл интересное для себя новшество. Предусмотрена возможность импорта из Excel в таблицу в составе экранной формы, основанной на элементе Массива Общих Мест (МОМ) GRIDS@TEMPTABLE. С этой целью в экранную форму может быть добавлена кнопка, основанная на элементе МОМ CMD@N_EXL_IMPORT. Но я не нашёл в МОМ такого элемента, и как его использовать - непонятно. В какой момент будет происходить выбор схемы импорта? Как заполнить увязку TYP_D и ID_DOC (в схеме импорта из EXCEL нет возможности оперировать ЯФПК)?

Ответ:
Существует кнопка с процедурой проверки валидности TN_exl_importValidaction, которая может быть помещена на ЭФ и которая запускает процедуру импорта из Excel. Импорт осуществляется в таблицу подчиненной ТФ с элементом МОМ GRIDS@TEMPTABLE. После нажатия пользователя попросят указать файл Excel для импорта. Если в указанном файле больше одного листа, то пользователь будет обязан выбрать импортируемый лист. После чего программа импртирует данные с указанного листа, предварительно очистив таблицу-приемник (временную). Алгоритм импорта рассчитывает, что ячейки первой строки импортируемого листа содержат псевдонимы полей, в которые следует помещать данные.
Вопрос:
Мы попытались импортировать из Excel "Справочник должностей".
Непонятно, нужно ли самим формировать в Excel колонку первичного ключа ID и перекачивать по нему или этот индекс будет формироваться автоматически?

Ответ:
В справочнике должностей SPRDOLGN нет поля ID. Там уникальным является поле DOLGN и индекс по этому полю является первичным. Другое поле с кодом должности вообще может быть в ПО "КОМПАС" не заполнено и индекс по нему не является обязательным.
Поэтому, когда Вы формируете в Excel этот справочник, то можете завести две колонки DOLGN (само название должности - уникальное, длина 40 символов) и поле KOD_DOLG (код должности - символьное, длиной 10, его значение заводить не обязательно).
Вопрос:
Непонятно, как нужно ограничивать перекачиваемую информацию: и по строкам и по колонкам одновременно или только по строкам или только по колонкам? А затем - установить связи, заполнить таблицу, применить?

Ответ:
Вопрос не совсем понятен. Вы интересуетесь тем, какое поле и в какой таблице должно быть уникальным для того, чтобы верно прошла загрузка данных или транспорт данных? В ERP-системе "КОМПАС" в п. Меню "Настройка" - "Распечатка описаний таблиц" при выборе таблицы из базы данных описано уникальное поле и первичный индекс в данной таблице.
Если же при выгрузке данных из своей таблицы в нашу Вы в своей таблице не соблюдали нашу уникальность по данному полю (именно это поле и является связующим), то при транспорте или загрузке данных программа выдаст сообщение о нарушении уникальности первичного ключа.

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


Вернуться к главному перечню вопросов