Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Использование спецсимвола 9, как обычной цифры 9 в маске 1с 7.7          
danil2304 Подменю пользователя
сообщение 11.05.16, 4:32
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день. Есть 3 переключателя, такой код:
Процедура ПриВыбореПерек()
    Если (ИП245 = 1) Тогда
        Форма.ИПАдрес1.Маска("173.234.14.999");    
    КонецЕсли;
     Если (ИП245 = 2) Тогда
            Форма.ИПАдрес1.Маска("10.156.187.999");
    КонецЕсли;
     Если (ИП245 = 3) Тогда
            Форма.ИПАдрес1.Маска("192.168.3.999");  
    КонецЕсли;
КонецПроцедуры; //ПриВыбореПерек

При выборе последней маски в числе "192" 9-ка используется как спец символ, каким образом сделать так, чтобы она была частью маски?(То есть просто цифрой 9)

pablo Подменю пользователя
сообщение 11.05.16, 9:37
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

переписать обработку маски так, чтобы она их искала/заменяла только в последнем октете адреса


Signature
Правильно поставленный вопрос содержит до 90% ответа.

danil2304 Подменю пользователя
сообщение 11.05.16, 10:57
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

pablo @ Сегодня, 9:37 *,
А где она находится? Не могу найти.

pablo Подменю пользователя
сообщение 11.05.16, 14:45
Сообщение #4

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Вероятно, в модуле конфигурации "Управление космическими полетами"


Signature
Правильно поставленный вопрос содержит до 90% ответа.

danil2304 Подменю пользователя
сообщение 12.05.16, 4:31
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

pablo @ Вчера, 14:45 *,
А если серьезно? Перерыл все модули, не могу найти код, где присутствует маска

pablo Подменю пользователя
сообщение 12.05.16, 8:42
Сообщение #6

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Вы используете типовой механизм работы с встроенной функцией Маска(). Он вас не устраивает. В таком случае возможно изменить поведение функции только в случае, когда вы будете использовать не типовые элементы управления (из каких-либо внешних компонент). Стандартная Маска() весьма убога, но для Ваших старых айпишников - вполне годилась. Тут уже определяйтесь, что дешевле - сменить айпишники или подключить, настроить и использовать ВК.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

danil2304 Подменю пользователя
сообщение 12.05.16, 12:37
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

pablo @ Сегодня, 8:42 *,
То есть, как я понял, встроенную функцию Маска() редактировать не получится?
Что есть "ВК"?
Цитата(pablo @ 12.05.16, 8:42) *
подключить, настроить и использовать ВК.


volodya1122 Подменю пользователя
сообщение 12.05.16, 14:24
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

Можно сделать не совсем красиво но эффективно. (например так, два варианта)
1. Так как пользователю в любом случае нужно вводить только три последних символа, то и разрешить вводить только три последних символа. а преффикс на форме выводить "текстом" А потом в модуле склеить эти два значения.
2. В маске заменить девятку на латинскую букву "g". А после ввода сделать преобразование этой строки СтрЗаменить(ИРАдрес1,"g",9)

Сообщение отредактировал volodya1122 - 12.05.16, 14:26

Спасибо сказали: danil2304,

danil2304 Подменю пользователя
сообщение 13.05.16, 4:51
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

volodya1122 @ Вчера, 14:24 *,
о 1ом я уже думал, а вот второй вариант у меня не выходит. Помещал СтрЗаменить и в функцию выбора и в процедуру "ПриЗаписи" - не меняет, по факту записывает букву g, строчку писал и СтрЗаменить("ИПАдрес1,"g",9);(тут, на сколько я понимаю ИПАДрес1 будет простро строкой, а не переменной) и СтрЗаменить(ИПАдрес1,"g",9);, а так решение понравилось.

volodya1122 Подменю пользователя
сообщение 13.05.16, 15:09
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

danil2304 @ Сегодня, 5:51 *,

Только что проверил.
Формулу
ИПАдр=СтрЗаменить(ИПАдр,"g",9);

нужно повесить на реквизит на форме, в процеедуру ПриОткритии() и в процедуру ПриЗаписи()
На форме будет отображаться как должно быть по маске, а в бузу запишется с девяткой (проверил в форме списка сравочника)

Но в таком случае есть один существенный минус; каждый раз появляется запрос на сохранения справочника (Даже если реально изменений справочника небыло.
Можно сделать по другому: оставлять в базе с "g". В во всех отчетах, документах,..... где используется этот ИПАдрес делать замену g на 9.

Еще можно в справочнике ИР записывать через промежуточную переменную. (тоисть на форме выродить не реквизит справочника, а переменную. корорую связать с нужным реквизитом) - у меня именно так сделано - но немножко для другого случая. В таком случае 1с не задает лишних вопросов

Спасибо сказали: danil2304,

danil2304 Подменю пользователя
сообщение 16.05.16, 5:55
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

volodya1122 @ 13.05.16, 15:09 *,
Отлично работает, спасибо. Даже все проверки, которые идут после этой замены и проверка на уникальность ИП работает. Спасибо.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.04.24, 12:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!