AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.12.2007, 14:02   #1  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
Такое дело:
Иметься Т1 и Т2.(Таблицы)
Они взаимосвязаны между собой полем “No.” T1 и Production BOM No в T2.
В таблице Т1 есть записи З1Т1, З2Т1 и т.д
В таблице Т2 есть записи З1Т2, З2Т2 и т.д.

Мне нужно сравнить их на совпадение по 3 полям…
Первое это по Name в Т1, Name в T2, “Quantity per” в Т3

Сначала идет сравнение по Name в T1, Если совпало то смотрим во вторую таблицу и сравниваем там записи по Name, Если воспали то по Qper. Совпало ура! Нет : Нет совпадений!

// структура такая 1 : М (один ко многим)!


Вот…я делал все таким образом:
SpecHeader – Т1;
SpecHeader2 – Т2;
SpecLine – З1;
SpecLine2 – З2;


IF SpecHeader.FIND('-') THEN
REPEAT
SpecLine.SETRANGE("Production BOM No.",SpecHeader."No.");
IF SpecHeader2.FIND('-') THEN
REPEAT
SpecLine2.SETRANGE("Production BOM No.",SpecHeader2."No.");
IF SpecHeader."No." <> SpecHeader2."No." THEN BEGIN
IF SpecHeader.Name = SpecHeader2.Name THEN BEGIN
IF SpecLine.FIND('-') THEN BEGIN
REPEAT
IF SpecLine2.FIND('-') THEN BEGIN
REPEAT
IF SpecLine.COUNT = SpecLine2.COUNT AND ( SpecLine."Name." = SpecLine2."Name.") AND (SpecLine."Quantity per" = SpecLine2."Quantity per") BEGIN
Ret:= TRUE;
Var1:=SpecHeader."No.";
Var2:=SpecHeader2."No.";
END;
UNTIL SpecLine2.NEXT = 0;
END;
UNTIL SpecLine.NEXT =0;
END;
END;
END;
UNTIL SpecHeader2.NEXT = 0;
UNTIL SpecHeader.NEXT = 0;

IF Ret = TRUE THEN MESSAGE('Есть совпадение') ELSE MESSAGE('Нету сопадений');


SETRANGE вроде нормально все делает…
Не нравиться мне как работают эти циклы….
Что посоветуете?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:39.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.