Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обычные формы, язык внешней обработки
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
MK-61
Есть внешняя обработка. Написана на русском языке. Открываю её в базе, где языком пользователя выбран украинский. При таком открытии все надписи во внешней обработке становятся пустыми, т.к. не заполнены строки на украинском языке. В связи с этим есть два вопроса:
1. Возможно ли автоматически скопировать текст с надписей на русском в надписи на украинском, чтобы вручную не заполнять поля на укр. языке?
2. Возможно ли в самой обработке где-нибудь в ПриОткрытии указать, что она не мультиязычная, а одноязычная. Чтобы при открытии в базе на другом языке текст надписей все равно отображался, без необходимости дописывать все надписи на других языках?
Спасибо.
Moloko
MK-61 @ Вчера, 13:50 необходимо зарегистрироваться для просмотра ссылки ,
Конфигуратор - Правка - Редактирование текстов интерфейса. Встроенный сервис поможет вам перевести тексты форм и модулей на любой язык. Но с лёту не получится, знаю по собственному опыту.
zay
MK-61 @ 08.07.22, 14:50 необходимо зарегистрироваться для просмотра ссылки ,
  1. Нет
  2. И да и нет

Насколько я понял вы хотите сделать все просто, одной строкой. Как сделать одной строкой не знаю, можно написать процедуру. Обходим в цикле все элементы формы и в зависимости от типа элемента меняем заголовок
Как-то так:
Для каждого ЭлементФормы из ЭтаФорма.ЭлементыФормы Цикл

    ТипЭлемента = ТипЗнч(ЭлементФормы);

    Если (ТипЭлемента=Тип("Надпись") ИЛИ ТипЭлемента=Тип("Кнопка")) Тогда
        
        ЭлементФормы.Заголовок = НСтр("ru='"+ЭлементФормы.Заголовок+"';uk='"+ЭлементФормы.Заголовок+"'");
        
    ИначеЕсли (ТипЭлемента=Тип("КоманднаяПанель")) Тогда
    
        КоллекцияКнопокКоманднойПанели = ЭлементФормы.Кнопки;
        
        Для каждого Кнопка из КоллекцияКнопокКоманднойПанели Цикл
            
            Если Кнопка.ТипКнопки = ТипКнопкиКоманднойПанели.Действие Тогда
            
                Кнопка.Заголовок = НСтр("ru='"+Кнопка.Заголовок+"';uk='"+Кнопка.Заголовок+"'");
                
            ИначеЕсли Кнопка.ТипКнопки = ТипКнопкиКоманднойПанели.Подменю Тогда
                
                Для каждого КнопкаПоменю из Кнопка.Кнопки Цикл
                    
                    Если КнопкаПоменю.ТипКнопки = ТипКнопкиКоманднойПанели.Действие Тогда
                    
                        КнопкаПоменю.Заголовок = НСтр("ru='"+КнопкаПоменю.Заголовок+"';uk='"+КнопкаПоменю.Заголовок+"'");
                        
                    КонецЕсли;
                    
                КонецЦикла;
                
            КонецЕсли;
            
        КонецЦикла;
        
    КонецЕсли;
    
КонецЦикла;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.