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

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

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С
))))....ню  при таком то коде


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
72 Сообщений
oooo800
33 Сообщений
IL2016
29 Сообщений
Дмитрий Джей Дмитрий Джей
29 Сообщений
antoneus antoneus
25 Сообщений
LexaK
23 Сообщений
DmitriyF DmitriyF
16 Сообщений
Ann_
16 Сообщений
мадам брошкина
13 Сообщений
alexandr_ll
11 Сообщений

* Кто онлайн

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

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal