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

#1
7.7 / Re: Создание таблицы значений ...
Последний ответ от Djelf - Вчера в 16:52
Странно, у меня с отключением 1c++ не падало. Возможно влияет текущее направление ветра.
#2
7.7 / Re: Создание таблицы значений ...
Последний ответ от Харлампий Дымба - Вчера в 16:45
Цитата: Djelf от Вчера в 16:16правда при включенной 1с++ ЗначениеИзСтрокиВнутр("{}"); вызвает выпадение из 1с,
Не, это в ей прям из коробки - встроенная фича,  1с++ тут ни при чём.
Как-то провёл пару занимательных часов в попытках понять что роняло базу: а всего-то в документе ПриЗаписи сохранял таблицу значений в строку с помощью ЗначениеВСтроку(), а пытался восстановить ПриОткрытии с помощью ЗначениеИзСтрокиВнутр(). Тут-то у меня 1С и валилась без лишних слов. Не мой был день.

Для крашей помогает ещё в расшифровку ячейки таблицы запихнуть таблицу значений побольше (65535?) :P
#3
7.7 / Re: Создание таблицы значений ...
Последний ответ от Djelf - Вчера в 16:16
https://www.1cpp.ru/docum/html/TurboBL.html
а в 1с++ еще кеширование создания пустых объектов было сделано (именно ЗначениеИзСтрокиВнутр но скрытое)
правда при включенной 1с++ ЗначениеИзСтрокиВнутр("{}"); вызвает выпадение из 1с, но иногда это удобно, чтобы выкинуть кого-то с неминуемым крэшем  ;D
#4
7.7 / Re: Создание таблицы значений ...
Последний ответ от Харлампий Дымба - Вчера в 16:12
Цитата: Харлампий Дымба от Вчера в 15:42Так что сразу извинись, если вопросы могут показаться тупыми.
Как вот такие описки появляются? Всего пару букв, а как смысл меняет!
Прошу читать как:
Так что сразу извиняюсь, если вопросы могут показаться тупыми
#5
7.7 / Re: Создание таблицы значений ...
Последний ответ от Харлампий Дымба - Вчера в 15:42
Цитата: Djelf от Вчера в 14:57А не проще 1с++ подключить в "холостом" режиме (только для подобного ускорения), чтобы turbobl включилось?
Помню же, что было про алфавит) но не стал озвучивать - неужто всё настолько просто и тупо.
Я обязательно посмотрю при случае - самому интересно: вся разница между тормозным СоздатьОбъект() и быстрым ЗначениеИзстрокиВнутр() только в первой букве названия? :o

И ещё, должен признаться: при всем своем опыте в некоторых областях "ванильной" 1С - во внешних компонентах я полный ноль . Политика партии в определенные моменты не позволяла их использование, плюс 1cpp точилось на регистры и sQL, а у меня основное ЗиК и Бух DBF, и там особых плюшек изначально 1с++ не давало (про AccountsRecordset слышал). Объемы у меня небольшие, и быстродействие не было слабым местом. Formex - замечательная штука, но пока хватало типового.  Мне и в типовом функционале - каждый день чудесные открытия. Так что сразу извинись, если вопросы могут показаться тупыми.
#6
7.7 / Re: Создание таблицы значений ...
Последний ответ от Djelf - Вчера в 14:57
А не проще 1с++ подключить в "холостом" режиме (только для подобного ускорения), чтобы turbobl включилось?
#7
7.7 / Re: Создание таблицы значений ...
Последний ответ от Харлампий Дымба - Вчера в 14:01
Да, тоже подумывал, через глобальный модуль делать, чтоб покрасивше было. Сделал на пробу
1й вариант
Функция глСоздатьТаблицуЗначений() Экспорт
возврат ЗначениеИзСтрокиВнутр("{""VT"",""1"",{""0"",{{"""",""0"",""0"",""0"","""",""2""}}}}");
КонецФункции
2й вариант
Перем глСозданиеТЗ Экспорт
...
глСтрокаДлТЗ=ЗначениеИзСтрокиВнутр("{""VT"",""1"",{""0"",{{"""",""0"",""0"",""0"","""",""2""}}}}");

и создание в модулях соответственно делать через
ТЗ=глСоздатьТаблицуЗначений();
либо
ТЗ=ЗначениеИзСтрокиВнутр(глСозданиеТЗ)

Оба варианта получились помедленнее, чем исходный. Решил, что раз уж взялся ускорить, то пусть лучше везде будет понатыкана немного некрасивая, но быстрая
ТЗ=ЗначениеИзСтрокиВнутр("{""VT"",""1"",{""0"",{{"""",""0"",""0"",""0"","""",""2""}}}}");

Хотя вариант создавать таблицу значений сразу со всей структурой себе в голове заначил - можно же строку передавать уже с учетом всех колонок.

А с чем вообще связано такое поведение, просто интересно?

#8
7.7 / Re: Создание таблицы значений ...
Последний ответ от АЛьФ - Вчера в 13:34
Много лет подобное используем, вроде нет проблем.
Правда у нас несколько иначе сделано для наглядности:

    тзОплаты = глСоздатьТаблицу("Документ,ДнейПросрочки,ПроцентВычета,СуммаОплаты,ДоляВСумме,КоэффициентВычета");
    Шаблон_тзОплаты = ЗначениеВСтрокуВнутр(тзОплаты);
...
            тзОтгрузки.тзОплаты = ЗначениеИзСтрокиВнутр(Шаблон_тзОплаты);
#9
FormEx / Сервис.ЭмулироватьКлавиатуру т...
Последний ответ от Arbuz - Вчера в 13:24
Сервис.ЭмулироватьКлавиатуру даёт заметный на глаз лаг при выполнении, в отличие от WSHShell.SendKeys
Причём это наблюдается очень давно.
#10
7.7 / Создание таблицы значений и сп...
Последний ответ от Харлампий Дымба - Вчера в 13:09
Есть ли какие-то подводные камни в использовании
ТЗ=ЗначениеИзСтрокиВнутр("{""VT"",""1"",{""0"",{{"""",""0"",""0"",""0"","""",""2""}}}}");
вместо
ТЗ=СоздатьОбъект("ТаблицаЗначений");
?

А то уж больно большая прибавка в скорости, особенно в циклах и во вложенных таблицах - в ЗиКе у меня хорошо так ускорилось. Но гложет - не может же быть всё так просто и хорошо?