Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Фев 2018, 04:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: помогите разобраться  (Прочитано 2717 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rusrmm

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-08-26
  • Сайт: 
написал обработку, но что-то не так, в чём дело не могу понять.
Описание:обработка должна в dbf файлах находить лицевые счета и выводить на печать таблицу с данными.
Вроде всё правильно, а не выходит(((

//*******************************************
Процедура Сформировать()
   ПутьКПапкеСdbfФайлами="C:\Новая папка\";
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица");
   ИмяФайла = ФС.НайтиПервыйФайл(ПутьКПапкеСdbfФайлами+"*.dbf");
   Файл = СоздатьОбъект("XBASE");
   Найден=0;
   Пока ПустаяСтрока(ИмяФайла) = 0 Цикл
      Если (ИмяФайла <> "..") И (ИмяФайла <> ".") Тогда
         Файл.ОткрытьФайл(ПутьКПапкеСdbfФайлами+ИмяФайла,"");
         сообщить(ИмяФайла);
         Файл.КодоваяСтраница(1);
         Файл.Первая();   
         Пока Файл.ВКонце()=0 Цикл
            Если ЛСчёт=Файл.LCZN тогда
               ЛицСчёт = Файл.LCZN;   
               ФИО=Файл.FIO;
               Улица=Файл.uli;
               Кв=Файл.kwa;
               Дом=Файл.dom;
               Долг=Файл.dolg;
               ДНГ=Файл.saldo;
               ВсегоНач=Файл.wsego;
               ВсегоУпл=Файл.summa;
               Сумма1=Файл.summa1;
               Сумма2=Файл.summa2;
               Сумма3=Файл.summa3;
               Сумма4=Файл.summa4;
               Сумма5=Файл.summa5;
               Сумма6=Файл.summa6;
               Сумма7=Файл.summa7;
               Сумма8=Файл.summa8;
               Сумма9=Файл.summa9;
               Сумма10=Файл.summa10;
               Сумма11=Файл.summa11;
               Сумма12=Файл.summa12;
               Дата1=Файл.n1;
               Дата2=Файл.n2;
               Дата3=Файл.n3;
               Дата4=Файл.n4;
               Дата5=Файл.n5;
               Дата6=Файл.n6;
               Дата7=Файл.n7;
               Дата8=Файл.n8;
               Дата9=Файл.n9;
               Дата10=Файл.n10;
               Дата11=Файл.n11;
               Дата12=Файл.n12;
               Если Месяцы.ТекущаяСтрока()=1 Тогда
                  Месяц="Январь";
                  ЗП=Файл.dolg-Файл.na1;
                  ЗаМесяц=Файл.tar1-Файл.lll1/100;
                  Если Файл.lll1=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na1<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=2 Тогда
                  Месяц="Февраль";
                  ЗП=Файл.dolg-Файл.na2;
                  ЗаМесяц=Файл.tar2-Файл.lll2/100;
                  Если Файл.lll2=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na2<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=3 Тогда
                  Месяц="Март";
                  ЗП=Файл.dolg-Файл.na3;
                  ЗаМесяц=Файл.tar3-Файл.lll3/100;
                  Если Файл.lll3=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na3<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=4 Тогда
                  Месяц="Апрель";
                  ЗП=Файл.dolg-Файл.na4;
                  ЗаМесяц=Файл.tar4-Файл.lll4/100;
                  Если Файл.lll4=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na4<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=5 Тогда
                  Месяц="Май";
                  ЗП=Файл.dolg-Файл.na5;
                  ЗаМесяц=Файл.tar5-Файл.lll5/100;
                  Если Файл.lll5=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na5<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=6 Тогда
                  Месяц="Июнь";
                  ЗП=Файл.dolg-Файл.na6;
                  ЗаМесяц=Файл.tar6-Файл.lll6/100;
                  Если Файл.lll6=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na6<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=7 Тогда
                  Месяц="Июль";
                  ЗП=Файл.dolg-Файл.na7;
                  ЗаМесяц=Файл.tar7-Файл.lll7/100;
                  Если Файл.lll7=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na7<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=8 Тогда
                  Месяц="Август";
                  ЗП=Файл.dolg-Файл.na8;
                  ЗаМесяц=Файл.tar8-Файл.lll8/100;
                  Если Файл.lll8=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na8<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=9 Тогда
                  Месяц="Сентябрь";
                  ЗП=Файл.dolg-Файл.na9;
                  ЗаМесяц=Файл.tar9-Файл.lll9/100;
                  Если Файл.lll9=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na9<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=10 Тогда
                  Месяц="Октябрь";
                  ЗП=Файл.dolg-Файл.na10;
                  ЗаМесяц=Файл.tar10-Файл.lll10/100;
                  Если Файл.lll10=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na10<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=11 Тогда
                  Месяц="Ноябрь";
                  ЗП=Файл.dolg-Файл.na11;
                  ЗаМесяц=Файл.tar11-Файл.lll11/100;
                  Если Файл.lll11=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na11<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;
               
               Если Месяцы.ТекущаяСтрока()=12 Тогда
                  Месяц="Декабрь";
                  ЗП=Файл.dolg-Файл.na12;
                  ЗаМесяц=Файл.tar12-Файл.lll12/100;
                  Если Файл.lll12=50 тогда
                     Льгота="Есть";
                  иначе
                     Льгота="Нет";
                  КонецЕсли;
                  
                  Если Файл.dolg-Файл.na12<0 тогда
                     Зад_Пер="Переплата"
                  иначе
                     Зад_Пер="Задолженность"
                  КонецЕсли;
               КонецЕсли;               
               Таб.ВывестиСекцию("С1");
               Таб.ВывестиСекцию("С2");
               Таб.Показать();
               Найден=1;
               Прервать;
            Иначе
            КонецЕсли;
         КонецЦикла;
         Если Найден=1 Тогда
            Прервать;
         КонецЕсли;
      КонецЕсли;
      ИмяФайла = ФС.НайтиСледующийФайл();
   КонецЦикла;
   Файл=0;
   
КонецПроцедуры


Месяцы.ДобавитьЗначение("Январь","Январь");
Месяцы.ДобавитьЗначение("Февраль","Февраль");
Месяцы.ДобавитьЗначение("Март","Март");
Месяцы.ДобавитьЗначение("Апрель","Апрель");
Месяцы.ДобавитьЗначение("Май","Май");
Месяцы.ДобавитьЗначение("Июнь","Июнь");
Месяцы.ДобавитьЗначение("Июль","Июль");
Месяцы.ДобавитьЗначение("Август","Август");
Месяцы.ДобавитьЗначение("Сентябрь","Сентябрь");
Месяцы.ДобавитьЗначение("Октябрь","Октябрь");
Месяцы.ДобавитьЗначение("Ноябрь","Ноябрь");
Месяцы.ДобавитьЗначение("Декабрь","Декабрь");


Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
Ну если сам такое написалл,,,наверняка отладчиком пользоватьсо умеешь,,,там и копай--куда у тибя значения пропадают

Оффлайн rusrmm

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-08-26
  • Сайт: 
В том то и дело, даже с отладчиком не могу понять.
всё доходит до строчки   "Если ЛСчёт=Файл.LCZN тогда"   и виснет, но если стоит мне указать dbf файл полностью без поиска "Файл.ОткрытьФайл("BDN00.dbf");" всё работает.
А таких файлов много и к каждый прописывать(((

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
имя файла dbf" не должно превышать 5 знаков.

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
есть такие штатные ограничения платформы,,,попробуй уменьшить длинну файлов и доступ открыть сразу к расшаренной папке

Оффлайн rusrmm

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-08-26
  • Сайт: 
Нашёл свою ошибку!!!!  Всё заработало )))

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
опиши для великого разума.было то что

Оффлайн rusrmm

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-08-26
  • Сайт: 
что было в конце

     Таб.ВывестиСекцию("С1");
               Таб.ВывестиСекцию("С2");
               Таб.Показать();
               Найден=1;
               Прервать;
            Иначе
            КонецЕсли;
         КонецЦикла;
         Если Найден=1 Тогда
            Прервать;
         КонецЕсли;
      КонецЕсли;
      ИмяФайла = ФС.НайтиСледующийФайл();
   КонецЦикла;
   Файл=0;
   
КонецПроцедуры



а вот как надо было (сам не понял как проглядел, стыдно аж ((( )

   Таб.ВывестиСекцию("С1");
               Таб.ВывестиСекцию("С2");
               Таб.Показать();
               Найден=1;
               Прервать;
            Иначе
               Файл.Следующая();
            КонецЕсли;
         КонецЦикла;
      КонецЕсли;
      Файл.ЗакрытьФайл();
      Если Найден=1 Тогда
         Прервать;
      иначе
         ИмяФайла = ФС.НайтиСледующийФайл();
      КонецЕсли;      
   КонецЦикла;
   Файл=0;
   
КонецПроцедуры

Оффлайн Myti

  • *****
  • Сообщений: 679
  • РЕПУТАЦИЯ: 79
  • КПД: 12%
  • Любые работы по автоматизации вашего бизнеса!!!
  • Регистрация: 2009-10-12
  • Компания: Infostart.ru
  • Профессия: Программист 1С
))))....ню  при таком то коде


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
189 Сообщений
AIFrame AIFrame
81 Сообщений
alexandr_ll
41 Сообщений
BuhRust
29 Сообщений
wise wise
27 Сообщений
oleg-x
26 Сообщений
MuI_I_Ika MuI_I_Ika
25 Сообщений
pavl_vs
22 Сообщений
Кейли Кейли
21 Сообщений
andron81_81
20 Сообщений

* Кто онлайн

  • Точка Гостей: 193
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal