Версия для печати темы (https://pro1c.org.ua/index.php?s=d0b295e453420691eb1b087d8f398e93&showtopic=67641)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Подмена наименования элементов справочника в форме списка

Автор: Slon747 26.09.24, 14:54

Обычные формы.
Требуется для некоторых пользователей выводить наименования элементов и групп справочников на английском языке.
Т.е. например, справочник "Номенклатура" будет иметь реквизит "НаименованиеПоАнглийски".
Для отдельных пользователей нужно выводить в форме списка названия товаров исходя из этого реквизита.
Я сначала сделал просто. Скрывал колонку "Наименование" и делал видимой "НаименованиеПоАнглийски".
Но в случае иерархического справочника пропадает картинка (группа/элемент) и не понятно, строка - группа или элемент.
Пробовал ОбработкаПолученияПредставления() из модуля менеджера. Он помогает для изменения отображения элементов в полях ввода. А для ормы списка не нашел вариантов.
Есть ли такая возможность?

Автор: denis84 26.09.24, 15:55

Slon747 @ Сегодня, 15:54 * ,
а якщо зробити - ще одну форму списку тільки з англ.найменуванням і показувати її цим користувачам? можливо і бредова ідея - але як варіант

Автор: Slon747 26.09.24, 17:26

Цитата(denis84 @ 26.09.24, 16:55) *
а якщо зробити - ще одну форму списку тільки з англ.найменуванням і показувати її цим користувачам?


Та я так і робів, але:
Цитата(Slon747 @ 26.09.24, 15:54) *
Скрывал колонку "Наименование" и делал видимой "НаименованиеПоАнглийски".
Но в случае иерархического справочника пропадает картинка (группа/элемент) и не понятно, строка - группа или элемент.


Автор: Slon747 27.09.24, 8:17

С колонками немного не так. Это я напутал.
Значки папок исчезают вместе с Наименованием если на форме списка СправочникДерево (иерархия) и СправочникСписок (элементы).
Так что если не будет более изящного решения, придется добавлять для таких справочников отдельные формы.

Автор: TohaMonster 27.09.24, 9:28

Ну, можно извернуться в запросе построения Динамического списка формы (сделать произвольный запрос). Типа:

...
ВЫБОР
    КОГДА &Язык = "EN"
        ТОГДА СправочникНоменклатура.НаименованиеПоАнглийски
    ИНАЧЕ СправочникНоменклатура.Наименование
КОНЕЦ КАК Наименование,
...


А в ПриСозданииНаСервере()
...
    КодЯзыка = "";
    Если РольДоступна("Англичанин")Тогда
       КодЯзыка = "EN";
    КонецЕсли;
    ЗначениеПараметраКомпоновкиДанных = Список.Параметры.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Язык"));
    Если ЗначениеПараметраКомпоновкиДанных <> Неопределено Тогда
        ЗначениеПараметраКомпоновкиДанных.Значение = КодЯзыка;
        ЗначениеПараметраКомпоновкиДанных.Использование = ИСТИНА;
    КонецЕсли;
...


Но есть у меня чуйка, что должен быть более изящный способ в платформе

Автор: Slon747 27.09.24, 9:57

TohaMonster @ Сегодня, 10:28 * ,
Но речь про обычные формы )

Автор: Moloko 27.09.24, 11:28

// при выводе строки списка
Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    // ...
    // ...
    ОформлениеСтроки.Ячейки.Наименование.УстановитьТекст(ДанныеСтроки.НаименованиеПоАнглийски);
КонецПроцедуры

Автор: Slon747 27.09.24, 12:00

Moloko @ Сегодня, 12:28 * ,
Отлично!
Мне почему-то в голову не приходило использовать УстановитьТекст для колонок с реальными данными.
Спасибо!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua