![]() |
![]() |
![]() |
|
v7: не получается печать 2-мерных штрихкодов | ☑ | ||
---|---|---|---|---|
0
iomoe
23.07.09
✎
12:11
|
Есть информационная база (Бухгалтерия предприятия 1.6.16.6, платформа 1С 8.1.14.72 ).
Если она развернута на компьютере под управлением Windows XP, то печать 2-мерных штрихкодов в регламентированной отчетности происходит нормально. Если она развернута на компьютере под управлением Windows 2003 (64 bit) Server, сообщает о том, что "компоненте печати не удалось распознать формат файла выгрузки" и предлагает переустановить компоненту печати (3.0.9). Если помотреть отладчиком, то можно увидеть подробности: "Ошибка при вызове метода контекста (PreviewFile1C): Произошла исключительная ситуация (TAXDOCPrt): 0x8004000A Файл данных - не файл формата 2/3 : Не найдена сигнатура "ИдФайл:". Если посмотреть файл, то там есть сигнатура ИдФайл (и много чего другого): ИдФайл:7817036039**78170100120090723115627 ТипИнф:ОТЧЕТНОСТЬНП ВерсФорм:3.00 ИдПол:7817 ВерсПрог:1С:ПРЕДПРИЯТИЕ 8.1 БП 1.6.16.6 КолДок:1 НаимОтпрЮл:ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "..." ТелОтпр: ДолжнОтпр:ГЛАВНЫЙ БУХГАЛТЕР ФИООтпр:... @@@ ИдДок:7817036039**781701001200900000066 ДатаДок:23.07.2009 ### НаимЮЛПол:... ИННЮЛ:7817036039 КППЮЛ:781701001 ТелНП: ### ФИОРук:... УпПред: ### ПризФОтч:1 КНД:1151001 НаимФОтч:НАЛОГОВАЯ ДЕКЛАРАЦИЯ ПО НАЛОГУ НА ДОБАВЛЕННУЮ СТОИМОСТЬ ВерФОтч:3.00006 ПериодВерОтч:13.12.2006, ПризВидДок:1 ПризПериодОтч:3 НомерПериодОтч:02 ГодПериодОтч:2009 ОКЕИ:383 КолПокФОтч:72 ### ... ### @@@ === Кто с таким сталкивался, подскажите, где рыть? В чем может быть причина неработоспособности компоненты печати? |
|||
1
НикДляЗапросов
23.07.09
✎
12:14
|
Ошибка на сервере, под админом? проверь под админом
|
|||
2
iomoe
23.07.09
✎
12:43
|
(1) Ошибка и под админом.
|
|||
3
ИначеЕсли
23.07.09
✎
12:48
|
А если так?
Функция ВывестиМашиночитаемуюФорму(Форма, ИмяКнопки) Экспорт // сохраняем форму, если она не сохранена Если Форма.Модифицированность Тогда Если Вопрос("Перед печатью отчета требуется сохранить введеную информацию." + Символы.ПС + "Продолжить?", РежимДиалогаВопрос.ДаНет) <> КодВозвратаДиалога.Да ИЛИ НЕ Форма.Сохранить() Тогда Возврат Ложь; КонецЕсли; КонецЕсли; // формируем текст выгрузки во временный файл ВремФайл = ПолучитьИмяВременногоФайла(); Если НЕ СформироватьТекстВыгрузки(Форма, ВремФайл) Тогда Возврат Ложь; КонецЕсли; // извлекаем параметры сформированного файла выгрузки СтруктураПараметров = СформироватьСтруктуруПараметровФайлаВыгрузки(ВремФайл); КаталогВремФайлов = КаталогВременныхФайлов(); КаталогВремФайлов = ?(Прав(КаталогВремФайлов, 1) = "\", КаталогВремФайлов, КаталогВремФайлов + "\"); ВремКаталог = КаталогВремФайлов + Строка(Новый УникальныйИдентификатор) + "\"; СоздатьКаталог(ВремКаталог); // выгружаем во временный каталог шаблоны печати, соответствующие сформированному файлу выгрузки Если НЕ ВыгрузитьШаблоныПечатиВКаталог(Форма, ВремКаталог, СтруктураПараметров["КНД"], ?(СтруктураПараметров["ЭтоXML"], СтруктураПараметров["ВерсФорм"], СтруктураПараметров["ВерФОтч"])) Тогда Возврат Ложь; КонецЕсли; Результат = Истина; КомпонентаУжеУстанавливалась = Истина; // пытаемся создать объект для формирования машиночитаемой формы ТаксДокПринт = Неопределено; Попытка ТаксДокПринт = Новый COMОбъект("TAXDOCPrt.TAXDOCPrint"); Исключение // если не удалось создать объект, то спрашиваем у пользователя, хочет ли он установить компоненту Если Вопрос("Для формирования машиночитаемой формы необходимо установить в системе вспомогательную компоненту. |Установить компоненту сейчас?", РежимДиалогаВопрос.ДаНет) <> КодВозвратаДиалога.Да Тогда Результат = Ложь; Иначе // если не удалось создать объект и пользователь не против, то запускаем установку компоненты Если НЕ УстановитьКомпонентуПечатиМашиночитаемыхФорм(Истина) Тогда Предупреждение("Формирование машиночитаемой формы прервано: в системе не установлена вспомогательная компонента."); Результат = Ложь; Иначе ТаксДокПринт = Новый COMОбъект("TAXDOCPrt.TAXDOCPrint"); КомпонентаУжеУстанавливалась = Истина; КонецЕсли; КонецЕсли; КонецПопытки; Если ТаксДокПринт <> Неопределено Тогда Попытка ТаксДокПринт.PrintTiffFolder = ВремКаталог; НаименованиеИФНС = ОпределитьНаименованиеИФНСПолучателяОтчета(Форма); Если ЗначениеЗаполнено(НаименованиеИФНС) Тогда ТаксДокПринт.SetPrintTiffParam1C("Наименование налогового органа-получателя", НаименованиеИФНС); КонецЕсли; Если ИмяКнопки = "ПечататьМашиночитаемыйБланк" Тогда ТаксДокПринт.PrintFile(ВремФайл, "", "", 0); Иначе ТаксДокПринт.PreviewFile1C(ВремФайл, 0); КонецЕсли; Результат = Истина; Исключение //* Закомментировал Кравцов ОбработатьОшибкуМодуляПечати(ИнформацияОбОшибке().Описание); ТаксДокПринт = Неопределено; // * Конец комментария - Кравцов Результат = Ложь; КонецПопытки; КонецЕсли; //Elit_Sol_20081001 {На некоторых компьютерах траблы //с региональными настройками и стандартный файл не читается, сформируем свой //Если НЕ Результат Тогда // Текст1 = Новый ТекстовыйДокумент; // Текст1.Прочитать(ВремФайл, КодировкаТекста.ANSI); // ТекстСтр1 = Текст1.ПолучитьТекст(); // // Текст2 = Новый ТекстовыйДокумент; // МестоВставки = Найти(ВремФайл, "v8_"); // НашПуть = Сред(ВремФайл, 1, МестоВставки - 1) + "_temp.txt"; // Для СчетчикСтрок = 1 По СтрЧислоСтрок(ТекстСтр1) Цикл // Стр = СтрПолучитьСтроку(ТекстСтр1, СчетчикСтрок); // Текст2.ВставитьСтроку(СчетчикСтрок, Стр); // КонецЦикла; // // Текст2.Записать(НашПуть, КодировкаТекста.ANSI); // // Попытка // ТаксДокПринт.PrintTiffFolder = ВремКаталог; // НаименованиеИФНС = ОпределитьНаименованиеИФНСПолучателяОтчета(Форма); // Если ЗначениеЗаполнено(НаименованиеИФНС) Тогда // ТаксДокПринт.SetPrintTiffParam1C("Наименование налогового органа-получателя", НаименованиеИФНС); // КонецЕсли; // Если ИмяКнопки = "ПечататьМашиночитаемыйБланк" Тогда // ТаксДокПринт.PrintFile(НашПуть, "", "", 0); // Иначе // ТаксДокПринт.PreviewFile1C(НашПуть, 0); // КонецЕсли; // Результат = Истина; // Исключение // ОбработатьОшибкуМодуляПечати(ОписаниеОшибки().Описание); // ТаксДокПринт = Неопределено; // Результат = Ложь; // КонецПопытки; //КонецЕсли; //Elit_Sol_20081001 } ТаксДокПринт = Неопределено; УдалитьВременныйКаталогШаблонов(ВремКаталог); Возврат Результат; КонецФункции |
|||
4
ИначеЕсли
23.07.09
✎
12:52
|
ой, неправильно скопипастил
|
|||
5
iomoe
23.07.09
✎
12:54
|
(4) Идея понятна - принудительно поставить ANSI кодировку. Попробую.
|
|||
6
ИначеЕсли
23.07.09
✎
12:54
|
Должны быть закомментированы:
//ОбработатьОшибкуМодуляПечати(ИнформацияОбОшибке().Описание); //ТаксДокПринт = Неопределено; А после //Elit_Sol_20081001 {На некоторых компьютерах траблы раскомментированы |
|||
7
ИначеЕсли
23.07.09
✎
12:55
|
(5) да
|
|||
8
iomoe
23.07.09
✎
13:35
|
(7) Спасибо, получилось.
|
|||
9
ИначеЕсли
23.07.09
✎
14:51
|
(8) пожалуйста
сам убил дох время с этим найти ошибку в региональных настройках не получилось... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |