arefaste/1C_Forums huggingface dataset:
Обращаясь к функции глобального контекста "ПолучитьФайл(<Адрес>, <ИмяФайла>, <Интерактивно>)" выдаёт ошибку вида:

Ошибка при выполнении файловой операции '/e1cib/tempstorage/51651fac-ad30-11e9-889f-002590ec2f10?seanceId=0af4958e-ad30-11e9-889f-002590ec2f10'. Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено)

Если параметр Интерактивно выставить Истина и через диалог выбора указать файл, то ошибки не возникает, то же наблюдается и при получении пути в переменной сФайл через диалог выбора. Код ниже. Что делаю не так?

ПолучитьКонстантуНаСервере("ПутьДоФайла") - возвращает строку: "C:\путь\1.txt" - тот путь где файл сохранён и находится.

```1c
    сПуть =";
    ВыгрузитьНаСервере(сПуть);

    сФайл = ПолучитьКонстантуНаСервере("ПутьДоФайла");
    ПолучитьФайл(сПуть,сФайл,Ложь);
```
---
сПуть = ПоместитьВоВременноеХранилище(сДДанные);
Нужно добавить идентификатор.

```1c
    сПуть = ПоместитьВоВременноеХранилище(сДДанные, Новый УникальныйИдентификатор);
```

Если этот код на форме, тогда можно указать идентификатор формы.
---
клиент какой? Веб? В веб-клиенте не интерактивный режим не поддерживается.
---
тонкий
---
тогда показывайте код в ВыгрузитьНаСервере(сПуть)
---
сДанные - это Массив.

```1c
    СтрокаДанные = ";
    Для каждого сЭлемент Из сДанные Цикл
    СтрокаДанные =СтрокаДанные+сЭлемент+";";
    КонецЦикла;

    сТекДок = Новый ТекстовыйДокумент;
    сТекДок.ДобавитьСтроку(СтрокаДанные);

    ИмяФайла = ПолучитьИмяВременногоФайла();
    //
    сТекДок.Записать(ИмяФайла,"windows-1251");

    сДДанные = Новый ДвоичныеДанные(ИмяФайла);

    сПуть = ПоместитьВоВременноеХранилище(сДДанные);
```
---
сПуть = ПоместитьВоВременноеХранилище(сДДанные);
Нужно добавить идентификатор.

```1c
    сПуть = ПоместитьВоВременноеХранилище(сДДанные, Новый УникальныйИдентификатор);
```

Если этот код на форме, тогда можно указать идентификатор формы.
---
Новый УникальныйИдентификатор

Спасибо, это помогло!
Добрый день!
В справочнике "Партнеры" создал несколько дополнительных реквизитов:
Допустим,
1) Важность (тип знач. - доп.значение: важный / не важный)
2) Условия оплаты (тип знач. - доп.значение)
3) Активность (тип знач. - доп.значение: покупает много и часто / покупает мало и редко)
Хочу создать отчет, в котором бы выводился партнер и значения каждого из этих доп.реквизитов.
А также нужно, чтобы в шапке отчета были отборы по всем перечисленным доп.реквизитам, т.е. было поле "Важность" и поле выбора: важный - не важный, аналогично "условия оплаты", "активность".
Собственно вопрос: как реализовать такие отборы в отчете? В идеале средствами СКД, а если невозможно, то программно?
Спасибо
---
ну тогда или через характеристики, или через столько левых соединений, сколько реквизитов добавлено:
```1c
    ВЫБРАТЬ ... ИЗ Движения КАК Т1
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДопРеквизиты КАК Важность
    ПО Т1.Партнер = Важность.Ссылка И Важность.Реквизит = &Важность
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДопРеквизиты КАК Срочность
    ПО Т1.Партнер = Срочность.Ссылка И Срочность.Реквизит = &Срочность
    ...
```

В итоге в отборах появится и важность, и срочность, и прочее...
---
Посмотрите какой-нибудь пример работы с характеристиками в СКД, например тут
http://forum.infostart.ru/forum9/topic42095/message450131/#message450131
Или вам надо с новым механизмом характеристик?
---
Что такое "новые механизмы характеристик"?
---
добавляешь в отборы "Партнер.Важность" и т.д. Правой кнопке на отчете, свойства элементов пользовательских настроек, ставишь нужные галочки. Можно просто на элементе отбора ту же кнопку и те же галочки...
---
"Партнер.Важность" я не могу написать, т.к. реквизит "Важность" - это не реквизит, добавленный в конфигурацию, а реквизит, который хранится в табличной части "Партнеры.ДополнительныеРеквизиты"
---
ну тогда или через характеристики, или через столько левых соединений, сколько реквизитов добавлено:
```1c
    ВЫБРАТЬ ... ИЗ Движения КАК Т1
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДопРеквизиты КАК Важность
    ПО Т1.Партнер = Важность.Ссылка И Важность.Реквизит = &Важность
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДопРеквизиты КАК Срочность
    ПО Т1.Партнер = Срочность.Ссылка И Срочность.Реквизит = &Срочность
    ...
```

В итоге в отборах появится и важность, и срочность, и прочее...
---
Да! Точно! Спасибо большое!
---
И Важность.Реквизит =
подскажите, пожалуйста, что подразумевается под реквизит ???
---
???
 Что это?
---
Важность.Реквизит что вы подразумеваете под Реквизит?
у меня подобная задача, как у автора темы - не могу разобраться. Ведь у ДопРеквизитов доступны поля свойство, значение..
---
это не "Доп".
---
Спасибо, странно : "В справочнике "Партнеры" создал несколько дополнительных реквизитов"
Есть внешняя обработка.
Не могу понять откуда заполняется атрибут ФорматВыгрузки.
Ни в модуле обработки ни в модуле формы кода, который заполняет этот атрибут не нашел.
Просто мистика какая то
---
Элемент формы "Формат" - Список выбора - СберБанк 3.4(СберБанк 3.4), ВТБ(ВТБ), Росбанк(Росбанк), Росбанк (1)(Росбанк (1)), Альфабанк(Альфабанк), Газпромбанк(Газпромбанк).

Матчасть.
---
В поле списоквыбора у элемента формы
---
Элемент формы "Формат" - Список выбора - СберБанк 3.4(СберБанк 3.4), ВТБ(ВТБ), Росбанк(Росбанк), Росбанк (1)(Росбанк (1)), Альфабанк(Альфабанк), Газпромбанк(Газпромбанк).

Матчасть.
---
В поле списоквыбора у элемента формы
---
Спасибо!
Сделано две обработки. Отличаются тем, что в одной есть реквизит формы "Контрагенты" и типом "Список значений", во второй - "Типы цен" также с типом "Список значений". В формах обеих обработок указано "Сохранять значения" и поставлены галки у этих реквизитов.
Если открыть и подобрать контрагентов в первой обработке, то при повторном ее открытии подобранные контрагенты сохраняются.
Но, если запустить вторую обработку и подобрать в ней типы цен, то при запуске первой обработки реквизит "Контрагенты" оказывается пустым. Аналогичное влияние оказывает и первая обработка на вторую.
Может ли кто-нибудь помочь разобраться в этой проблеме ?
Обработки в упрощенном варианте прикреплены.
---
Значения сохраняются в самих формах. Как я понял, Вы скопировали одну обработку и сделали вторую. Решение: Добавьте копированием основную форму одной из обработок и назначьте ее основной, а старую удалите. Просто у обоих обработок одинаковые уникальные идентификаторы основных форм.
---
Значения сохраняются в самих формах. Как я понял, Вы скопировали одну обработку и сделали вторую. Решение: Добавьте копированием основную форму одной из обработок и назначьте ее основной, а старую удалите. Просто у обоих обработок одинаковые уникальные идентификаторы основных форм.
---
Вы правы !
---
Можно было бы предположить, что реквизиты с типом "Список значений" вообще не сохраняются, но, если пользоваться только одной обработкой, то все нормально.
Вот при переходе с релиза 3.0.70 на релиз 3.0.71 внешняя обработка теперь выдает следующую ошибку

{ВнешняяОбработка.Реализация_Проценты_Новая.Форма.Форма.Форма(649)}: Метод объекта не обнаружен (ПодготовитьКоллекциюПечатныхФорм)
 КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("РеестрПроцентов");

Подскажите, куда делся этот метод в 71 релизе?
---
никуда не делся, просто убрали Экспорт

хм, а ведь действительно подлянка. Лично, я использую этот метод в дополнительных печформах.
будет плохо если необходимо будет дублировать метод в расширение с Экспорт
---
никуда не делся, просто убрали Экспорт

хм, а ведь действительно подлянка. Лично, я использую этот метод в дополнительных печформах.
будет плохо если необходимо будет дублировать метод в расширение с Экспорт
---
Да. Приходится теперь, чтобы не изменять конфигурацию добавлять этот метод в тело обработки. Неужели так трудно было написать слово экспорт?
---
да там и функция декларативная в 20 строк и заполняет коллекцию.

Подозреваю, что решение убрать Экспорт было принято на общем совещании разработчиков под предлогом повышения надежности, безопасности и бла-бла-бла.
То, что это отнимет миллионы челове-часов в масштабах страны на перепиливание печформ - это шерифа не волнует.)
---
Но главное, что все глубоко продумано. Теперь и перезалить печатную форму не получится, тоже валится ошибка
---
Ругается на следующий код

```1c
    Для Каждого ПолноеИмяОбъектаМетаданных Из РегистрационныеДанные.Назначение Цикл
```

У меня в описании обработки было

ПараметрыРегистрации.Вставить("Назначение","Документ.Реализация")

пришлось переписать на следующее:

```1c
    СписокНазначений = Новый СписокЗначений;
    СписокНазначений.Добавить("Документ.Реализация");
    ПараметрыРегистрации.Вставить("Назначение",СписокНазначений);
```

Тогда подключение внешней обработки стало возможным.
---
Я могу вставить только цитату. "Дебилы, бл..."
Делаю кнопку пишу

```1c
    Документ =ЭтотОбъект.СсылкаНаОбъект.ПолучитьОбъект();
    Документ.ДокументОснование = Неопределено;
    Документ.ДокументыОснования.Очистить();
    Документ.Записать(РежимЗаписиДокумента.Проведение);
```

код взял на просторах - понимаю что он для обработки а нужно его повесить на кнопку - вопрос как?
---
Ну тогда еще проще
Для каждого Стр из ТЧ цикл
Стр .ДокументОснование = Неопределено;
КонецЦикла;
---
На кнопку где? В журнале или форме документа???
---
Формы обычные или управляемые?
---
Если в документе то так и вешайте.
А если в журнале

Процедура ИМЯ()
Документ =ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока.ПолучитьОбъект()
Документ.ДокументОснование = Неопределено;
Документ.ДокументыОснования.Очистить();
Документ.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
---
Это одно и тоже.
Что то одно нужно.
Документ.ДокументОснование = Неопределено;
Документ.ДокументыОснования.Очистить();
---
ну видимо у автора есть ТЧ с основаниями и есть реквизит заполненный
---
Ну тогда еще проще
Для каждого Стр из ТЧ цикл
Стр .ДокументОснование = Неопределено;
КонецЦикла;
---
Спасибо огроменное
---
Для спасибо есть специальная кнопочка.
---
какая? найти не могу
Осваиваю СКД, подскажите пожалуйста, что если я из 1 регистра тащу информацию а именно "ВыручкаИСебестоимостьПродаж" тащу инфу о реализации, вытащил кол-во, стоимость и цену сформировал, далее необходимо в отчет вытащить какие ГТД были списаны этим доком реализации которые я вывел, т.е. как я полагаю нужно будет обратиться к этому доку посмотреть его проводки по регистру "ТоварыОрганизации" где хранится номера списываемого ГТД Номенклатуры.
Подскажите как быть?) получается док 1 у него проводки по разным регистрам, но мне нужно вывести в отчет группировку: Регистратор-Номенклатура-ГТДСписываемойНоменклатуры
---
Конечная цель отчета не понятна по описанию. Но мне видится что можно в этом случае и из табличной части документа вытащить номера ГТД. Сначала сделать ВТ_ВидыЗапасов по табличной части ВидыЗапасов в документе, с отбором по ссылке на документ если нужно. Затем уже соединять с остатками. И соединять по Ссылка,Номенклатура,Характеристика.
---
Конечная цель отчета не понятна по описанию. Но мне видится что можно в этом случае и из табличной части документа вытащить номера ГТД. Сначала сделать ВТ_ВидыЗапасов по табличной части ВидыЗапасов в документе, с отбором по ссылке на документ если нужно. Затем уже соединять с остатками. И соединять по Ссылка,Номенклатура,Характеристика.
---
Там же все в документе есть, смотри в регистраторе, может в разных табличных частях. Комент выше тебе все описал
В общий макет надо добавить ответственное лицо по складу, которое находится в справочнике склады, но такого реквизита нет в конфигураторе у этого справочника, а только на форме этого справочника есть соответствующее поле . Незнаю что писать в модуле...
---
Скорее всего ответсвенный берётся из регистра сведений. Например в УПП от называется "ОтветственныеЛица"

Процедура ПрочитатьОтветственноеЛицо()

 Отбор = Новый Структура("СтруктурнаяЕдиница");
 Отбор.СтруктурнаяЕдиница = Ссылка; //Ссылка это сам склад
 СрезПоследних = РегистрыСведений.ОтветственныеЛица.СрезПоследних(ТекущаяДата(), Отбор);

        ......
        .....

КонецПроцедуры // ПрочитатьОтветственноеЛицо()

Надо просто получить значение регистра для нужного склада при формировании печатной формы
---
Надо посмотреть, откуда эти данные попадают на форму. Скорее всего они хранятся в каком-то регистре сведений
---
как это сделать? подскажите пожалуйста
---
Смотреть код, желательно в режиме отладки. Если Вы - программист, то негоже задавать такие вопросы, если - нет, то обратитесь к программисту.
---
Скорее всего ответсвенный берётся из регистра сведений. Например в УПП от называется "ОтветственныеЛица"

Процедура ПрочитатьОтветственноеЛицо()

 Отбор = Новый Структура("СтруктурнаяЕдиница");
 Отбор.СтруктурнаяЕдиница = Ссылка; //Ссылка это сам склад
 СрезПоследних = РегистрыСведений.ОтветственныеЛица.СрезПоследних(ТекущаяДата(), Отбор);

        ......
        .....

КонецПроцедуры // ПрочитатьОтветственноеЛицо()

Надо просто получить значение регистра для нужного склада при формировании печатной формы
---
Спасибо, очень кстати.
Добрый день.
Пытаюсь собрать отчет на СКД. Есть два источника данных: один собирает план, другой факт отгрузок.

План собираю из внешнего источника данных, факт из "родной" базы УПП. Эти 2 источника объединяю в СКД.

Вроде бы все хорошо план и факт выводятся в отчете по контрагентам в одной строчке.

Теперь мне нужно добавить поле сортировки, а именно сначала вывести контрагентов с заполненным фактом, а потом с пустым.
Сделала вычисляемое поле "ЕстьФАКТ" по факту (если заполнено ИСТИНА, если нет ЛОЖЬ), а СКД вычисляет это поле отдельно для каждого источника и строчка по контрагенту "разваливается на 2" так как в таблице плана нет факта.

Может кто копал уже есть ли возможность вычислить поле для уже объединенной строки данных в СКД?

Замечание : нужно именно Объединение, так как соединение наборов в СКД только левое, а мне нужно полное...
---
Попробуйте установить порядок не на уровне отчета, а на уровне группировки.
---
Попробуйте установить порядок не на уровне отчета, а на уровне группировки.
---
Вот спасибо огромное))) Получилось!!!
---
слышал что в наборах данных можно передавать значение одного набора в другой при соединении
во втором наборе поле
&ПередаваемыеДанные
а связи в параметрах указываете это поле
выражение пишете у параметра
можно так попробовать
---
Мне соединение наборов данных не подходит, так как оно левое...
---
может проще добавить колонку "ЭтоФакт" в оба запроса объединения и не вводить СКД в искушение при вычислениях.
я обычно так поступаю в случае точно идентифицируемой сортировки.
---
Это в данном случае не поможет, т.к. значение колонки "ЭтоФакт" также разделит оба набора данных на 2, ведь придется группировать по этому полю. Тут загвоздка заключается в том, что сортировать нужно после группировки, когда данные факта и плана "свернулись" в разрезе аналитики (и "факт", и "не факт") в одну строку.
Доброе утро.
В расширении на форму документа добавляю кнопку, по которой должны создаваться еще документы с номером через слеш.

Пишу следующий код:

```1c
    Индекс = 1;
    Для Каждого стр из Назначения Цикл
    НовДок = Документы.ЗаказПоставщику.СоздатьДокумент();
    ЗаполнитьЗначенияСвойств(НовДок, Объект.Ссылка);
    НовДок.Номер = Строка(НовДок.Номер)+"/"+Строка(Индекс);
    НовДок.Записать(РежимЗаписиДокумента.Проведение);
    Индекс = Индекс +1;
    КонецЦикла;
```

Отладчик заходит в строку с установкой номера, но номер не изменяет.
Что я делаю не так? Или в КА нельзя поменять номер?
---
И еще не забудьте уменьшить разрядность
ну типа
Номер дока УТ0000056
Вы хотите УТ0000056/1
Но разрядность все 9
В результате /1 обрежется
Нужно тогда УТ(00)00056/1
То что в скобках удалить.
---
Плохая идея. Для 1с Ваш индекс это номер, остальное префикс.
---
А есть идея как организовать то что я хочу?
Мне как-то надо отразить наглядно что документы связаны (не только через доп реквизит в самом документе).
Наименований у документов нет, представление не сохраняется нигде.
---
Представление получается процедурой в модуле менеджера объекта ОбработкаПолученияПредставления или подпиской
---
Для это вам надо сделать свою процедуру нумерации.. И для правильной нумерации всегда искать последний документ и его номер увеличивать на 1.
---
Так получилось или нет???
---
Меня тут пока другие более срочные задачи поглотили. Как сделаю, обязательно отпишусь.
---
В общем, через пару дней к задаче вернулся и сразу же решение получилось. Достаточно было удалять две цифры слева, я просто упирался в количество цифр в номере. Добавляю через слеш свои индексы, а стандартная нумерация комплексной автоматизации при этом не ломается никак. Если индекс будет двузначным, ясное дело, буду брать справа не 7 символов, а 6. В общем, всем спасибо за ответы.

Следующие документы создаются с правильным номером автоматически. Допустим, есть документ 000000001, мы создали два с индексом 0000001/1 и 0000001/2. Потом при копировании или создании новых 1С автоматически создает документ 000000002. Как и было нужно.
---
Попробуйте через УстановитьНовыйНомер
В качестве префикса указать номер до /
---
Спасибо, сейчас попробую
---
И еще не забудьте уменьшить разрядность
ну типа
Номер дока УТ0000056
Вы хотите УТ0000056/1
Но разрядность все 9
В результате /1 обрежется
Нужно тогда УТ(00)00056/1
То что в скобках удалить.
---
1с и без установить новый номер воспримет как префикс. Дойдет до 9 и привет вашему предложению
---
Нужно тогда УТ(000)0056/10
То что в скобках удалить.
---
Дойдет до 19 и ага
---
УТ(000)0056/19
УТ(000)0056/20
В чем разница???
Вы хотели сказать до 99???
Почему я всегда угадываю что мне хотят сказать.
---
Я просто реализовывал таки нумерации, правда не на КА, а на УТ10.3
Там даже разрядность номера увеличивали.
И нумеровали УТ(000)0056/0001 ......УТ(000)0056/1001
Доброе время суток, возникла такая проблема, при печати одной корректировочной счет-фактуры которая ссылается на 8 документов при печати выдает ошибку

"{ОбщийМодуль.ОбщегоНазначенияУТ.Модуль(1441)}: Значение не является значением объектного типа (Метаданные)
  ТипОбъекта = Объект.Метаданные().ПолноеИмя();"

Конфигурация типовая Управление торговлей, редакция 11 (11.4.8.82). При печати других счет-фактур таких проблем не наблюдается.

В чем может быть затык?
---
Похоже что в табличной части документов оснований попала пустая строка каким то образом. Предлагаю попробовать составить такую же СФ заново.
---
Похоже что в табличной части документов оснований попала пустая строка каким то образом. Предлагаю попробовать составить такую же СФ заново.
---
Похоже что в табличной части документов оснований попала пустая строка каким то образом. Предлагаю попробовать составить такую же СФ заново.

Данное решение помогло!!!
---
Как вариант посмотреть запросом, что там в табличной части, или универсальной обработкой редактирующей реквизиты, посмотреть документ и отредактировать его.
---
Спасибо за обработку попробую поправить, разобраться.
---
В отладчике глянуть что там за цикл и просмотреть ту ТЧ на предмет пустых строк.
Обработку для просмотра Вам написали выше.
---
Спасибо, уже разбираюсь в отладчике...
Как заблокировать редактирование при выполнении условия ?
Управляемая форма
Список динамический
Есть формаЭлемента
         ФормаСписка
Пока делаю так:

в форме списка

```1c
    &НаСервере
    Процедура ПриОткрытииНаСервере()
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Тест.Ссылка,
    | Тест.Родитель,
    | Тест.Наименование,
    | Тест.Статус,
    | Тест.Активность
    |ИЗ
    | Справочник.Тест КАК Тест";

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Если ВыборкаДетальныеЗаписи.Статус = 1 Тогда
    ...
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
---
в форме объекта при открытии проверяйте на условие, если нужно закрыть для редактирования, то свойство ТолькоПросмотр = истина;
---
Что-то не понятно ничего. Что нужно заблокировать?
---
Если Статус = 1 То заблокировать все кроме Активности для редактирования, но при этом можно создавать.
---
Нужно открывать некоторые документы, но не давать редактирвоать их?
---
Да
---
Какая связь между открываемым документом и реквизитом справочника Тест?
---
в форме объекта при открытии проверяйте на условие, если нужно закрыть для редактирования, то свойство ТолькоПросмотр = истина;
Доброго дня. Прошу помочь с задачей вставки в документ Word, ранее записанного файла HTML (браузером файл открывается нормально - отображается НЕ как текст)., а в документе Word формируется как текст не конвертированный.
Вставляю так

```1c
    Word = ПечатнаяФорма.COMСоединение;
    Select = Word.Selection;
    Docum = Word.Application.Documents(1);
    Select.InsertFile("C:\Temp\1.html");
```
---
Друзья вопрос закрыт. В тестовом файле html для корректного разбора в word нужно в начале и конце поставить "<ht ml>" и "</html>" и все...
---
html код вылазит?
Тогда посмотрите как читать html
---
Друзья вопрос закрыт. В тестовом файле html для корректного разбора в word нужно в начале и конце поставить "<ht ml>" и "</html>" и все...
Есть старая бухгалтерия на простых формах! В документе ПлатежноеПоручениеИсходящее табличная часть ПеречислениеЗаработнойПлаты, делаю реквизит Ведомость составного типа (требуется сделать ввод на основании кроме Зарплаты к выплате еще одного похожего документа). Создаю документ, но при выборе реквизит не дает выбрать тип данных, видит только изначальный тип данный. Куда копать?
---
В сторону события НачалоВыбора. В 2.0 она есть
---
В сторону события НачалоВыбора. В 2.0 она есть
---
Вы оказались правы, спасибо!
---
Проверьте у Вас так галочки стоят???
Только на ваших документах.
---
Спасибо!
---
А в форме вот так должно быть
---
Спасибо, вопрос решился!
Здравствуйте.
1С 8.3, самописная конфа, пока стоит пакет ДТО 8.16, при старте подключаю:

```1c
    Если ПодключитьВнешнююКомпоненту("AddIn.FprnM45")<>0 Тогда
    Попытка
    глПринтер = Новый("AddIn.FprnM45");
    Исключение
    Сообщить("глПринтер не создан " + ОписаниеОшибки());
    Возврат 0;
    КонецПопытки;
    Иначе
    Сообщить("Не подключили ");
    Возврат 0;
    КонецЕсли;
```

*библиотека FprnM1C.dll - зарегана.

Переходим на ДТО10.
Читаю справку: "COM-объект
Для подключения драйвера как COM-объект необходимо зарегистрировать в системе библиотеку addin_fptr10_x86.dll (addin_fptr10_x64.dll в случае 64-битного приложения) с помощью команды regsvr32.exe. Библиотека может сама обнаружить установленный через инсталлятор драйвер. Также инсталлятор автоматически регистрирует компонент заданной архитектуры в процессе установки. В проекте необходимо создать объект типа ActiveX (или OLE) класса AddIn.Fptr10."
Ок - регаю addin_fptr10_x86.dll, смотрю реестр (regedit) - компонента AddIn.Fptr10 создана.
в конфе меняю:

```1c
    Если ПодключитьВнешнююКомпоненту("AddIn.Fptr10")<>0 Тогда
    Попытка
    глПринтер = Новый("AddIn.Fptr10");
    Исключение
    Сообщить("глПринтер не создан " + ОписаниеОшибки());
    Возврат 0;
    КонецПопытки;
    Иначе
    Сообщить("не подключили ");
    Возврат 0;
    КонецЕсли;
```

Нифига не PROFIT: всегда ПодключитьВнешнююКомпоненту("AddIn.Fptr10") = ЛОЖЬ (0).
ЧЯДНТ?
---
В общем без подключения работает:

```1c
    Попытка
    глПринтер = Новый COMОбъект("AddIn.Fptr10");
    Исключение
    Сообщить("глПринтер не создан AddIn.Fptr10 " + ОписаниеОшибки());
    Возврат 0;
    КонецПопытки;
```
---
может ОС Win XP? драйвера USB от ДТО8.16, т.к. в ДТО 10, только для Win7 и Win10.
Хотя в тестировании подключается и работает.
---
В общем без подключения работает:

```1c
    Попытка
    глПринтер = Новый COMОбъект("AddIn.Fptr10");
    Исключение
    Сообщить("глПринтер не создан AddIn.Fptr10 " + ОписаниеОшибки());
    Возврат 0;
    КонецПопытки;
```
---
Попробуй dll-ки в папке с дровами 10 скопировать в папку с платформой в папку bin
---
У меня тоже проблема с файлом addin_fptr10_x86.dll в Windows 7.
С помощью программы regsvr32.exe я его зарегистрировал успешно.
Но затем в Delphi захожу в меню "Component ==> Import Component...", нажимаю "Next>>", далее "Add", указываю этот файл, нажимаю "Открыть" и получаю сообщение "Ошибка при обращении к реестру OLE".
Ранее с файлом FprnM1C.dll (версии 8) у меня это получалось успешно.
Анатолий.
---
Уважаемый succub1_5.
Не могли бы Вы расшифровать мне, какие настоящие имена операторов (функций) вы использовали в программе в качестве "ПодключитьВнешнююКомпоненту", "Новый COMОбъект".
Анатолий.