Size: a a a

1С, БСП, DevOps и Архитектура

2021 March 30

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
Виталий
Читая с книги вы напрягаете зрение? Если да - внешняя освещенность недостаточна. Условно, монитор не должен отличаться от книги.
Тоже так когда-то думал.
Если сделаете на экране такой же серый текстурный фон как в книге - будет на порядки легче, чем абсолютно белый ))
Глянцевые страницы всегда тяжелее читать, чем бумагу не самого лучшего качества)
PS: Заниженная яркость - такой же ппц, как и высокая. Яркость должна быть достаточной.
источник

В

Виталий in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
Тоже так когда-то думал.
Если сделаете на экране такой же серый текстурный фон как в книге - будет на порядки легче, чем абсолютно белый ))
Глянцевые страницы всегда тяжелее читать, чем бумагу не самого лучшего качества)
PS: Заниженная яркость - такой же ппц, как и высокая. Яркость должна быть достаточной.
Только у меня не серый фон, а немного оранжевый) Насчет заниженной яркости - полностью согласен. Всему мера.
источник

AC

Anton Charushkin in 1С, БСП, DevOps и Архитектура
Всем привет!

Столкнулся с неприятной для себя проблемой. В БСП 3.1.4 изменилось поведение функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта.
На вход этой функции подается структура, где ключ - псевдоним поля, значение - выражение для вычисления этого поля.
Если ни в одном выражении нет точки (символ "."), то произвольные выражения не вычисляются, в ключе итоговой структуры возвращается Неопределено

Пример:

ТребуемыеРеквизиты = Новый Структура;
ТребуемыеРеквизиты.Вставить("Представление", "ПолноеНаименование"); // Имя реквизита
ТребуемыеРеквизиты.Вставить("КастомноеПоле", "ЛОЖЬ"); // Произвольное выражение

ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СсылкаНаОбъект, ТребуемыеРеквизиты);


Как было:
Значения всех полей вычислялись корректно
Сообщить(ТипЗнч(ЗначенияРеквизитов.КастомноеПоле)); // Булево - ОК


Как стало:
Сообщить(ТипЗнч(ЗначенияРеквизитов.КастомноеПоле)); // Неопределено - и это не ОК


Как считаете, нарушает ли это обратную совместимость и нужно ли писать об этом в тех. поддержку?
источник

AC

Anton Charushkin in 1С, БСП, DevOps и Архитектура
Anton Charushkin
Всем привет!

Столкнулся с неприятной для себя проблемой. В БСП 3.1.4 изменилось поведение функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта.
На вход этой функции подается структура, где ключ - псевдоним поля, значение - выражение для вычисления этого поля.
Если ни в одном выражении нет точки (символ "."), то произвольные выражения не вычисляются, в ключе итоговой структуры возвращается Неопределено

Пример:

ТребуемыеРеквизиты = Новый Структура;
ТребуемыеРеквизиты.Вставить("Представление", "ПолноеНаименование"); // Имя реквизита
ТребуемыеРеквизиты.Вставить("КастомноеПоле", "ЛОЖЬ"); // Произвольное выражение

ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СсылкаНаОбъект, ТребуемыеРеквизиты);


Как было:
Значения всех полей вычислялись корректно
Сообщить(ТипЗнч(ЗначенияРеквизитов.КастомноеПоле)); // Булево - ОК


Как стало:
Сообщить(ТипЗнч(ЗначенияРеквизитов.КастомноеПоле)); // Неопределено - и это не ОК


Как считаете, нарушает ли это обратную совместимость и нужно ли писать об этом в тех. поддержку?
@zeegin , очень интересно твоё мнение на этот счет
источник

Z

ZEEGIN in 1С, БСП, DevOps и Архитектура
Эта же функция не предназначена для вычисления выражений.
https://its.1c.ru/db/bsp314doc#content:4173:hdoc
Передавать надо имена реквизитов в строки, массива или фиксированного массива.
Все остальное - недокументированное поведение и рассчитывать на него нельзя, потому что этого нет в контракте.
источник

Z

ZEEGIN in 1С, БСП, DevOps и Архитектура
Надо либо переписать код с использованием запроса и следовать текущему контракту или написать разработчикам БСП чтобы они расширили контаракт функции ЗначенияРеквизитовОбъекта и официально поддержали такое поведение/написали на него тесты и т.п.
источник

AC

Anton Charushkin in 1С, БСП, DevOps и Архитектура
ZEEGIN
Эта же функция не предназначена для вычисления выражений.
https://its.1c.ru/db/bsp314doc#content:4173:hdoc
Передавать надо имена реквизитов в строки, массива или фиксированного массива.
Все остальное - недокументированное поведение и рассчитывать на него нельзя, потому что этого нет в контракте.
Это очень печально. Я активно использовал это недокументированное поведение для разного рода переопределений. Когда из объектов разного типа нужно получить структуру требуемого контракта
источник

AC

Anton Charushkin in 1С, БСП, DevOps и Архитектура
ZEEGIN
Надо либо переписать код с использованием запроса и следовать текущему контракту или написать разработчикам БСП чтобы они расширили контаракт функции ЗначенияРеквизитовОбъекта и официально поддержали такое поведение/написали на него тесты и т.п.
видимо, будем менять вызовы этого метода на функцию с собственной реализацией
источник

AC

Anton Charushkin in 1С, БСП, DevOps и Архитектура
спасибо за ответ
источник

Z

ZEEGIN in 1С, БСП, DevOps и Архитектура
Для тебя в данном случае оперативно надо сделать так:
- Взять старю реализацию.
- Сделать свой ОбеoгоНазначенияЧТОТО
- Перевызвать на свой метод - форк старого типового.
источник

Z

ZEEGIN in 1С, БСП, DevOps и Архитектура
Так ты сможешь быстро адаптироваться.
А дальше уже подумать че икак развивать.
источник

AC

Anton Charushkin in 1С, БСП, DevOps и Архитектура
ZEEGIN
Для тебя в данном случае оперативно надо сделать так:
- Взять старю реализацию.
- Сделать свой ОбеoгоНазначенияЧТОТО
- Перевызвать на свой метод - форк старого типового.
ну да, так и подумал. Спасибо
источник

ГИ

Грачев Иван... in 1С, БСП, DevOps и Архитектура
База 7.7
При запуске пишет "Ошибка блокировки данных. Возможно данные используются другой программой".
Пробовал убивать сеансы через Администрирование/Управление компьютером/Общие папки/сеансы, но они вновь возраждаются. Чего ещё можно сделать?
источник

СБ

Сергей Блинов... in 1С, БСП, DevOps и Архитектура
Закрыть общие папки хотябы на время
источник

АБ

Александр Бондарев... in 1С, БСП, DevOps и Архитектура
Грачев Иван
База 7.7
При запуске пишет "Ошибка блокировки данных. Возможно данные используются другой программой".
Пробовал убивать сеансы через Администрирование/Управление компьютером/Общие папки/сеансы, но они вновь возраждаются. Чего ещё можно сделать?
Выдернуть сетевой кабель)
источник

ГИ

Грачев Иван... in 1С, БСП, DevOps и Архитектура
Ага. Полдня возился с этой базой. В итоге решил написать в чат. А база между делом запустилась. Идёт у неё процесс реструктуризации после аварийного завершения))))
Правду говорят, что "семёрка" очень не предсказуемая база ?
источник

СБ

Сергей Блинов... in 1С, БСП, DevOps и Архитектура
Врут
источник

H

Hero in 1С, БСП, DevOps и Архитектура
Грачев Иван
Ага. Полдня возился с этой базой. В итоге решил написать в чат. А база между делом запустилась. Идёт у неё процесс реструктуризации после аварийного завершения))))
Правду говорят, что "семёрка" очень не предсказуемая база ?
Бекап сделал, надеюсь?
источник

VN

Vladimir Nadulich in 1С, БСП, DevOps и Архитектура
У меня тут чертов код приехал
Как вам способ установки реквизита формы?
&НаКлиенте
Процедура Команда()
 СделатьНаСервере(1);
КонецПроцедуры

&НаСервере
Процедура СделатьНаСервере(РеквизитФормы)
 //....
КонецПроцедуры
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Vladimir Nadulich
У меня тут чертов код приехал
Как вам способ установки реквизита формы?
&НаКлиенте
Процедура Команда()
 СделатьНаСервере(1);
КонецПроцедуры

&НаСервере
Процедура СделатьНаСервере(РеквизитФормы)
 //....
КонецПроцедуры
Ну а вдруг реквизит который доступен только на сервере?
источник