Цитата: Харлампий Дымба от Вчера в 23:54Ну это, как я понимаю, чтобы избежать ошибки сохранения больших таблиц в Excel - патч от ромикса уже закрывает эту дырку.
Цитата: АЛьФ от Вчера в 13:04У меня вот такой код работает в глобальнике с использование Йоксель:Ну это, как я понимаю, чтобы избежать ошибки сохранения больших таблиц в Excel - патч от ромикса уже закрывает эту дырку.
Конвертер = СоздатьОбъект ("КонвертерExcel");
Книга = Конвертер.Создать ();
Начало = 1;
Пока КоличествоСтрок > 0 Цикл
Документ = СоздатьОбъект ("ТабличныйДокумент");
Документ.Открыть (ИмяВременногоФайла);
Если Начало = 0 Тогда
Документ.УдалитьСтроки (1, 65536);//без ограничения
Документ.Записать (ИмяВременногоФайла);
Иначе
Начало = 0;
КонецЕсли;
Книга.Листы.Добавить (ИмяЛиста + НомерЛиста, Документ);
КоличествоСтрокВДокументе = Документ.ВысотаТаблицы ();
ЗаписаноСтрок = Мин (65536, КоличествоСтрокВДокументе);
КоличествоСтрок = КоличествоСтрок - Мин (КоличествоСтрок, ЗаписаноСтрок); // на всякий случай
НомерЛиста = НомерЛиста + 1;
КонецЦикла;
Книга.ПараметрыКонвертера.ЧислаВыравненыПоПравомуКраю = 1;
Книга.ПараметрыКонвертера.РаспознаватьЧисловыеЗначения = 1;
Книга.Записать (ВыбИмяФайла);
Процедура ПриЗаписиТаблицы(КонтТаб, ИмяФайла, ФорматФайла, СтандартнаяОбработка)
Если ФорматФайла = 1 Тогда // xls
// Если КонтТаб.ВысотаТаблицы() > 100 Тогда
СтандартнаяОбработка = 0;
ТабличныйДокумент = СоздатьОбъект("ТабличныйДокумент");
ТабличныйДокумент.ЗагрузитьИзТаблицы(КонтТаб);
ТабличныйДокумент.Записать(ИмяФайла,"xls");
// КонецЕсли;
КонецЕсли;
КонецПроцедуры
//*****************************************************************************
Функция глУстановитьЗначениеРеквизитуФормы(Конт, Реквизит, Значение, ВыполнятьФормулу=0) Экспорт
АтрибутФормы = СоздатьОбъект("АтрибутФормы");
Попытка
АтрибутФормы.УстановитьАтрибут(Конт.Форма, Реквизит);
АтрибутФормы.Значение = Значение;
Попытка
Если ВыполнятьФормулу = 1 Тогда
Если ПустоеЗначение(АтрибутФормы.Формула) = 0 Тогда
Модуль = СоздатьОбъект("ВыполняемыйМодуль");
Модуль.УстановитьМодуль(
"Процедура ___ВыполнитьФормулуРеквизита___()
| " + АтрибутФормы.Формула + "
|КонецПроцедуры");
Модуль.НазначитьКонтекст(Конт);
Модуль.КомпилироватьМодуль();
Модуль.ВыполнитьМодуль();
Модуль.___ВыполнитьФормулуРеквизита___();
КонецЕсли;
КонецЕсли;
Исключение
глВывестиМногострочноеСообщение("глУстановитьЗначениеРеквизитуФормы: Ошибка выполнения формулы реквизита " + Реквизит + "
|Формула: " + АтрибутФормы.Формула + "
|Ошибка: " + ОписаниеОшибки());
КонецПопытки;
Исключение
Сообщить("глУстановитьЗначениеРеквизитуФормы: Не найден реквизит на форме: " + Реквизит);
Возврат 0;
КонецПопытки;
Возврат 1;
КонецФункции //глУстановитьЗначениеАтрибутуФормы
//*****************************************************************************
Функция глПолучитьЗначениеРеквизитаФормы(Конт, Реквизит, СообщатьОбОшибке=1) Экспорт
АтрибутФормы = СоздатьОбъект("АтрибутФормы");
Попытка
АтрибутФормы.УстановитьАтрибут(Конт.Форма, Реквизит);
Возврат АтрибутФормы.Значение;
Исключение
Если СообщатьОбОшибке = 1 Тогда
Сообщить("глПолучитьЗначениеРеквизитаФормы: Не найден реквизит на форме: " + Реквизит);
КонецЕсли;
Возврат ПолучитьПустоеЗначение();
КонецПопытки;
КонецФункции //глПолучитьЗначениеРеквизитаФормы
Цитата: Злоп от 14 июня 2026, 14:29И как установить в этом случае значение в поле ввода по его имени..?