Обсуждение:Связи таблиц справочника контактов

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
  Справочник "Организации" импортировал следующим образом:
+
Справочник "Организации" импортировал следующим образом:
 
+
 
   procedure TfmWorks.ExportGedeminActionExecute(Sender: TObject);
 
   procedure TfmWorks.ExportGedeminActionExecute(Sender: TObject);
 
   var
 
   var
Строка 8: Строка 8:
 
     dtGD_CONTACT.Active := True;
 
     dtGD_CONTACT.Active := True;
 
     dtGD_COMPANY.Active := True;
 
     dtGD_COMPANY.Active := True;
 
+
 
     with dtWorks do // dtWorks - датасет, данные из которого импортирую
 
     with dtWorks do // dtWorks - датасет, данные из которого импортирую
 
     begin
 
     begin
Строка 19: Строка 19:
 
         dtGD_CONTACT.FBN('NAME').AsString := dtWorks.FBN('ORG_NAME').AsString;
 
         dtGD_CONTACT.FBN('NAME').AsString := dtWorks.FBN('ORG_NAME').AsString;
 
         dtGD_CONTACT.FBN('ZIP').AsString := dtWorks.FBN('ORG_POST').AsString;
 
         dtGD_CONTACT.FBN('ZIP').AsString := dtWorks.FBN('ORG_POST').AsString;
 
+
 
         dtGD_CONTACT.FBN('EMAIL').AsString := dtWorks.FBN('ORG_EMAIL').AsString;
 
         dtGD_CONTACT.FBN('EMAIL').AsString := dtWorks.FBN('ORG_EMAIL').AsString;
 
         dtGD_CONTACT.FBN('RESERVED').AsInteger := dtWorks.FBN('ORG_NO').AsInteger;
 
         dtGD_CONTACT.FBN('RESERVED').AsInteger := dtWorks.FBN('ORG_NO').AsInteger;
 
           // ORG_NO - PK старой таблицы, для переноса связией по FK с другими таблицами   
 
           // ORG_NO - PK старой таблицы, для переноса связией по FK с другими таблицами   
 
         dtGD_CONTACT.Post;
 
         dtGD_CONTACT.Post;
 
+
 
         temp_NAME := dtGD_CONTACT.FBN('NAME').AsString;    // Переоткрываю датасет dtGD_CONTACT,  
 
         temp_NAME := dtGD_CONTACT.FBN('NAME').AsString;    // Переоткрываю датасет dtGD_CONTACT,  
 
         dtGD_CONTACT.CloseOpen(False);                      // чтобы узнать, какой GD_CONTACT.ID
 
         dtGD_CONTACT.CloseOpen(False);                      // чтобы узнать, какой GD_CONTACT.ID
 
         dtGD_CONTACT.Locate('NAME', temp_NAME, []);        // присвоил триггер GD_BI_CONTACT
 
         dtGD_CONTACT.Locate('NAME', temp_NAME, []);        // присвоил триггер GD_BI_CONTACT
 
+
 
         dtGD_COMPANY.Insert;
 
         dtGD_COMPANY.Insert;
 
         dtGD_COMPANY.FBN('CONTACTKEY').AsInteger := dtGD_CONTACT.FBN('ID').AsInteger;
 
         dtGD_COMPANY.FBN('CONTACTKEY').AsInteger := dtGD_CONTACT.FBN('ID').AsInteger;
Строка 37: Строка 37:
 
     end;
 
     end;
 
   end;
 
   end;
 +
 +
Kaa (Brest)

Текущая версия на 12:10, 25 июня 2007

Справочник "Организации" импортировал следующим образом:

 procedure TfmWorks.ExportGedeminActionExecute(Sender: TObject);
 var
   temp_NAME: AnsiString;
 begin
   dbGedemin.Connected := True;
   dtGD_CONTACT.Active := True;
   dtGD_COMPANY.Active := True;

   with dtWorks do	// dtWorks - датасет, данные из которого импортирую
   begin
     First;
     while not(EOF) do
     begin
       dtGD_CONTACT.Insert;
       dtGD_CONTACT.FBN('CONTACTTYPE').AsInteger := 3;      // 3 - Клиент
       dtGD_CONTACT.FBN('PARENT').AsInteger := 147002232;   // 0 - папка "Организации"
       dtGD_CONTACT.FBN('NAME').AsString := dtWorks.FBN('ORG_NAME').AsString;
       dtGD_CONTACT.FBN('ZIP').AsString := dtWorks.FBN('ORG_POST').AsString;

       dtGD_CONTACT.FBN('EMAIL').AsString := dtWorks.FBN('ORG_EMAIL').AsString;
       dtGD_CONTACT.FBN('RESERVED').AsInteger := dtWorks.FBN('ORG_NO').AsInteger;
         // ORG_NO - PK старой таблицы, для переноса связией по FK с другими таблицами  
       dtGD_CONTACT.Post;

       temp_NAME := dtGD_CONTACT.FBN('NAME').AsString;     // Переоткрываю датасет dtGD_CONTACT, 
       dtGD_CONTACT.CloseOpen(False);                      // чтобы узнать, какой GD_CONTACT.ID
       dtGD_CONTACT.Locate('NAME', temp_NAME, []);         // присвоил триггер GD_BI_CONTACT

       dtGD_COMPANY.Insert;
       dtGD_COMPANY.FBN('CONTACTKEY').AsInteger := dtGD_CONTACT.FBN('ID').AsInteger;
       dtGD_COMPANY.FBN('FULLNAME').AsString := dtWorks.FBN('ORG_FNAME').AsString;;
       dtGD_COMPANY.Post;
       Next;
     end;
   end;
 end;

Kaa (Brest)

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты