Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:43

Как подставить в табл.часть значение реквизита выбранного элемента справочника?

Автор detka_cccp, 21 фев 2012, 11:00

0 Пользователей и 1 гость просматривают эту тему.

detka_cccp

cska-fanat-kz и Dethmontt - МЕГАУВАЖУХА !!! Оба варианта пахнут профессионализмом в 1С ))
А я пока что написал по колхозному:
        Если   Клиент.Марка.Категория.Код = 1 Тогда
   ЭлементыФормы.Товары.ТекущиеДанные.Цена = ЭлементыФормы.Товары.ТекущиеДанные.Услуга.Цена1;
   КонецЕсли;
И таких Если у меня 8 штук ))) поскольку типов цен планируется ровно 8 и не более.
Проверки на ошибки тоже не стал делать поскольку типы цен будут устанавливаться раз и навсегда.

Еще подскажите пожалуйста, хочу сделать вот такую вещь:

Есть ПеременнаяСодержитЦифры и есть Переменная СодержитТекст.

Надо чтобы НоваяПеременная была равно СТРОКЕ ПеременнаяСодержитЦифры + Переменная СодержитТекст.
Иными словами, нужен например такой результат:     Сиреневый 2012

И еще совсем нигде не нашел - Как сделать так, чтобы в поле ввода вставали АВТОМАТИЧЕСКИ ТОЛЬКО ЗАГЛАВНЫЕ БУКВЫ??

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

detka_cccp

Догадался, написал.
Процедура НаименованиеОткрытие(Элемент, СтандартнаяОбработка)
     Наименование = ВРег (Наименование);
КонецПроцедуры
Однако в идеале хотелось бы чтоб вводимые символы изменялись сразу на верхний регистр, либо же печатались уже заведомо в верхнем регистре, независимо от действий пользователя.  А в данном листинге у меня регистр изменяет только при дезактивировании поля ввода, тоесть я написал, нажал ввод и только тогда регистр стал верхним.
Возможно ли в реальном времени ?

detka_cccp

Спасибо всем кто помогает!
Процедуру по присваиванию значений в строку я написал так:

ЖелаемаяСтрока = Строка(ПеременнаяСодержитЦифры) + "   "  + Строка(ПеременнаяСодержитБуквы) ;

В роли переменных выступили Рекизиты и их свойства.

cska-fanat-kz

А вы не ищете легких путей... )
Чем вас не устраивает метод ПриИзменении()?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Dethmontt

еще есть
Процедура ОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
   
   
   
КонецПроцедуры
                                                                         
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

detka_cccp

Метод ПриИзменении() не дает возможности изменения каждой буквы во время ввода, а изменяет лишь полностью введенный текст при дезактивировании поля ввода. Поэтому и не устраивает.

detka_cccp

Процедура ОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) тоже не дала желаемого результата. Придется оставить при изменении.

Теперь ломаю голову вот над чем:

Есть ТабличнаяЧастьНакладной, когда юзер в шапке накладной выбрал клиента далее он заполняет поля табл части, выбирая товары из справочника. Допустим юзер выбрал три позиции товара, однако в последний момент онпонял что ошибся с выбором клиента. Выбирает    другого клиента. Вот тут необходимо сделать чтобы заполненные элементы табличной части удалились. Как это сделать?  Я пробовал с функцией Очистить() но она лишь очищаетполя, при этом позиции остаются. Как полностью удалить старые позиции в табл части ???

detka_cccp

Оказывается  функция Очистить() очищает не только поля табл части, но и полностью может удалить выбранные элементы, выглядит это вот так:
РеквизитТабличнойЧасти1.Очистить();
В качестве рекв табл части1 у меня Расчетстоимостиуслуг.
Я поставил его в начало процедуры КлиентПриИзменении(Элемент) и теперь если выбирается другой клиент, то старые позиции товаров удаляются.

sergejK74

Цитата: detka_cccp от 24 фев 2012, 13:31
Метод ПриИзменении() не дает возможности изменения каждой буквы во время ввода, а изменяет лишь полностью введенный текст при дезактивировании поля ввода. Поэтому и не устраивает.
Тупое решение "в лоб". Находишь у поля ввода свойство "Маска" и пишешь в нем !!!!!!! (столько раз, какая длина строки) или UUUUUUUUU (количество символов определяется аналогично). Ведь тебе это нужно?
Кнопочка Спасибо - слева!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск