Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Бухгалтерия 8]

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

Studentca
читатель
офлайн
Дата регистрации: 21.10.2011
Сообщений: 91
Пост №1
 
27.06.2012 08:53

"Подскажите, пожалуйста! Как правильно загрузить данные из двух дбф файлов. у меня он очень долго обрабатывает и не выводит сообщение "Сообщить(ДБФС.AMOUNT + " нашли!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");", хотя данные такие должны быть.<br> <br>ДБФ = Новый XBase;<br> ДБФС = Новый XBase;<br><br> ДБФ.ОткрытьФайл(ВыбФайлНакл,,Истина); <br> ДБФС.ОткрытьФайл(ВыбФайлСостав, , Истина);<br><br> СтарНомер = """"; <br> ПервыйРаз = 1;<br> Записать = Ложь;<br> Для НК = 1 По ДБФ.КоличествоЗаписей() Цикл<br><br> Для Н = 1 По ДБФС.КоличествоЗаписей() Цикл<br><br> ДБФС.Перейти(Н);<br> ДБФ.Перейти(НК);<br> <br> ОбработкаПрерыванияПользователя();<br> ДБФ.ID = "801164878";<br> Кол = ДБФ.ID;<br> Если Кол = ДБФС.NI_ID Тогда <br> Сообщить(ДБФС.AMOUNT + " нашли!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");<br> ИначеЕсли НЕ Кол = ДБФС.NI_ID Тогда <br> Сообщить(ДБФС.NI_ID);<br> КонецЕсли;<br><br>КонецЦикла;"

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20947
Пост №2
 
27.06.2012 08:59

"- Где вторый цикл заканчивыается и вообще зачем 2 цикла<br> - Зачем ДБФ.ID = "801164878"; ? Не проще сразу сравнивать с "801164878" ?<br> - Условие в ИначеЕсли вообще абсурдное, потому как все равно сюда попадет если первое не отработает."

Studentca
читатель
офлайн
Дата регистрации: 21.10.2011
Сообщений: 91
Пост №3
 
27.06.2012 09:14

"Это не весь цикл (конец второго не попал в копирование, но он есть), как можно обойтись без второго цикла, чтобы найти значение из ДБФС? По 3 возможно так условие писать:<br> <br>Если Кол = ДБФС.NI_ID Тогда <br> Сообщить(ДБФС.AMOUNT + " нашли!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");<br> ИначеЕсли<br> Сообщить(ДБФС.NI_ID);<br> КонецЕсли;"

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20947
Пост №4
 
27.06.2012 09:20

Всю задачу опишите, а то пока похоже на быдлокод, как говорит Денис(МСК).

Studentca
читатель
офлайн
Дата регистрации: 21.10.2011
Сообщений: 91
Пост №5
 
27.06.2012 09:23

Необходимо из двух дбф файлов (соединяемых по ID) создать документы, пока я пытаюсь найти первый дбф основной, через него мне нужно получить данные из дбфс, пока я хочу для первого значения из дбф получить количество в дбфс.

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20947
Пост №6
 
27.06.2012 09:32

А если их сначала загнать в таблицу значений, а уже потом обрабатывать? И подружись наконец то с Синтаксис-Помощником, он замечательный парень!

Studentca
читатель
офлайн
Дата регистрации: 21.10.2011
Сообщений: 91
Пост №7
 
27.06.2012 09:37

пытаюсь, с июля пойду на курсы мне их порекомендовал Денис(МСК), надеюсь лучше будет, а пока надо как - то так, в таблицу значений я перегоняла номенклатуру и контрагентов из других дбф файлов, а из этих мне нужно создать уже документы, или удобнее будет через таблицу значений?

Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20947
Пост №8
 
27.06.2012 10:19

У XBASE есть метод Найти() и НайтиПоКЛючу() используйте их.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №9
 
27.06.2012 10:37

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

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №10
 
27.06.2012 10:38

Они вроде бы не позволяют найти сразу несколько строк...

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация