Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: И снова про принтера по умолчанию 7.7

v7: И снова про принтера по умолчанию  7.7
Я
   jah1111
 
27.05.21 - 17:02
в обработке выбора пинтера:


//*******************************************
Процедура Выполнить()
    принтерЧеков = сокрлп(табПринт.ПолучитьЗначение(табПринт.ТекущаяСтрока(),1));
константа.принтерЧеков = принтерЧеков;
предупреждение( принтерЧеков +" "+ "установлено как принтер чеков!");
КонецПроцедуры
//*******************************************
Процедура ПриОткрытии()
    
WshNetwork=СоздатьОбъект("WScript.Network");
Printers=WshNetwork.EnumPrinterConnections();
Н=0;
СписокПринтеров = СоздатьОбъект("СписокЗначений");

Пока Н <= Printers.Count()-1 Цикл

    СписокПринтеров.ДобавитьЗначение(Printers.Item(Н+1));
    Н=Н+2;
КонецЦикла;
СписокПринтеров.Выгрузить(табПринт);    

КонецПроцедуры


В ОТЧЕТЕ:

Процедура ЗамутитьОтчет()
//бла бла бла формируется отчет
Таб  = СоздатьОбъект("ТабличныйДокумент");
    Таб.ЗагрузитьИзТаблицы(Т);
    Таб.ПараметрыПечати.Ориентация = 1;
    Таб.ПараметрыПечати.ИмяПринтера = Константа.принтерЧеков ;

КонецПроцедуры




матерится - "заданный принтер не найден".

где косяк?
 
 Партнерская программа EFSOL Oblako
   Злопчинский
 
1 - 27.05.21 - 18:21
пробелы справа?
   Злопчинский
 
2 - 27.05.21 - 18:22
и.. это.. список принтеров можно попроще получать, Формексом, одной командой
   jah1111
 
3 - 27.05.21 - 22:20
(1) сокрлп() же использую... или Вы не о этом?
   acanta
 
4 - 27.05.21 - 22:26
(3) в константе какие параметры?
   jah1111
 
5 - 27.05.21 - 22:39
(4) тип  - строка, длина - 50
   jah1111
 
6 - 27.05.21 - 22:42
windows 10 pro 19042.985
платформа 27
если что
   Злопчинский
 
7 - 27.05.21 - 22:50
ну, для начала я бы тупо подставил принтер в штатные параметры штатной таблицы...
   vladmenleo
 
8 - 28.05.21 - 05:08
(0) Вот так надо
Таб.ПараметрыПечати.ИмяПринтера = СокрЛП(Константа.принтерЧеков);
   jah1111
 
9 - 28.05.21 - 09:38
(8) спасибо!
а откуда там мусор берется? я же в процедуре обработки скорлп() уже использовал
   vladmenleo
 
10 - 28.05.21 - 09:48
(9) Какой длины константа в конфигураторе, столько и получаешь
   vladmenleo
 
11 - 28.05.21 - 09:51
(9) у меня например константа.КаталогОбмена = \\KTS001.kt.local\KT\Обмен 1с\
а СтрДлина(константа.КаталогОбмена) = 255
   vladmenleo
 
12 - 28.05.21 - 09:52
(9) а вот так все норм СтрДлина(СокрЛП(константа.КаталогОбмена)) = 30
   Василий Алибабаевич
 
13 - 28.05.21 - 09:57
(9) Это так DBF-ах "string" хранится. Что бы запись всегда была одной длины. И было просто по номеру записи найти данные в файле. Терминатор строки не используется. И при этом строка дополняется/урезается до заданной длины.
   vladmenleo
 
14 - 28.05.21 - 10:10
(13) У нас SQL - то-же самое
   Василий Алибабаевич
 
15 - 28.05.21 - 10:26
(14) "У нас SQL" И что? 1С для скульных баз не применили специфичных типов данных. Взяли все те же что и для ДБФ. Только их скульные аналоги. Т. е. строки фиксированной длины.
   Василий Алибабаевич
 
16 - 28.05.21 - 10:29
+ (15) Это уже в восьмерке появились строки с "допустимая длина ПЕРЕМЕННАЯ". В семерке такого небыло. ЧерезПатамуЧта DBF так не умеет.
   Злопчинский
 
17 - 28.05.21 - 13:59
решение я еще в (1) подсказал

Список тем форума
 
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.