Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: создание ценника с помощью внешней обработки

Здравствуйте, я в программировании еще пока не очень, подскажите редактировал с помощью внешней обработки ценник все сделал сохранил потом конфигуратор выдал что надо обновиться перед этим заменил встроенную обработку на внешнюю и обновил.Зашел в преприятие в номенклатура печать и выдает такую ошибку
{Обработка.ПечатьЦенников.Форма.Форма.Форма(153,44)}: Процедура или функция с указанным именем не определена (ПечатьЦенника)
УниверсальныеМеханизмы.НапечататьДокумент(<<?>>ПечатьЦенника(), , , "Ценники");
Примерно понимаю что надо в модуле прописать эскпорт или что то еще. Если кто знает пришлите скрин или как это прописать или исправить? Заранее благодарен!

Вложения:

  • Размер файла:
    240,4 КБ
    Просмотров:
    0
Ответ:
А что в обработке "ваял"? Копия исходной надеюсь осталась?
Вопрос: Создание кнопки на форме с помощью внешней обработки

Добрый день интересует такой вопрос, можно ли с помощью внешней обработки добавить кнопку на форме, скажем ввода на основании, при этом не правя конфигурацию, а просто подгрузить внешнюю обработку через стандартный механизм и увидеть после этого кнопку на форме. Или если придется править конфу то по минимуму. Заранее спасибо.
Ответ: В общем все работает, просто обработка оказывается уже должна там находиться
Вопрос: Зафиксировать колонки в отчете с помощью внешней обработки

В конфигурации УТ 11 есть стандартный отчёт "Ведомость по товарам на складах". Возникла необходимость для варианта этого отчёта зафиксировать первые 4 колонки таблицы (чтобы при горизонтальной прокрутке они оставались на экране).

Знаю, что есть такое свойство ФиксацияСлева, и для решения задачи достаточно в режиме Конфигуратора слегка отредактировать обработчик отчета, дополнив в модуле объекта процедуру ПриКомпоновкеРезультата всего лишь одной строкой кода:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
// код процедуры
// ...
ДокументРезультат.ФиксацияСлева = 4;
КонецПроцедуры

Но можно ли с помощью внешней обработки указать, чтобы при открытии конкретного стандартного отчёта (в моем случае - это ВедомостьПоТоварамНаСкладах) свойству таблицы ФиксацияСлева присваивалось значение 4 (и при этом не нужно было бы редактировать конфигурацию или создавать новый внешний отчет)?
Ответ:
Нет, такого не получится.
Вопрос: Внешняя обработка не выводит данные с СКД

Имеется необходимость в создании отчета через внешнюю обработку на обычных формах, на 1С 8.2. Внутри обработки создал форму и макет(с СКД), но после выполнения обработки выводится информация о дате и заголовке, а данные с СКД обработка не выводит, ошибок никаких не выдает. Почему так, понять не могу.
Код:

Процедура СформироватьОтчет()
    //Получаем схему из макета

    СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
    
    //создадим компоновщик настроек и загрузим настройки по умолчанию, вместо настроек по умолчанию можно использовать восстановленные настройки

    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    Настройки = КомпоновщикНастроек.Настройки;
    
    //установка параметров отчета, без КомпоновщикНастроекКомпоновкиДанных делать это гораздо сложнее

    НачПериода = Дата('20180126');
    КонПериода = Дата('20180226');
    //НачПериода = НачалоДня(ТекущаяДата()-84600);

    //КонПериода = КонецДня(НачПериода);   

    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода",   НачПериода);
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонПериода);
    Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", Заголовок);
    
    //Помещаем в переменную данные о расшифровке данных - здесь ненужный пункт, но пусть будет.

    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    ДанныеРасшифровки.Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    
    //Формируем макет, с помощью компоновщика макета

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    //Передаем в макет компоновки схему, настройки и данные расшифровки

    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    //Выполним компоновку с помощью процессора компоновки

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
    
    //Очищаем поле табличного документа

    Результат = Новый ТабличныйДокумент();
    //Выводим результат в табличный документ

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(Результат);
    
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    Результат.ОтображатьЗаголовки = Ложь;
    Результат.ОтображатьСетку = Ложь;
    Результат.Показать(); 
КонецПроцедуры
Ответ: Спасибо, разобрался и все заработало)
Вопрос: ПолучитьФорму внешней обработки

Есть внешняя обработка("Форма"),в ней форма-"Форма".Подключенная через внешние формы и обработки/внешние обработки.
Код 1C
1
Форма = ВнешниеОбработки.ПолучитьФорму("Форма"),
Выдает ошибку:
Ошибка при вызове метода контекста (ПолучитьФорму)
Форма = ВнешниеОбработки.ПолучитьФорму("Форма");
по причине:
Ошибка подключения внешних метаданных
по причине:
Файл не обнаружен 'Форма'

Добавлено через 26 секунд
Помогите получить форму подключенную через внешние обработки

Добавлено через 6 минут
Конфигурация 1с 8.2.
Ответ: Логично, ибо платформа не в курсе, что за путь такой - "Форма".
Посмотрите, как происходит работа со внешними обработками в справочнике "Внешние обработки".
Если вкрадце, то необходимо получить имя временного файла, сохранить обработку в темпы с этим автоматически сформированным именем и уже потом только:
Код 1C
1
ВнешниеОбработки.ПолучитьФорму(<ИмяВременногоФайла>, "Форма");
ЗЫ. "Конфигурация 1с 8.2." - 8.2 - это платформа, а не конфа.
Вопрос: Программное открытие внешних обработок.

Добрый всем день.
Возникла неоднозначная ситуация.
Платформа 1С 8.3.10. Конфигурация на обычных формах.
Есть программный код, в процессе выполнения которого запускается внешняя обработка, находящаяся в файловой системе компьютера.
Проблема в том, что после обновления платформы, если изменить обработку, она перестает запускаться.
Очевидно, старая версия "запомнилась" 1С-ке, как разрешенная для запуска обработка. А обновленная не имеет разрешения на запуск. К тому же 1С не запрашивает разрешения пользователя, как это сейчас делают последние конфигурации.
В конфигурации отсутствует роль "Интерактивное открытие внешних обработок" (она довольно старая, да).
Я так понимаю, это функционал платформы, взаимодействие с которым работает через роль. И, в случае её отсутствия, разрешения просто нет.
Есть ли возможность интерактивно выдавать разрешение на запуск/настроить право на запуск без роли? Или вариант только один - откатывать платформу?

Заранее спасибо!
Ответ: Итого, варианты решения, которые я смог найти:
1) Стандартное решение проблемы - дать пользователю 1С разрешение через роль "Интерактивное открытие внешних обработок". Но если конфигурация клиента слишком старая, этой роли там может не быть.
2) Дать пользователю разрешение на уровне платформы через конфигуратор ().
3) Дать разрешение на программном уровне при вызове обработки:
Параметр "ЗащитаОтОпасныхДействий" метода "Подключить()" для менеджера внешних обработок (отчетов).
4) В файле C:\Program Files (x86)\1cv8\conf\conf.cfg, если есть строка "SystemLanguage=System" добавить "DisableUnsafeActionProtection=.*" (вместо "*" можно указать пути к конкретным базам 1С).
Вопрос: Получение макета печатной формы из внешней обработки

Всех приветствую!

Конфигурация: Управление небольшой фирмой, редакция 1.6 (1.6.5.28)

Создал внешнюю обработку и подключил ее как дополнительную назначаемую внешнюю обработку для вывода печатной формы (вид "Печатная форма"), команда для использования ВызовСерверногоМетода.
Согласно БСП реализовал экспортную процедуру "Печать" с соответствующими параметрами. В обработке несколько печатных форм, поэтому для каждой реализована функция формирования табличного документа.

В этих функциях не хочет упорно получаться макет обработки функцией общего модуля: УправлениеПечатью.МакетПечатнойФормы("Обработка.ManifoldSetCP72.ПФ_MXL_Receipt");

выдает ошибку:
{ОбщийМодуль.ОбщегоНазначения.Модуль(2604)}: Неизвестный тип объекта метаданных "Обработка.ManifoldSetCP72"

только если так:
ПолучитьМакет("ПФ_MXL_Receipt");

Почему так, ведь общий модуль "Управление печатью" серверный!?
Ответ:
Все понял, это функция ищет макеты в регистре сведений или в общих макетах!
Всем спасибо!
Вопрос: Условное оформление во внешней обработке

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

добавлено немного позже:

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

Всем привет.
Собственно как прочитать из режима предприятия код внешней обработки/отчета(модуля и форм)?

Зачем оно надо? Просто интересно.
Ответ: Думаю, возможно.
Пишите ВК, которая разбирает внутренний формат внешней обработки/отчета, переводит байт-код в читабельный вид и вызываете ее из режима "предприятие".
Для интереса самое то.
И в c++ разберетесь заодно.

ЗЫ. Без понятия, как устроена внешняя обработка - написал от балды исходя из ничем не подтвержденных измышлений.
Вопрос: Помогите с внешней обработкой

Я только начинаю изучать 1С, так что не бейте палками. Задача такая:
Сделать внешнюю обработку, кот. позволяет вывести записи из регистра сведений подчиненные регистратору по выбранному (в диалоге) номеру документа-регистратора. При этом:
-в обработке нужно использовать предварительно созданный общий макет
-предусмотреть возможность сохранения настройки при открытии (номер документа)
Ответ:
1) Смотрите сразу не в сторону внешней обработки, а в сторону внешнего отчёта, и пишите его на СКД.
2) Найдите если нет консоль запросов и пробуйте написать запрос. В запросе выбирайте данные по регистру сведений с условием Регистратор.Номер