Показать сообщение отдельно
Старый 05.09.2013, 13:24   #1  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Понимаю, что где-то не догоняю... но где и что?

Имеется отчет, который заполняет некую вспомогательную таблицу.
PrimaryKey которой COMPANY,Lfd. Nr.
В первом DataItem таблица очищается(SORT - та самая вспом. таблица)
Код:
SORT.RESET;
SORT.DELETEALL;
SORT."Lfd. Nr." := 0;
Я могу запускать отчет хоть неск. раз подряд. Таблица очищается, потом заполняется заново. Никаких проблем!
Теперь вношу в текст небольшое изменение, а именно закомментарила строчку с командой
Код:
 MESSAGE('....');
Сохраняю отчет, запускаю его снова, получаю:
---------------------------
Microsoft Dynamics NAV
---------------------------
Die SORT existiert bereits.Identifizierende Felder und Werte:COMPANY='COMPANY 1 NAME',Lfd. Nr.='0'
---------------------------
OK
---------------------------
т.е. как я понимаю имеем дубликат ключа.

Добавление записей в таблицу выполняется сл.об.:
Код:
SORT.INIT;
SORT.Debitor := Customer."No.";
SORT.Остальные поля := '';
SORT.COMPANY := UPPERCASE(Mandant.Name);
.....
SORT."Lfd. Nr." := SORT."Lfd. Nr." + 1;
SORT.INSERT;
Mandant - это первый DataItem.
У таблицы SORT свойство DataPerCompany = No, т.е. она общая для всех мандантов
Что интересно, при проходе с дебагером видно, что записи таки добавляются.
COMPANY='COMPANY 1 NAME',Lfd. Nr.='1'
потом появляется
COMPANY='COMPANY 1 NAME',Lfd. Nr.='2'
и т.д.
Потом в какой-то момент БАЦ! ... и примите и распишитесь - дубликат ключа.

Обращаюсь к старшим (в смысле опыта товарищам: помогите понять, где собака порылась?