обработка данных из двух дбф файлов

Новая тема
Показывать по 10 20 40 сообщений
"Подскажите, пожалуйста! Как правильно загрузить данные из двух дбф файлов. у меня он очень долго обрабатывает и не выводит сообщение  "Сообщить(ДБФС.AMOUNT + " нашли!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");", хотя данные такие должны быть.

ДБФ = Новый XBase;
ДБФС = Новый XBase;

ДБФ.ОткрытьФайл(ВыбФайлНакл,,Истина);
ДБФС.ОткрытьФайл(ВыбФайлСостав, , Истина);

СтарНомер = """";
ПервыйРаз = 1;
Записать = Ложь;
Для НК = 1 По ДБФ.КоличествоЗаписей() Цикл

Для Н = 1 По ДБФС.КоличествоЗаписей() Цикл

ДБФС.Перейти(Н);
ДБФ.Перейти(НК);

ОбработкаПрерыванияПользователя();
ДБФ.ID = "801164878";
Кол = ДБФ.ID;
Если   Кол = ДБФС.NI_ID Тогда
    Сообщить(ДБФС.AMOUNT + " нашли!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
ИначеЕсли НЕ Кол = ДБФС.NI_ID Тогда
   Сообщить(ДБФС.NI_ID);
КонецЕсли;

КонецЦикла;"
"- Где вторый цикл заканчивыается и вообще зачем 2 цикла
 - Зачем ДБФ.ID = "801164878"; ? Не проще сразу сравнивать с "801164878" ?
 - Условие в ИначеЕсли вообще абсурдное, потому как все равно сюда попадет если первое не отработает."
"Это не весь цикл (конец второго не попал в копирование, но он есть), как можно обойтись без второго цикла, чтобы найти  значение из ДБФС? По 3 возможно так условие писать:

Если   Кол = ДБФС.NI_ID Тогда
Сообщить(ДБФС.AMOUNT + " нашли!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
ИначеЕсли
Сообщить(ДБФС.NI_ID);
КонецЕсли;"
Всю задачу опишите, а то пока похоже на быдлокод, как говорит Денис(МСК).
Необходимо из двух дбф файлов (соединяемых по ID) создать документы, пока я пытаюсь найти первый дбф основной, через него мне нужно получить данные из дбфс, пока я хочу для первого значения из дбф получить количество в дбфс.
А если их сначала загнать в таблицу значений, а уже потом обрабатывать? И подружись наконец то с Синтаксис-Помощником, он замечательный парень!
пытаюсь, с июля пойду на курсы мне их порекомендовал Денис(МСК), надеюсь лучше будет, а пока надо как - то так, в таблицу значений я перегоняла номенклатуру и контрагентов из других дбф файлов, а из этих мне нужно создать уже документы, или удобнее будет через таблицу значений?
У XBASE есть метод Найти() и НайтиПоКЛючу() используйте их.
Наташик опять феерично колдует... :)

Делай так:

 - Переноси данные из ДБФС в таблицу значений (создаешь ТЗ, поля соответствующие полям ДБФС).
 - Устанавливай индекс в ТЗ по полю, в котором у тебя хранится значение из поля ID.
 - Выполняй обход записей ДБФ в цикле, создавай документы (с заполнением данных "шапки" документа) и находи соответствующие строки по ID в ТЗ (с помощью метода ТЗ "НайтиСтроки()").
 - Внутри первого цикла выполняй обход массива найденных в п.3 строк и заполняй строки документа.
Они вроде бы не позволяют найти сразу несколько строк...
Читают тему
(гостей: 1)

Быстрый переход