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

#1
7.7 / Формат результата ТекущееВремя...
Последний ответ от Злоп - Сегодня в 10:42
Всегда ли результат ТекущееВремя() возвращается в виде ЧЧ:ММ:СС, то есть всегда с двумя цифрами в каждом показателе (с ведущим 0 если показатель меньше 10)?
Зависит ли это от настроек ОС? Для разных ОС?
.
Пока у меня получается так: возвращается ЧЧ:ММ:СС всегда независимо от настройки ОС, win10home
#2
7.7 / Re: КОПИЛКА: здесь всякие редк...
Последний ответ от Злоп - Сегодня в 10:31
ОПРЕДЕЛИТЬ АКТУАЛЬНОСТЬ ТА
обсуждение: https://forum.dorex.pro/index.php?topic=353.0
решение, автор: Харлампий Дымба
Док = СоздатьОбъект("Документ");
Док.УстановитьФильтр(1,0,0,2);
Возврат Док.ВыбратьДокументы(СформироватьПозициюДокумента(ПолучитьДокументТА(),1));
#3
Дружественные проекты / Re: 1sqlite
Последний ответ от Злоп - Сегодня в 08:52
круть
#4
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - Вчера в 18:29
Вот, что написал ИИ Claude после анализа.

Что было в авторском исходнике 3.46.0.31 (

Фиксы.txt
)
Автор оставил свои реальные правки. Разбор:
1. 🔴 Регистронезависимость ИМЁН ПОЛЕЙ (
sqlite3StrIHash
) — у нас этого НЕ БЫЛО, добавил.
Баг автора: запрос


SELECT Автомобили.МаркА FROM Справочник_Автомобили AS АвтомобилИ
GROUP BY Автомобили.ID

давал
no such column: Автомобили.МаркА
. Причина: имена идентификаторов хешируются функцией
sqlite3StrIHash
, а она складывала байты через
UpperToLower
. Для кириллицы в разном регистре («МаркА» vs «Марка») получались разные хеши → разные корзины → поле не находилось. Мы чинили парный
StrICmp
(сравнение), но забыли хеш. Это и был пропущенный фикс — теперь хеш считается по кодовым точкам через
oasUpper2Lower
, как у автора.
2. 🟡 Фикс компиляции
u64→double
(ошибка C2520) — у автора в коде printf-форматирования. У нас та же проблема решена в других местах того же движка (
sqlite3AtoF
/JSONB) — эквивалентно.
3. 🟡 Пустая дата (
CDate
) — автор делает
if(m_Date.m_DateNum == -1) m_Date.m_DateNum = 0
(прямой доступ — у него работает, т.к. раскладка в его заголовках совпадает). У нас — безопасный эквивалент через
*pValue = CDate...
(работает независимо от раскладки). Оставил наш.
4. 🟢
baseStr2Id
— автор перевёл на
strtol(..., 36)
(выравнивание с 1С++ MetaDataWork). Мелочь; у нас кастомный парсер, трогать рискованно.
Плюс: его
to_base64
/
from_base64
— это библиотека libb64, но в 3.46 она даже не зарегистрирована (код лежит, но не подключён). Наш рукописный base64 зарегистрирован и проверен — то есть у нас функциональнее.
Итог
  • Добавлен реальный пропущенный фикс — кириллические имена полей в разном регистре теперь находятся (

    GROUP BY Поле
    
    , алиасы и т.п.). Релиз 

    1sqlite_3.53.2.49.dll
    
    .
  • Остальное у нас уже есть в эквиваленте или лучше.
#5
7.7 / Re: Определить актуальность ТА...
Последний ответ от Ветер в поле - Вчера в 18:11
Цитата: Харлампий Дымба от Вчера в 01:00
Док = СоздатьОбъект("Документ");
Док.УстановитьФильтр(1,0,0,2);
Возврат Док.ВыбратьДокументы(СформироватьПозициюДокумента(ПолучитьДокументТА(),1));


Красивое решение! Пожалуй на нем стоит и остановиться.
#6
Дружественные проекты / Re: 1sqlite
Последний ответ от alyuev - Вчера в 18:07
О! Благодарю! Сейчас кину в анализ.
#7
Дружественные проекты / Re: 1sqlite
Последний ответ от smitti911 - Вчера в 17:33
Обнаружил на другом компе sqlite1c_3.46.0.31:

https://drive.google.com/file/d/1KMOJ_ItRkYC-ZFfEa_jbGlQFa-XcGTtr/view?usp=sharing
#8
7.7 / Re: Определить актуальность ТА...
Последний ответ от Харлампий Дымба - Вчера в 01:00
Док = СоздатьОбъект("Документ");
Док.УстановитьФильтр(1,0,0,2);
Возврат Док.ВыбратьДокументы(СформироватьПозициюДокумента(ПолучитьДокументТА(),1));
#9
Дружественные проекты / Re: 1sqlite
Последний ответ от Злоп - 08 июня 2026, 20:07
Лучи добра за поддержание проекта.
#10
Размышлизмы / Re: Личное: Антон Азанов aka D...
Последний ответ от Злоп - 08 июня 2026, 20:06
С Территории1С, Лена, специалист по ЗиК была сильный.
Много раз пересекались на совместных тусовках выездов на природу. Лет 20 знал ее.