Имя: Пароль:
1C
1C 7.7
v7: И снова про принтера по умолчанию 7.7
,
0 jah1111
 
27.05.21
17:02
в обработке выбора пинтера:


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

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

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

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


В ОТЧЕТЕ:

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

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




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

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