1с напечатать текстовый документ
не всегда - мы делали у клиента на игольчатый принтер, со вшитой кодировкой ДОС.
Скорость печати примерно раза в 3 превышает лазерник, Стоимость - на порядок меньше, объемы - офигительные.
так что задача стоит траха.
Да ты еще скажи, что один голыми руками на Волге можешь движок сменить.
(12) матрЁночные принтеры сейчас рулят только на быстрых конвейерах, где надо в коробку к каждому изделию класть многослойный лист-гарантию (типа как у матричных эпсонов когда-то было).
(10)"со вшитой кодировкой ДОС. " а типа есть со вшитой кодировкой Windows?
Имеем такие, печатаем в тексте, скорость намана, но меньше лазера, шума много, единственный фактор в их пользу - оччень дешевая печать, объемы большие, вот и держим пока не развалятся.
Специальный принтер Эпсон (А5 на ленте), головка широной во весь лист, скорость печати от 30 до 60 чеков (счетов) в минуту с автоотрезом.
Количество зависит от объема печати в счете (чеке)
Стоит дорого, но печатать счета населению - самое то.
Красящая лента - на 50-100 тыс счетов хватает, дешевая.
(17) у тебя 2180 - обычный матричник. с обычной головкой
А у нас был специализированный. Вот тот летал.
(18) Да и 2180 не сказать, что тормоз. А был еще монстр, который тоже сразу строку печатал, мы на нем из соображений экономии расчетки в текстовом режиме печатали - вот то зверь машина.
быстрый. но не взлетает.
просто для массовой печати счетов и чеков есть специализированные решения.
Вот они - как истребители.
Подскажите пожалуйста как мне распечатать документ.txt из модуля формы?
Файл = Новый ЧтениеТекста("C:\тест.txt",КодировкаТекста.OEM);
Файл.Прочитать();
(1)
Нужно его автоматически распечатать или только показать?
тд = Новый ТекстовыйДокумент;
Тд.Прочитать("C:\тест.txt");
Тд.Показать();
ай блин - это только с ТабДоками будет работать(((
(10) (1) Печать текстовых документов встречал только в Чеках, но там через драйвер кассы или принтера чеков. В (2) сказали, как это сделать. Это не долго. Макет с 1 областью, с 1 ячейкой на всю страницу и 1 параметром, в который устанавливается текст из файла. (34) у блокнота нет ком-интерфейса.Но есть /P - ключ командной строки (37) Было. Но зачем упираться в винду, если можно сделать кросс-платформенно и без внешних зависимостей? (38)А проанализировать тип ОС и выдать команду для нее тоже не кроссплатформенно? Гораздо интереснее заниматься BDSM на страницу кода. (39) За избавление от внешних зависимостей я готов платить и больше, чем лишним десятком строк кода. Кроме как через табличный документ никаких идей не приходит (если без внешних скриптов). Установить у первой ячейки табличного документа подходящую ширину, признаки переноса и т.п, присвоить ячейке весь текст табличного документа и напечатать :) Нужна печать слипчека с банковского терминала?
У него штатная ширина 32 или 48 символов
Делал такое для китайского принтера чеков
(4) В смысле "как"? Как два пальца, если вообще с табличными документами работал. Файл = Новый ЧтениеТекста("C:\тест.txt",КодировкаТекста.OEM);
Файл.Закрыть();
ФайлЭкваринга = Новый ТекстовыйДокумент;
ФайлЭкваринга.Прочитать("C:\тест.txt",КодировкаТекста.OEM);
ФайлЭкваринга.Показать();
Выводит, все хорошо, теперь как сделать что бы автоматически печатался?
Метода у текстового документа ".Напечатать" нет. Есть что нибудь попроще? что бы к системе не обращаться?
Предложу свой вариант, который хоть и затрагивает систему, зато содержит минимум кода. При этом обеспечивает гибкость в настройках печати без дальнейшей модификации 1С.
А именно: установить в системе утилиту печати текстовых файлов на любом Win-принтере, лучшая из известных мне - бесплатная SPrint .
Тогда задача сводится к копированию распечатываемого файла в файл с именем, которое отслеживается этой утилитой.
Для этого в 1С достаточно всего одной команды КопироватьФайл(), даже не читая его. Ну, или можно прочитать и тут же записать прочитанный текст в файл с именем, заданным в настройках Sprint. А утилита его подхватит и распечатает.
Пример использования текстового макета
1C:Предприятие 8 предоставляет возможность формировать выходные формы (документы, отчеты) на основе текстового документа. Часто вывод информации в текстовый документ очень удобен, поскольку во многих случаях текстовый файл можно, например, быстро напечатать на матричном принтере или передать в другую программу.
Рассмотрим устройство текстового макета и пример его использования.
В демонстрационной конфигурации для документа "Расходная накладная" существует процедура печати документа в текстовый файл. Откроем документ "Расходная накладная" и в нижней части формы документа нажмем кнопку "Текстовая печать":
В отдельном окне будет открыт текстовый документ, в который выведен документ "Расходная накладная":
Для обеспечения такой функциональности нужно создать текстовый макет и программный код, который будет открывать макет и на его основе формировать текстовый документ.
Текстовый макет
Для создания текстового макета в дереве конфигурации нужно добавить новый макет для документа "Расходная накладная", указав, что создаваемый макет будет содержать текстовый документ:
Созданный текстовый макет - обычный текстовый файл, в котором в виде текста описывается содержание макета.
Для документа "Расходная накладная" макет состоит из нескольких областей: "Заголовок", "Шапка", "СоставШапки", "Состав", "Подвал".
В области "Заголовок" размещен текст "Расходная накладная".
В области "Шапка " выводятся номер документа и дата. Место для вывода номера документа размечено с помощью конструкции:
Для вывоода даты - с помощью конструкции:
Для вывода контрагента - с помощью конструкции:
Во второй строке выводится текст, не уместившийся на первой строке.
Для вывода даты указан формат вывода:
В области "СоставШапка" размещен заголовок таблицы, в котором указывается название для колонок.
В области "Состав" размещена строка для вывода строк табличной части расходной накладной:
1) реквизит "Номенклатура" - расположение размечено с помощью текста
и указания в конце имени поля, которое должно выводиться на месте квадратных скобок без имени поля внутри:
2) реквизит "Количество" - расположение размечено с помощью текста:
3) реквизит "Цена" - расположение размечено с помощью текста:
4) реквизит "Сумма" - расположение размечено с помощью текста
Дополнительно в области отчета "Состав" указан формат вывода полей "Количество", "Цена " и "Сумма ". Для них указано правое выравнивание, поскольку это числовые данные, и форматная строка "ЧЦ=4; ЧДЦ=0; ЧРД=.":
На тот случай, если наименование хранит достаточно длинный текст, который не поместится на одной строке, предусмотрен его вывод на несколько строк. Это сделано с помощью строк макета:
В них указано, что в первой колонке будет выводится значение поля "Номенклатура". Угловые скобки на второй строке показывают, что строка будет выводиться только в том случае, если есть что в ней выводить: например, содержимое поля "Номенклатура" полностью не уместилось в одну строку и выводится еще одна строка.
В области "Подвал" выводится итоговое значение по полю "Сумма", которое будет сформировано программно:
При этом, для поля "СуммаИтого" также указано правое выравнивание и форматная строка:
Программный код
Для вывода расходной накладной в текстовый файл, в форме "ФормаДокумента" документа "РасходнаяНакладная" размещена процедура ОсновныеДействияФормыТекстоваяПечать . Она вызывается при нажатии на кнопку "Текстовая печать" в форме.
В процедуре создается текстовый макет (переменная ТекстДок), в который будут выводиться данные. Далее получается текстовый макет (переменная Макет), из которого поочередно получаются области "Заголовок", "Шапка", "СоставШапка", "Состав" и "Подвал". Для каждой из полученных областей заполняются значения параметров и выводится в текстовый документ.
После окончания формирования содержимого текстового документа, он открывается для просмотра и редактирования.
Текстовый документ — это общий объект встроенного языка. Он позволяет представлять различную информацию (в том числе и результаты отчетов) в виде текстов.
Текстовый документ может быть прочитан из текстового файла, сохранен в текстовый файл. Он может быть размещен в форме или в макете, работа с ним возможна средствами встроенного языка.
Также текстовый документ может быть создан интерактивно в режиме Конфигуратор или в режиме 1С:Предприятие.
Макеты текстовых документов
Система 1С:Предприятие 8 поддерживает создание текстовых макетов, на основании которых средствами встроенного языка могут быть сформированы текстовые документы для отображения отчетов и форм первичных документов в текстовом виде.
Такие макеты могут быть добавлены в прикладное решение с помощью объектов конфигурации Макет.
Текстовый макет описывает области, содержащие выводимый текст и поля, в которые будут выведены вычисляемые значения:
Сформированный на основании этого макета текстовый документ будет иметь следующий вид:
- создание именованных областей макета с указанием языка для области;
- описание размещения полей текстового макета;
- описание формата вывода данных поля;
- описание выравнивания для поля;
- описание автоматического переноса представления значения поля на следующую строку при формировании отчета;
- использование забивки, если длина текст больше отведенного размера поля;
- формирование текстового макета в виде, максимально приближенном к формируемому на его основе отчету или форме первичного документа.
Редактор текстов
Для создания и редактирования текстовых документов разработчик может использовать специальный редактор текста и модуля.
Читайте также: