Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите разобраться с DBF  (Прочитано 12989 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rusrmm
Гость
« : 19-02-2009 14:10 » new

Есть файл DBF в из которого берутся данные для формирования платёжки,
Подскажите как мне нужные реквизиты перенести в печатную форму
Вот написал:
Перем ИмяПути, ИмяФайла;
Процедура ОткрТ()
   Файл = СоздатьОбъект("XBASE");
   ИмяФайла="*.dbf";
   ФС.ВыбратьФайл(0, ИмяФайла, ИмяПути, , "*.dbf|*.dbf", "dbf", );
   Каталог = ИмяПути + ИмяФайла;
КонецПроцедуры

Процедура Сформировать()
   Файл = создатьОбъект("XBASE");
   Файл.ОткрытьФайл(Каталог);
   Файл.КодоваяСтраница(1);   
   Если Файл.Открыта()=0 Тогда
      Сообщить("Не удалось открыть файл!");
   КонецЕсли;
   
   
   Файл.Первая();
   Пока Файл.ВКонце()=0 Цикл
      Таб = СоздатьОбъект("Таблица");
      Таб.ИсходнаяТаблица("Квитанция");
      Таб.ВывестиСекцию("Шапка");
      ЛицСчёт = Файл.LCZN;   
         ФИО=Файл.FIO;
      Таб.ВывестиСекцию("Подвал");
      Таб.Показать();
            Файл.Следующая();
   КонецЦикла;
КонецПроцедуры
 
но что-то не выходит, что делаю не так    Не понял
Записан
Naghual
Модератор

ua
Offline Offline
Пол: Мужской
ОПТИМИСТ


WWW
« Ответ #1 : 19-02-2009 14:27 » 

Что именно не выходит? Что не так?
В каком месте ошибка?

Телепаты в отпуске...
Записан
rusrmm
Гость
« Ответ #2 : 19-02-2009 14:32 » 

Из dbf не хочет в таблицу подстовлять значения LCZN и FIO, тупо мишет место ФИО и Лиц номера =>  LCZN и FIO
Записан
rusrmm
Гость
« Ответ #3 : 19-02-2009 14:52 » 

всё разобрался, выражение в таблице не стояло, но появилась проблема место нормального ФИО, появляюсться эроглефы, как быть ?
Записан
Naghual
Модератор

ua
Offline Offline
Пол: Мужской
ОПТИМИСТ


WWW
« Ответ #4 : 19-02-2009 15:00 » 

Кодовая страница неверная.
Либо при записи, либо при чтении.
Записан
rusrmm
Гость
« Ответ #5 : 20-02-2009 06:41 » 

Спасибо разобрался,  но есть ещё вопрос.  В dbf файле 6000 человек при выходе на печать создаются  6000 квитанций, как можно сделать что бы эти 6000 квитанций попадали в один файл для печати, а не по отдельности.
И ещё, как сделать что бы в таблице текст отражался по вертикале?  поясняю основной текст написан по горизонтали, а дополнительный по вертикале, тоесть перевёрнут.
« Последнее редактирование: 20-02-2009 07:00 от rusrmm » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 20-02-2009 07:44 » 

как можно сделать что бы эти 6000 квитанций попадали в один файл для печати, а не по отдельности.
Вынести создание и показ таблицы за цикл:
Код:
	Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Квитанция");
Таб.ВывестиСекцию("Шапка");
Файл.Первая();
Пока Файл.ВКонце()=0 Цикл
ЛицСчёт = Файл.LCZN;   
ФИО=Файл.FIO;
Таб.ВывестиСекцию("Подвал");
Файл.Следующая();
КонецЦикла;
Таб.Показать();

И ещё, как сделать что бы в таблице текст отражался по вертикале?
В свойствах ячейки закладка Положение Поле Ориентация (в градусах)
Записан
rusrmm
Гость
« Ответ #7 : 20-02-2009 08:07 » 

Спасибо Улыбаюсь,  с  надписью по вертикале всё получилось, а с печатью 6000 я так пробовал,
В одной платёжке он подставляет ФИО и Лец. Номер на  все 6000 человек.  Здесь была моя ладья...
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 20-02-2009 08:20 » 

У тебя выражения для вывода точно заданы в секции "Подвал"?
Прилепи таблицу "Квитанция" к сообщению
Записан
rusrmm
Гость
« Ответ #9 : 20-02-2009 08:51 » 

Прилепи таблицу "Квитанция" к сообщению
а по подробнее можно?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 20-02-2009 19:42 » 

создаешь новый файл, выбираешь Таблица
в своей обработке переключаешься в таблицу "Квитанция", выделяешь все (как в экселе - выше и левее ячейки 1-1), копируешь в буфер
Переключаешься на вновь созданную таблицу, тоже выделяешь все и вставляешь из буфера.
Сохраняешь как файл. Прикрепляешь здесь к сообщению.
Записан
rusrmm
Гость
« Ответ #11 : 24-02-2009 10:03 » 

СП всё получилось.
задам ещё один тупой вопрос  -  таблица выдается на печать в книжной форме, где в конфигураторе надо поменять, что бы она выдавалась в альбомном формате. Поддерживает ли 1С двухстороннею печать?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 24-02-2009 16:51 » 

двусторонняя печать - это функция принтера, а не программы
альбомная ориентация - читай:
Таблица.ПараметрыСтраницы() - первый параметр: ориентация
а также
Таблица.Опции(...ИмяОпцийПечати...) - сохранять настройки, выбранные пользователем (ориентация, поля, масштаб, ...), от таблицы к таблице
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines