Всем доброго времени суток.
У меня при очередной интеграции таблицы Excel и Террасофт возникла проблема, которую я никак не могу решить.
В моей таблице для загрузки много колонок, я установила
соответствие всех этих колонок с полями таблицы Операции. Для тех колонок, которые необходимо загрузить также при необходимости и в справочники, установила соответсвие с полями этих справочников.
При этом на закладке "Первичные ключи" для двух полей - Касса и Состояние - первичные ключи автоматически не создались (рис 1).
В таком варианте при импорте происходит следующее: все справочники по очереди проверяются на необходимость добавить в них записи, а справочники Касса и Состояние не проверяются.
Когда дело доходит до основной загрузки в таблицу Операции в журнале процесса импорта выводится сообщение:
"Импортируются данные в таблицу 'Операции'
Первичные поля не существуют. Таблица пропускается.
Импорт данных из листа 'Лист1' завершен "

После этого я пропробовала вручную добавить первичные ключи. Т.е. перетащила на закладку Первичные ключи колонки Касса и Состояние. (рис 2).
Тогда при загрузке справочники Касса и Состояние не пропускаются, а проверяются на равне с другими.
Однако загрузка основной таблицы все равно не происходит. Сообщение об ошибке осталось тем же.

В чем же причина? и как ее устранить?

Нравится

17 комментариев

Добрый день, Виктория!
Судя по скриншотам, первичные поля таки не указаны, они должны подсвечиваться зеленым в списке.
Как Вы их перетягивали на закладку проверки уникальности? Из общего списка полей?
Необходимо выделить ячейку с данными колонки, которую Вы добавляете в проверку уникальности и удерживая перетянуть вниз, на закладку "Проверка уникальности".

Именно так я и делала. Во второй картинке зеленым подсвечены указанные поля, тогда как на первой картинке их просто нет.

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

Я удалила те два первичных ключа , которые я создала. Потом перетянула колонку Операция.Состояние и Операция.Касса. Получилось так как на рисунке 3.

При импорте ошибка стали иной....

Импортируются данные в таблицу 'Операции'
***
***Справочник для поля 'Касса' не был проимпортирован
***
***
***Справочник для поля 'Состояние' не был проимпортирован
***
***
***Невозможно импортировать данные. Таблица пропускается.
***

Мне кажется, что первоначальный вариант был более верный - там справочники проверялись на соответствие, и проблема была только с таблицей Операции.
Попробовала Ваши рекомендации добавить к моим , вышло как на рирсунке 4.
во время интеграции справочники интегрируются, но ошибка все равно возникает, в этот раз такая:

***The statement has been terminated.
Cannot insert the value NULL into column 'TypeID', table 'Terrasoft_332.dbo.tbl_Cashflow'; column does not allow nulls. UPDATE fails
***
Импортируется запись Касса = Запорожская касса (наличная) Состояние = Выполнена
Запись уже была проимпортирована
Импортируется запись Касса = Запорожская касса (наличная) Состояние = Выполнена
Запись уже была проимпортирована
Импорт данных в таблицу 'Операции' завершен. Добавлено: 0. Обновлено: 0.
Импорт данных из листа 'Лист1' завершен

Поле Операции.Тип является обязательным для заполнения в таблице. Вы его заполняете при импорте? На скриншоте не увидела. Если нет колонки с типом операции в файле, то перетяните поле Тип в значения по умолчанию и установите Приход или Расход.

Поле тип - перечисление. Оно есть у меня в закладке перечисления.

Если все же перетянуть колонку Операция.Тип в Проверку уникальности , то выдается такая ошибка:

Импортируются данные в таблицу 'Операции'
Импортируется запись Тип = Расход
***
***The statement has been terminated.
Cannot insert the value NULL into column 'TypeID', table 'Terrasoft_332.dbo.tbl_Cashflow'; column does not allow nulls. INSERT fails
***
Импортируется запись Тип = Расход
Запись уже была проимпортирована
Импортируется запись Тип = Расход
Запись уже была проимпортирована
Импорт данных в таблицу 'Операции' завершен. Добавлено: 0. Обновлено: 0.
Импорт данных из листа 'Лист1' завершен

Виктория, такое ощущение, что у Вас в файле импорта для колонки с типом операции нет значений (пустые ячейки) или на закладке "Перечисления" для значений Приход и Расход не указаны обработки (какое значение ячейки файла импорт устанавливать как приход\расход). На скриншоте этого не видно.
Попыталась смоделировать ситуацию - все работает! Как вариант - выложите настройку и шаблон, попробуем выявить проблему.

Колонка не пустая, разумеется, там везде стоят значения "Расход".
На закладке Перечисления дописала еще раз про Расход и Приход. Не помогло.
Я прикрепила шаблон, и настройку, а также журнал , который при этом получается.

Есть еще такое наблюдение - в закладке Значения по умолчанию, для справочника Статья не получается указать значение по умолчанию - "Тип". Это тоже самое перечисление, которое не хочет загружаться в таблицу Операции.

Хотя не думаю, что незаполненность этого поля может повлиять, тк на самом деле при импорте я не загружаю ни одную статью в справочник Статьей. Необходимая статья "11.Зарплата" уже есть в справочнике, и она не обновляется.

Сделала еще следующее: поменяла в моей таблице данные в колонке Тип на ct_Charge. Соответственно в закладке "Перечисление" для Расхода установила соовтетствие ct_Charge, а для Прихода ct_Income.

Теперь ошибки как бы и нет, а таблица Операции все равно не заполняется.

Импортируются данные в таблицу 'Операции'
Импортируется запись Тип = ct_Charge
Запись обновлена
Импортируется запись Тип = ct_Charge
Запись уже была проимпортирована
Импортируется запись Тип = ct_Charge
Запись уже была проимпортирована
Импорт данных в таблицу 'Операции' завершен. Добавлено: 0. Обновлено: 1.
Импорт данных из листа 'Лист1' завершен

Заполнили ли Вы значения для соответсвий перечислений?

"Тихенко Виктория" написал:

Соответственно в закладке "Перечисление" для Расхода установила соовтетствие ct_Charge, а для Прихода ct_Income.


Вы это имеете ввиду? да, установила.:sad:

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

да,к сожалению структура отличается.

Вам необходимо в главной таблице [операции] определить ключевуое поле по Названию. Так как в данном случае определено только одно поле - Тип. В результате - запись будет добавлена только в том случае если поле тип будет иметь уникальное значение.
Другими словами Вам необходимо определить колонку(или несколько колонок) для записей в таблиице [Операции] по которым система сможет идентифицыровать запись. Соответсвенно значение данной колонки (или набора колонок) должно быть уникальным для каждой записи.

СПАСИБО огромное! и правда, все получилось. у меня в таблице назначение операций дублировалось, и этот ключ не был установлен!

Показать все комментарии