Последние сообщения

#1
7.7 / Re: Сохранить mxl в Excel
Последний ответ от Ветер в поле - Сегодня в 10:59
Цитата: Злоп от Вчера в 22:29это не подойдет https://infostart.ru/1c/tools/1026032/
?

Вполне подойдет, но надо понимать, что вид таблицы не будет идентичным родному. Сейчас посмотрел и увидел, что автор компоненты дорабатывал ее в этой части, но я еще не протестировал, только скачал. Раньше масштаб сохраненных файлов сильно отличался от оригинального. Может сейчас стало лучше.
#2
7.7 / Re: Формат результата ТекущееВ...
Последний ответ от Злоп - Вчера в 22:32
Цитата: Харлампий Дымба от Вчера в 19:45что у ТекущееВремя(), в отличие от вышеуказанных функций, нет передаваемых аргументов (ЧЧ, ММ, СС) в которых возвращаются значения времени
С чего бы это? Есть. И в СП Описано.
ТекущееВремя(Час, Минута, Секунда);

#3
7.7 / Re: Сохранить mxl в Excel
Последний ответ от Злоп - Вчера в 22:29
это не подойдет https://infostart.ru/1c/tools/1026032/
?
#4
7.7 / Сохранить mxl в Excel
Последний ответ от Харлампий Дымба - Вчера в 21:03
Появилась старая как мир задачка программно из 1С сохранять большие отчеты в xlsx для стороннего анализа.
v7moxel пока нет возможности поставить, там WinServer2003, Yoksel, кажется сохраняет только в xls (97-2003).
Пока записываю xls из 1С, поэтому открываю в Excel и перезаписываю уже в xlsx

ИмяФайла = ПолноеИмяФайлаБезРаcширения + ".xls";
Т.Записать(ИмяФайла,1);
ВходExcel = СоздатьОбъект("Excel.Application");
ВходExcel.DisplayAlerts=0;//не показывать всякие ненужные предупреждения 
ВходExcel.ScreenUpdating=0;//не обновлять экран при работе макроса 
ВходExcel.Application.Workbooks.Open(ИмяФайла,0);//0-не пересчитывать ссылки,
ВходExcel.ActiveWorkBook.SaveAs(ПолноеИмяФайлаБезРаcширения,51);//Книга по умолчанию	*.xlsx  
ВходExcel.ActiveWorkBook.Close();
ВходExcel = "";
ФС.УдалитьФайл(ИмяФайла);

Ну понятно, что при записи из 1С есть проблема с обрезание до 65535 строк.
Есть какие-то способы сохранить mxl в современный xlsx программно?

 
#5
7.7 / Re: Формат результата ТекущееВ...
Последний ответ от Харлампий Дымба - Вчера в 19:45
Хм, интересный вопрос. В ЖКК для функций:
ПолучитьВремяТА()
Документ::ПолучитьВремя()
Операция::ПолучитьВремя()
Последовательность::ПолучитьВремя()
конкретно указано, что возвращается строковое значение вида "ЧЧ.ММ.СС" (хотя на самом деле возвращается в формате "ЧЧ:ММ:CC")
А вот для ТекущееВремя() - такого указания нет. Но ни разу не встречался с другим, нежели "ЧЧ:ММ:СС" представлением. Да это было бы и нелогичным, в свете того, что у ТекущееВремя(), в отличие от вышеуказанных функций, нет передаваемых аргументов (ЧЧ, ММ, СС) в которых возвращаются значения времени. Так что, возвращаемое значение должно иметь универсальный формат - "ЧЧ:ММ:СС".

Единственный раз, когда замечал различное поведение в зависимости от ОС - это для функций КаталогИБ() и подобных - которые в Windows 95 возвращала значение без последнего слеша. Но за давностью лет уже и не уверен, и возможно это был косяк конкретного релиза.

Ну и есть функции, которые возвращают значение по-русски или по-английски в зависимости от установок "Основной язык" в Конфигураторе (типа ТипЗначенияСтр(), ПриИзмененииИстории()), но всё-равно независимо от системных настроек.

#6
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - Вчера в 19:25
А случайно исходников для StrMatch.dll, которую допиливал Djelf нет?

У меня вот готовая компонента и описание, того что он делал есть, но исходников от Djelf нет.


StrMatch.dll

Гибридная компонета, работающая как ВК без регистрации в реестре
и одновременно расширение к sqlite3, работающее без 1С

Автор первоначальной версии Sk0rp:
https://infostart.ru/public/237186/

Исходники взяты отсюда:
https://github.com/5k0rp/StrMatch

Использовались куски кода и движок из 1sqlite:
https://snegopat.ru/1sqlite/index

Изменения компоненты:
1. Движок ВК переведен на движок от Орефкова.
  Это позволило ВК загружаться в 1С и работать без регистрации в реестре
  Методы и свойства совместны с оригинальной компонетой
2. Добавлен интерфейс загрузки в sqlite3

Использование:

База = СоздатьОбъект("SQLiteBase");
База.Открыть(":memory:");// без этого будет вылет
База.РазрешитьЗагрузкуРасширений(1);
Запрос=База.НовыйЗапрос();
Запрос.ВыполнитьЗапрос("SELECT load_extension('strmatch.dll'););
Запрос.ВыполнитьЗапрос("
  SELECT
  descr,
  strmatch(descr,'что-то тут ищем') as Рейтинг
from Справочник_Номенклатура
order by strmatch(descr,'что-то тут ищем') desc;

Примечание:

Перебор через 1С с использованием кэша ~2-3c на 5к строк
Запрос через 1sqlite ~150мс
#7
Дружественные проекты / Re: 1sqlite
Последний ответ от Грузчик - Вчера в 13:01
Закинул в рабочую базу. Если кто заверещит, отпишусь.
Из интересного и непонятного: 3.40 работала ок, 3.50 запрос периодики минутами хрустела, 3.53 (с гитхаба) этот запрос отрабатывает быстро. Не уверен, в чём была/есть проблема, и тестовый стенд куда-то дел. И шут с ним.
#8
Дружественные проекты / Re: 1sqlite
Последний ответ от Злоп - 10 июня 2026, 22:20
я 1SQLite использую очень мало, толком и потестить не смогу
#9
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - 10 июня 2026, 19:29
#10
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - 10 июня 2026, 17:36
Т.е., как вы поняли, этот релиз - это была просто попытка понять - а можно ли поднять "знамя" этой ВК и нести дальше. Я не являюсь специалистом по c++. Но пока наличие такого инструмента как ИИ Claude - дало надежду на такое продлжение. Вот то, что получилось выложил на тест. В дальнейшем хочу выложить исходники и сопутствующие необходимые файлы на github.