1с получитьсклонениястроки файл не обнаружен
Начиная с версии платформы 1С 8.3.13 стали доступными методы склонения строк. Это – «ПолучитьСклоненияСтроки» и «ПолучитьСклоненияСтрокиПоЧислу». Событие крайне важное, однако данный функционал столь же полезен, сколько и опасен. Так что настраивать склонения в 1С нужно с умом, чему Вы и научитесь, дочитав данный текст до конца. Сразу оговорюсь, что в статье речь пойдет только о первом методе.
Про полезность можно не рассказывать – огромное количество задач требуют использования словосочетаний и слов в падежах, отличных от именительных. А вот опасности надо перечислить.
1. Метод является черным ящиком (глобальный контекст). Есть только результат. А насколько результат являются единственным и правильными – вопрос открытый.
2. Потребность в склонениях в 1С возникает при работе с печатными формами: акты, накладные, договоры и т.д. В предпринимательской деятельности большая часть – это юридически значимые документы, где грамматические ошибки чреваты юридическими последствиями.
3. Русский язык богат и могуч. Падежи в русском языке подчиняются жестким правилам. Для получения падежа для имени собственного специально в явном виде указывается параметр «Пол». Это дает практически 100% результат. Но бывает так, что не один.
Таким образом правильным решением было бы отказаться от использования способа «слепо доверять», а применять инструмент Склонения по падежам в 1С как вспомогательный.
2. Описание метода «ПолучитьСклоненияСтроки»
Описание метода доступно в синтаксис-помощнике. Кратко:
ПолучитьСклоненияСтроки(, , )
Локализация: ru_RU, en_US и т.д
Пол: Мужской, Женский – это если метод применяется для склонения собственных имен. Речь идет именно про пол, а не про род.
Падеж: Именительный, Родительный и т.д. до Предложного.
Результат – массив. В результате может быть один или несколько вариантов, но всегда массив. Поэтому для подстановки, например, значения в печатную форму необходимо выбрать элемент массива. Чаще всего первый. Либо предоставить право выбора элемента массива пользователю.
3. Эксперименты по склонению в 1С
Для проведения экспериментов по склонению в 1С была сделана простенькая обработка. Код модуля:
Яйцо (по одному экземпляру каждого падежа):
· Именительный (Кто? Что?): яйцо
· Родительный (Кого? Чего?): яйца
· Дательный (Кому? Чему?): яйцу
· Винительный (Кого? Что?): яйцо
· Творительный (Кем? Чем?): яйцом
· Предложный (О ком? О чем?): яйце
Мартина Навратилова (Указан пол: Женский):
· Именительный (Кто? Что?): Мартина Навратилова
· Родительный (Кого? Чего?): Мартины Навратиловой
· Дательный (Кому? Чему?): Мартине Навратиловой
· Винительный (Кого? Что?): Мартину Навратилову
· Творительный (Кем? Чем?): Мартиной Навратиловой
· Предложный (О ком? О чем?): Мартине Навратиловой
Кий (легендарный основатель Киева. Указан пол: Мужской)
· Именительный (Кто? Что?): Кий
· Родительный (Кого? Чего?): Кия
· Дательный (Кому? Чему?): Кию
· Винительный (Кого? Что?): Кия
· Творительный (Кем? Чем?): Кием
· Предложный (О ком? О чем?): Кии
Предложный падеж в 1С для этого имени – Кие. Существительные на -ий, -ия с односложной основой имеют в безударном положении по общему правилу окончание -е. Аналогично: Вий.
Сегодня выпустили УПП 152.2
Накатил на демо глянуть изменения, при входе в режим предприятия
: Процедура или функция с указанным именем не определена (ПолучитьСклоненияСтроки)
ФормыИмениДокумента.Склоненная = >ПолучитьСклоненияСтроки(НРег(Лев(ФормыИмениДокумента.Основная, 1)) + Сред(ФормыИмениДокумента.Основная, 2), , "ПД=Винительный")[0];
(5) Ну и классическое: "Текущий релиз конфигурации "Управление производственным предприятием" предназначен для использования с версией системы 1С:Предприятие 8 не ниже 8.3.13".
А что, в предыдущем релизе эта строка (0): ФормыИмениДокумента.Склоненная = НРег(Лев(ФормыИмениДокумента.Основная, 1)) + Сред(ФормыИмениДокумента.Основная, 2); // имя с маленькой буквы - неправильно работала?
(9) Может, реально понадобился винительный падеж, а может, фирма 1С просто взяла и именем революции решила, что так будет красивее. На самом деле, если вы не работаете с ГИС МП, то можно просто вернуть эту строку к старому виду или вовсе закомментировать. Другой вопрос, что потом это, скорее всего, придется делать повторно, а также могут добавиться новые подобные вызовы в других местах.
(13) еще не заполняется поле хеш у больничного листа, как следствие в реестре больничный считается бумажным
еще не загружаются первичные листки нетрудоспособности по беременности и родам
так что у вас еще всё впереди, только самое простое обнаружили
(14) правда я по зупу 2.5 написал, но казалось бы в упп должно быть точно также, ан нет
в зупе нет ошибки с lnResult
(13) ну что? уже хочется вернуться на версию 1.1? Тогда бездумно название поля с отчеством не правим, т.к в 1.1 оно написано через I, а добавляем проверку на версию как в куче других мест
(18) Возможно хэш не заполняется, но по крайней мере ошибку пользователям не выдает. а с остальным уже будем разбираться
(12) А обновил на 1.3.152.2? В конфигурации были/есть свои изменения? Что-то мне дает: Ошибка при выполнении файловой операции. Даже на 8.3.16.1359 (поставил для ERP/КА2).
(20) Обновил. Эту строку кода заменил как в (9)
Конфа перепилина вдоль и поперек) Надо подниматься на новую платформу, но тогда падают вещи, дописанные нами лет 10-12 назад. Там используются функции, которые новые платформы не понимают уже. Замкнутый круг получается - надо садиться и переписывать конфу под новую платформу.
(21) Работает на 8.3.12? А никак не могу (20)!? Смотрю v8: v8: Ошибка при выполнении файловой операции (решение), думаю тоже снять, и поставить на поддержку 1.3.152.2. Но как свои изменения не потерять?
Уже на свой комп поставил платформу 8.3.13.1926, все равно та же Ошибка при выполнении файловой операции?
(24) Конфигурация/Сравнить, объединить с конфигурацией из файла. но нет в фильтре возможности выбрать: Показывать отличия новой от старой конфигурации поставщика, как при обычном обновлении. Пришлось просматривать все где есть мои изменения.
Ладно, обновил УПП на 1.3.152.2, сейчас новая проблема: при попытке открыть любой документ выскакивает предупреждение, например для реализации:
При подписке РассчитатьСтатусОформленияТТНИсходящаяЕГАИС на событие ПриЗаписи произошла ошибка. Метод обработчика события РассчитатьСтатусОформленияТТНИсходящаяЕГАИС не найден.
Вроде это для алкоголиков, у нас автосервис, все запчасти безалкогольные. Может где в настройках УПП надо это указать? Как найти откуда это лезет?
(29)Там есть такая функция
Как я понимаю, ФСС отдает данные в формате 1.1, отсюда все проблемы (не получает ln_hash и путаница с наименованиями полей), видимо не все мед. организации перешли на формат 2.0 или что-то в это роде.
153.1 сегодня смотрел. Кажется, модуль ОбменСведениямиОПособияхсФСС заметно перепахан. Никто больнюки не тестил?
При формировании документов часто возникает потребность выводить словосочетания, согласованные с числительными. Например, «получено 3,5 метра медного провода». Но раньше в платформе инструментов для решения таких задач не было, либо задействовались внешние компоненты.
Теперь функциональность, позволяющая склонять словосочетания с числительным, предусмотрена в «1С:Предприятие» версии 8.3.14.
Новый метод
Чтобы итоговое словосочетание выглядело «красивее», разработчики добавили возможность указывать в явном виде, какое числительное потребуется в предложении: количественное или порядковое. Тогда к порядковым числительным платформа автоматически добавит буквенное падежное окончание:
Вариантов представления чисел в «готовом» словосочетании несколько. Их можно представить прописью, окончанием или числом, например:
Склонение словосочетаний без числительных
Кроме того, разработчики научили платформу склонять и словосочетания без числительных. Например, должность и ФИО сотрудника в правильном падеже. Для этого уже в версии платформы 8.3.13 реализован метод ПолучитьСклоненияСтроки().
Этот метод понимает несклоняемые фамилии и довольно хорошо склоняет сложные и иностранные имена. В сложных случаях механизму можно подсказать правильный вариант:
Но разработчики отмечают, что метод ПолучитьСклоненияСтроки() в большинстве случаев правильно работает и «без подсказок». Например, он:
- не склоняет мужские имена, оканчивающиеся на гласную;
- не склоняет женские имена, оканчивающиеся на некоторые гласные, и склоняет остальные женские имена;
- в двойных именах склоняет только второй компонент;
- фамилии, оканчивающиеся на согласный, не склоняет у женщин и склоняет у мужчин.
В «1С» надеются, что новые методы позволят сделать прикладные решения более удобными для пользователей.
Мне приятно осознавать, что многим людям полезна информация, представленная на портале. Об этом я сужу лишь по растущей посещаемости сайта. Но радость не может быть полной без обратной связи. Поэтому, если у Вас есть вопросы или пожелания по контенту сайта или его оформлению, я с удовольствием рассмотрю их.
Если Вы не смогли найти на сайте ответ на интересующий Вас вопрос — задайте его здесь, в разделе Комментарии.
Комментарии
1 с 7.7 загрузили старую поверх новой, базу хотим вернуть обратно что было, что можно сделать?
Нет никакой выгрузки.
Боюсь, ничего не выйдет: даже если «танцевать с бубном», нет никаких гарантий…
Здравствуйте! Не отображается печать в счёте.
1С 8.3.
В реквизитах своей организации присоединены файлы печати и подписей (логотип не используем). Правда в списке присоединяемы файлов их больше и наименования на русском. При печати части документов реквизиты отображаются корректно, а при печати счета оплаты покупателю, в котором файл печати был привязан до обновления — печать не отображается.
Кроме того в списке присоединённых файлов есть файл, который использовался в прошлых версиях с наименованием «Безымянный 2», который стандартными средствами не удаляется. Сообщает, что привязан к информации об организации, но в карте привязки не просматриваются.
Подскажите, пожалуйста, как быть!
Елена, присоединенные файлы хранятся в базе 1С и язык наименования файла не играет роли. Если при пробной печати счета из карточки организации (кнопка «Предварительный просмотр печатной формы счета») Вы видите загруженную печать, а при печати из документов — нет, подозреваю, что проблема кроется в макете самой печатной формы счета. Попытайтесь вспомнить, может быть, ранее ее правил программист и не учел этих моментов. В любом случае, для более детального изучения проблемы рекомендую Вам обратиться к партнеру, на сопровождении у которого находится ваша организация.
Будут ли обезличены операции, выполненные определенным пользователем, если учетная запись этого пользователя будет удалена? Спасибо….
Игорь, если мы говорим про 7.7, то нет. Поскольку записи журнала хранятся в текстовом виде, то изменение имени пользователя или его удаление не приведут к обезличиванию записей в журнале событий.
Добрый день!
1С 8.3, нашла у Вас хороший ответ на вопрос по ошибке
«Операции сравнения допустимы только над значениями совпадающих базовых типов (число, строка, дата)»
у меня она выпадает при формировании документа «прайс лист». Причем, несмотря на выдаваемую ошибку, 1С цены все таки считает.
Дело в том, что я не разработчик, а продвинутый пользователь. Формулы цен вроде правильные. второй день сижу.
С одной стороны, УТ все посчитала. Но это сейчас. Возможно, после очередного обновления не будет считать, когда 1С что то найдет и поправит, поэтому боюсь в таком виде запускать формирование, чтобы потом 30 новых колонок с ценами не создавать.
Добрый день, Надежда!
Подозреваю, что какой-то из видов цен, используемых в формуле, не установлен. Попробуйте использовать вместо оператора <> функцию ЗначениеЗаполнено(). Оно будет истинно, только если значение отлично от нуля и не равно null
В состав актуальных типовых конфигураций входит подсистема «Склонение представлений объектов» Библиотеки стандартных подсистем в 1С (БСП), основное назначение: склонение ФИО в 1С, должностей и прочих наименований (например, номенклатуры).
Состав объектов подсистемы представлен на рисунке:
Рисунок 1. Состав объектов подсистемы (БСП v3.1)
Рассмотрим подробнее, как устроен данный механизм.
Объекты метаданных, для которых доступен механизм склонения, перечислены в свойстве Тип определяемого типа ОбъектСклонения. В демонстрационной конфигурации БСП 8.3 определены следующие типы:
Рисунок 2. Типы объектов склонения
1) Во всех формах элементов, для которых встраивается склонение, в обработчике ПриСозданииНаСервере добавлен фрагмент кода:
Рисунок 3. Фрагмент кода в обработчике ПриСозданииНаСервере
В параметре Представление указывается реквизит, который должен склоняться.
2) Во всех формах элементов, для которых встраивается склонение, в обработчике ПриЗаписиНаСервере добавлен фрагмент кода:
Рисунок 4. Фрагмент кода в обработчике ПриЗаписиНаСервере
В параметре Представление указывается реквизит, который должен склоняться.
В параметре ПараметрыСклонения необязательно передается структура дополнительных параметров склонения. Для конструирования структуры используется функция ПараметрыСклонения общего модуля СклонениеПредставленийОбъектовКлиентСервер.
3) Во всех формах элементов, для которых встраивается склонение, рядом с реквизитом, который необходимо просклонять, добавлена команда в виде гиперссылки с названием Склонения. Обработчик команды:
Рисунок 5. Фрагмент кода команды Склонения
В параметре Представление указывается реквизит, который должен склоняться.
В параметре ПараметрыСклонения не обязательно передается структура дополнительных параметров склонения. Для конструирования структуры используется функция ПараметрыСклонения общего модуля СклонениеПредставленийОбъектовКлиентСервер.
4) Во всех формах элементов, для которых встраивается склонение, в обработчике ПриИзменении реквизита, который должен склоняться, добавлен фрагмент кода:
Рисунок 6. Фрагмент кода в обработчике ПриИзменении
В параметре Представление указывается реквизит, который должен склоняться.
В параметре ПараметрыСклонения не обязательно передается структура дополнительных параметров склонения. Для конструирования структуры используется функция ПараметрыСклонения общего модуля СклонениеПредставленийОбъектовКлиентСервер.
Результат склонения записывается в регистр сведений «Склонения представлений объектов». Состав регистра представлен на рисунке:
Рисунок 7. Состав регистра «Склонения представлений объектов»
Измерение ХешПредставления содержит строковый результат вычисления переданного значения Представление по алгоритму MD5, а измерение Объект – значение определяемого типа ОбъектСклонения.
При обращении к методу склонения в 1С первым делом проверяется наличие результата в регистре сведений «Склонения представлений объектов». А склонение выполняется только при отсутствии записи или при вызове специального метода повторного заполнения.
Само же склонение в 1С 8.3 выполняется одним из способов, указанным в настройках подсистемы: через сторонний сервис «Морфер» или внутренний механизм платформы. Метод ПолучитьСклоненияСтроки() - доступен, начиная с версии платформы 8.3.13.
Настройка сервиса «Морфер» осуществляется в разделе «Администрирование – Интернет-поддержка и сервисы – Склонения представлений объектов»:
Рисунок 8. Настройка сервиса "Морфер"
При использовании сервиса рекомендуется выполнить регистрацию и в параметрах указать Токен, генерируемый в личном кабинете. Но стоит иметь в виду, что бесплатный вариант использования сервиса ограничен максимум 100 запросами в сутки.
Внутренний механизм платформы также выполняет склонение в 1С достаточно хорошо и может быть достойной альтернативой платному сервису.
2. Внутренние механизмы платформы
Начиная с версии платформы 8.3.13 был реализован метод ПолучитьСклоненияСтроки().
Указанный метод позволяет правильно «склонять» несклоняемые фамилии. Также он отлично справляется со сложными и иностранными именами. В особо сложных случаях есть возможность дополнительно указать, какой род следует использовать. Метод без ошибок обрабатывает следующие грамматические правила:
· склонение мужских имен, оканчивающихся на гласную;
· склонение женские имен, оканчивающихся на некоторые гласные;
· склонение только второй компоненты в двойных именах;
· склонение фамилий, оканчивающихся на согласный.
Начиная с версии платформы 8.3.14.1565 был добавлен новый метод ПолучитьСклоненияСтрокиПоЧислу(), позволяющий выводить согласованные с числительными и имеющие определенную падежную форму словосочетания. Рассмотрим основные варианты использования данного метода.
2.1 Склонение в 1С
В самом простом случае используется только возможность склонения, а числовое значение выводится одними цифрами:
2.2 Склонение количественных и порядковых числительных
Для «придания красоты» итоговому словосочетанию можно в явном виде указать разряд числительного, используемого в предложении: порядковое или количественное. В этом случае платформа самостоятельно добавит к порядковым числительным буквенное падежное окончание:
2.3 Представление числа в 1С
Поддерживается возможность самостоятельно задать то, как в итоговом словосочетании будет представлено число: как число, как число прописью или как число с окончанием. Единственное о чем следует не забывать: окончания не используются с количественными числительными и в некоторых других случаях:
2.4 Склонение единиц измерения
Нередко требуется просклонять совместно с цифровым значением также и указанные единицы измерения. Причем для дробных значений целая и дробная части могут измеряться в разных единицах. В подобной ситуации есть возможность указать как сами единицы, так и используемое количество разрядов дробной части:
2.5 Сложные словосочетания примеры
На уровне платформы поддерживается склонение в 1С достаточно сложных синтаксических конструкций: автоматически определяются подлежащие склонению слова и, например, игнорируются фрагменты текста, заключенные в кавычки:
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) --> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) -->
Вас могут заинтересовать следующие вебинары:
Читайте также: