Имя: Пароль:
1C
 
Выборка из 2 Дбф и вывод таблицу.
0 work92
 
30.09.16
15:48
Есть 2 дбф нужно сравнить 2 значения  если совпали тогда не выводить в таблицу  если не совпали тогда вывести. Выводит все значения.
Процедура Выполнить()

Файл = создатьОбъект("XBASE");
Новфайл = создатьОбъект("XBASE");
Файл.ОткрытьФайл("D:\Бухгалтерия от 29.09.2016\Расчетная\ЖРЭО.dbf");
Новфайл.ОткрытьФайл("D:\Бухгалтерия от 29.09.2016\Расчетная\ВД.dbf");
Таб=СоздатьОбъект("Таблица");  

Таб.ИсходнаяТаблица("Таблица");
Таб.ВЫвестиСекцию("Шапка");    
    
Пока файл.ВКонце()=0 Цикл

  Новфайл.Первая();
  
  Пока Новфайл.ВКонце()=0 Цикл
      
    Если СокрЛП(Файл.ID1)=СокрЛП(Новфайл.ID) Тогда
        
    Сообщить("Пропуск") ;
     Прервать
    Иначе  
     НОмерИД=СокрЛП(Файл.ID1);
     Фам=СокрЛП(Файл.F1);
     Им=СокрЛП(Файл.I1);
     От=СокрЛП(Файл.O1);
     Год=СокрЛП(Файл.Gog1);
     Адрес=СокрЛП(Файл.Adres);
      

    КонецЕсли;
    Новфайл.Следующая();
        
  КонецЦикла;
       Таб.ВывестиСекцию("Строка")  ;
  Файл.Следующая();
КонецЦикла;
Таб.Показать();
КонецПроцедуры
1 Boleev
 
30.09.16
15:52
Дичь. Грузишь предварительно данные в две ТЗ, потом ТЗ в запрос, там внутреннее соединение по ID.
На выходе получаешь нужный тебе результат
2 work92
 
30.09.16
15:54
Может кто подскажет как сделать  без ТЗ.
3 Boleev
 
30.09.16
15:54
(2) Без ТЗ - 100$
4 NorthWind
 
30.09.16
15:56
(2) внешними источниками данных можно попробовать. Но есть ли смысл - не знаю
5 Это_mike
 
30.09.16
15:56
Запросом.
Если клюшки - то хоть фокс, хоть 1скульлайт,
если снеговик - то внешние источники
6 Это_mike
 
30.09.16
15:57
Хотя судя по (0) - клюшки
7 NorthWind
 
30.09.16
15:57
(6) точно
8 NorthWind
 
30.09.16
16:01
(5) есть еще вариант подключиться через ADO+ODBC к папке с DBFами и сделать SQL-запрос к двум таблицам сразу. http://gsbelarus.com/gs/wiki/index.php/Работа_с_DBF_файлами_через_ADO
9 work92
 
30.09.16
16:04
А на текущем коде может кто подскажет как сделать
10 Boleev
 
30.09.16
16:08
(9) вот упертый какой. См.(3)
11 Boleev
 
30.09.16
16:13
Таб.ВывестиСекцию("Строка")  ;
Перенеси в условие
12 work92
 
30.09.16
16:20
Тоже выводит все
13 Garykom
 
гуру
30.09.16
16:33
Объясни тебе нужно по номерам строк сравнивать "значения" 1=1, 2=2 и т.д. или на нахождение каждого значения из 1 в 2 и наоборот?
14 Garykom
 
гуру
30.09.16
16:34
Таблица 1
1
2
3

Таблица 2
3
4
5

Что нуна вывести?
15 work92
 
30.09.16
16:43
Из таблицы 1 Нужно вывести  1 2 так как 3 есть 2 таблице
16 work92
 
30.09.16
16:44
Garykom  очень нужна подсказка
17 Garykom
 
гуру
30.09.16
16:50
Подсказка уже дана в (3)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.