Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 апр 2025, 12:22

excel и xml

Автор sali, 11 мар 2025, 07:48

0 Пользователей и 1 гость просматривают эту тему.

sali

есть загрузка для файлов  xml в документы поступление и реализация. и сюда же нужно добавить загрузку для excel файла. когда читается файл какую проверку можно сделать чтобы 1с поняла это xml или excel файл?

alexandr_ll

sali, Расширение - не?

sali

разобрался

sali

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

Возврат КоллекцияПечатныхФорм.Найти(ВРег(ИмяМакета), "ИмяВРЕГ") <> Неопределено;

КонецФункции

И СОБСТВЕННО КОД ПЕЧАТКИ. Это макет накладной, от мысли тупое задание, потому что нужно везде выводить комментарий в печатку в накладной
Функция СведенияОВнешнейОбработке() Экспорт     
   
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Накладная с комментарием");
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Информация", "Печатная форма сделана для видимости комментария в документе, если такой заполнен");
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд, "Накладная с комментарием", "НакладнаяС", "ВызовСерверногоМетода", Истина, "ПечатьMXL");

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;

КонецФункции           

Функция ПолучитьТаблицуКоманд()

Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

Возврат Команды;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;

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

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НакладнаяС") Тогда
// Формируем табличный документ и добавляем его в коллекцию печатных форм.
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"НакладнаяС",
НСтр("ru = 'Накладная с комментарием'"),
ПечатьНакладной(МассивОбъектов, ОбъектыПечати),
,
"ПФ_MXL_НакладнаяС");
КонецЕсли;

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

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт

КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "НакладнаяС";
КомандаПечати.Представление = НСтр("ru = 'Накладная с комментарием'");
КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь;
КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
КомандаПечати.Порядок = 1;

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

Функция СформироватьЗаголовокДокумента(Шапка, Знач НазваниеДокумента = "")

ДанныеДокумента = Новый Структура("Номер,Дата,Представление");
ЗаполнитьЗначенияСвойств(ДанныеДокумента, Шапка);

// Если название документа не передано, получим название по представлению документа.
Если ПустаяСтрока(НазваниеДокумента) И ЗначениеЗаполнено(ДанныеДокумента.Представление) Тогда
ПоложениеНомера = СтрНайти(ДанныеДокумента.Представление, ДанныеДокумента.Номер);
Если ПоложениеНомера > 0 Тогда
НазваниеДокумента = СокрЛП(Лев(ДанныеДокумента.Представление, ПоложениеНомера - 1));
КонецЕсли;
КонецЕсли;

НомерНаПечать = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеДокумента.Номер);
Возврат СтрШаблон(НСтр("ru = '%1 № %2 от %3'"),
НазваниеДокумента, НомерНаПечать, Формат(ДанныеДокумента.Дата, "ДЛФ=DD"));

КонецФункции

Функция ПечатьНакладной(МассивОбъектов, ОбъектыПечати) 

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_НакладнаяС";

ПечататьАртикулВНакладной = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьЗначениеКонстанты("ПечататьАртикулВНакладной");
     ПечататьШтрихкодВНакладной = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьЗначениеКонстанты("ПечататьШтрихкодВНакладной");

Макет = ПолучитьМакет("ПФ_MXL_НакладнаяС");

ТекстЗапроса =


sali

alexandr_ll, Метод объекта не обнаружен (Найти)
{ОбщийМодуль.УправлениеПечатью.Модуль(104)}: Возврат КоллекцияПечатныхФорм.Найти(ВРег(ИмяМакета), "ИмяВРЕГ") <> Неопределено;
{ВнешняяОбработка.КомментарийВНакладной.МодульОбъекта(63)}: Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НакладнаяС") Тогда
{ОбщийМодуль.УправлениеПечатью.Модуль(2051)}: ВнешняяОбработкаОбъект.Печать(
{ОбщаяФорма.ПечатьДокументов.Форма(779)}: УправлениеПечатью.ПечатьПоВнешнемуИсточнику(
{ОбщаяФорма.ПечатьДокументов.Форма(61)}: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ);

alexandr_ll

sali, Проверьте, что передается в параметр КоллекцияПечатныхФорм

sali


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск