6 новых функций, которые не следует использовать в режиме совместимости
Функции на самом деле удобны и помогают разработчикам в решении повседневных задач, но их нельзя использовать в режиме совместимости. Поэтому придется еще немного подождать, когда уже все потихоньку перейдут на последнии версии платформы, и можно будет не задумываясь использовать нововведения и радоваться жизни.
Когда пишете на "своих" конфигурациях, тогда можно делать что душе угодно, но когда разработка идет в "чужую" конфигурацию - стоит задуматься каким путем пойти:
- Использовать новые функции и обязать заказчика перейти на свежую платформу
- Сделать проверку текущей версии платформы и использовать новые функции и старые механизмы работы
- Использовать только старые механизмы работы
Функция работы со строками СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Функция выполняет поиск подстроки в различных направлениях и не только с начала строки.
В режиме совместимости 8.3.5 и ниже возникает ошибка : Процедура или функция с указанным именем не определена (СтрНайти) Сообщить(<<?>>СтрНайти("1","2212"));
Остается довольствоваться тем, что имеем
меньше возможностей, но не вылетает с ошибкой
Функция Найти() осталась только для совместимости с 8.3.5 и в дальнейшем ожидаем, что ее не станет.
Функция работы со строками СтрШаблон(<Шаблон>, <Значение1-Значение10>)
Функция выполняет замену маркеров подстановки (вида %1) в шаблонной строке на реальные значения.
В режиме совместимости возникает ошибка : Процедура или функция с указанным именем не определена (СтрШаблон) Сообщить(<<?>>СтрШаблон("Ошибка в строке "" %1 ""","МояСтрока"));
Функция работы со строками СтрСравнить(<Строка1>, <Строка2>)
Функция выполняет лексикографическое сравнение строк без учета регистра.
Возникающая ошибка : Процедура или функция с указанным именем не определена (СтрСравнить) Сообщить(<<?>>СтрСравнить("Первая строка", "Вторая строка"));
Но можно сделать по-другому
Функция работы со строками СтрНачинаетсяС(<Строка>,<СтрокаПоиска>)
Функция проверяет, что строка начинается на подстроку.
Возникает ошибка : Процедура или функция с указанным именем не определена (СтрНачинаетсяС) Сообщить(<<?>>СтрНачинаетсяС("http://google.com", "http://"));
Но можно сделать по-старому
Функция работы со строками СтрЗаканчиваетсяНа(<Строка>, <СтрокаПоиска>)
Функция проверяет, что строка оканчивается подстрокой.
Возникает ошибка : Процедура или функция с указанным именем не определена (СтрНачинаетсяС) Сообщить(<<?>>СтрНачинаетсяС("http://google.com", "http://"));
Но можно сделать по-другому
Функция работы со строками СтрРазделить(<Строка>,<Разделитель>,<ВключатьПустые>) Функция работы со строками СтрСоединить(<Строки>, <Разделитель>)
Функция СтрРазделить() разделяет строку на части по указанному разделителю.
Функция СтрСоединить() соединяет строки из массива подстрок.
Удобные функции, но возникает ошибка
: Процедура или функция с указанным именем не определена (СтрРазделить) Массив = <<?>>СтрРазделить("1,2,3,4,5,6,7,8,9,,10",",",Ложь);//вернет массив : Процедура или функция с указанным именем не определена (СтрСоединить) Строка = <<?>>СтрСоединить(Массив,",")//вернет 1,2,3,4,5,6,7,8,9,10
Если вы уверены, что разработка будет использоваться на платформе выше 8.3.6.1977, то можете смело использовать все нововведения, иначе придется работать по старинке.
Специальные предложения- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
(3) AlexanderKai, Когда пишете на "своих" конфигурациях, тогда можно делать что душе угодно, но когда разработка идет в "чужую" конфигурацию - стоит задуматься каким путем пойти:
1) Использовать новые функции и обязать заказчика перейти на свежую платформу 2) Сделать проверку текущей версии платформы и использовать новые функции и старые механизмы работы 3) Использовать только старые механизмы работы
По первому пункту - как повезет, не всегда заказчик будет гореть желанием перейти на новую платформу по своим причинам и отговоркам коих найдется не один десяток.
По второму - идеальный вариант, но не каждый разработчик будет перед каждым вызовом новой функции строить городульки чтобы узнать версию платформы. Хотя данный вариант имеет право на жизнь.
И по третьему - самый оптимальный (мое субъективное мнение) гораздо проще второго варианта, но уступает первому в том что не помогает продвижению новых платформ в массы
- Скопировать ссылку
- Перейти
Нам со стороны разрабатывали подсистему приема бюджетных обязательств по отыгранным тендерам и запросам котировок цен для БГУ 1.0 и нарукожопили с использованием новых функций.
(3) AlexanderKai, этот вариант не работает. Ругается на то что данной функции вообще нет.(7)
denis_aka_wolf, статью поправь, второй вариант не рабочий.
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
Такой код все равно работать не будет!
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
- Скопировать ссылку
- Перейти
(20) DitriX, Всё так кроме : СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска> , <НачальнаяПозиция>, <НомерВхождения>)
Системное перечисление НаправлениеПоиска в режиме совместимости отсутствует.