1с ошибка ожидается оператор препроцессора

Всем привет!

Кто уже пользовался с новой фичей ИзменениеИКонтроль?

У меня ошибки:

{РасширениеУТ11_ЮК Обработка.ПечатьСчетовНаОплату.МодульМенеджера(98,3)}: Ожидается оператор препроцессора

    #<<?>>Вставить (Проверка: Сервер)

{РасширениеУТ11_ЮК Обработка.ПечатьСчетовНаОплату.МодульМенеджера(117,3)}: Ожидается оператор препроцессора

    #<<?>>КонецВставить (Проверка: Сервер)

Версия платформы 8.3.15.1565

Хотел чуть доработать процедуру обработки ПечатьСчетовНаОплату в УТ 11.4.9.7:

&ИзменениеИКонтроль(«ЗаполнитьРеквизитыПодвалаСчетаНаОплату»)

Процедура Расш1_ЗаполнитьРеквизитыПодвалаСчетаНаОплату(ДанныеПечати, Макет, ТабличныйДокумент, ТаблицаЭтапыОплаты, СоответствиеСтавокНДС, ПараметрыПечати)

Кто знает как побороть эти ошибки? )

На чтение 3 мин. Просмотров 322 Опубликовано 15.12.2019

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Директивы компиляции:

&НаКлиенте (&AtClient)
&НаСервере (&AtServer)
&НаСервереБезКонтекста (&AtServerNoContext)

следует применять только в коде модулей управляемых форм и в коде модулей команд. В остальных модулях рекомендуется применять инструкции препроцессору.

В серверных или клиентских общих модулях контекст исполнения очевиден, поэтому смысла в директивах компиляции нет. В общих модулях с признаками клиент и сервер применение директив компиляции затрудняет понимание, какие же процедуры (функции) доступны в конечном итоге.

2. Не следует использовать инструкции препроцессора в клиент-серверных общих модулях для проверки клиентского и серверного контекстов (#Если Сервер, #Если Клиент) ввиду невозможности надежного определения контекста исполнения. Процедуры и функции, которые работают по-разному при вызове с клиента и с сервера, следует размещать в общих модулях с постфиксами Клиент и Сервер , а не КлиентСервер .

В противном случае невозможно гарантировать корректную работу клиент-серверных процедур и функций в различных режимах работы платформы 1С:Предприятие.

Функция КодОсновногоЯзыка() Экспорт
#Если НЕ ТонкийКлиент И НЕ ВебКлиент Тогда
Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
#Иначе
Возврат СтандартныеПодсистемыКлиент.ПараметрКлиента(«КодОсновногоЯзыка»);
#КонецЕсли
КонецФункции

Функция КодОсновногоЯзыка() Экспорт
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
Возврат Метаданные.ОсновнойЯзык.КодЯзыка;
#Иначе
Возврат СтандартныеПодсистемыКлиент.ПараметрКлиента(«КодОсновногоЯзыка»);
#КонецЕсли
КонецФункции

Правильно: разделить на две одноименные функции в серверном и клиентском модуле с различной реализацией. В общем случае, когда у них имеется определенная общая часть, одинаковая для клиента и сервера, то для того чтобы избежать дублирования кода, этот общий код (и только его) следует оставить в клиент-серверном общем модуле и вызывать его из клиентской и серверной функций, соответственно. Тем самым надежно достигается различное поведение в клиентском и серверном контекстах без использования инструкций препроцессора.

В то же время, как и в обычных клиентских модулях, допустимо ветвление кода для учета специфики различных режимов работы клиентского приложения: веб-клиент, тонкий или толстый клиент (например, #Если ВебКлиент).

3. Не следует разрывать инструкциями препроцессора и областями отдельные грамматические конструкции, выражения, а также объявления и места вызова процедур и функций.

Процедура Пример1()
а = 1
#Область ИмяОбласти
+ 2;
#КонецОбласти // разрыв выражения
КонецПроцедуры

#Область ИмяОбласти
Процедура Пример2()
// .
#КонецОбласти // разрыв процедуры
КонецПроцедуры

Если Тогда
// .
#Если ВебКлиент Тогда // разрыв блока Если
Иначе
// .
#КонецЕсли
КонецЕсли;

Результат = Пример4(Параметр1,
#Если Клиент Тогда
Параметр2, // некорректный вызов функции
#КонецЕсли
Параметр3);

Данные ошибки диагностируются автоматически с помощью среды разработки 1C:Enterprise Development Tools (EDT).

Правильно использовать инструкции препроцессора без разрыва конструкций.

При запуске «Закрытие месяца» выдает сообщение об ошибках

Как устранить Ошибку

В файле ReadMe.txt, который входит в пакет обновления релиза сказано:

Внимание!
Текущая версия конфигурации «Бухгалтерия предприятия» предназначена
для использования с версией системы 1С:Предприятие не ниже 8.3.8.1747
При работе с операционной системой Microsoft Windows 10 необходимо использовать версию 8.3 платформы «1С:Предприятие».
Работа конфигурации в режимах совместимости «Версия 8.3» и «Версия 8.2.х» поддерживается.

Это означает, что
необходимо установить любую платформу линейки 8.3.х.хххх, но не ниже рекомендуемой 8.3.8.1747

Не путайте платформу с конфигурацией (редакцией, релизом)!

После установки новой платформы (8.3.х.хххх) запустите свою рабочую ИБ и ошибка исчезнет.

Подскажите пожалуйста
Установлена 1С: Предприятие 8.2 (8.2.12.87), на нее поставил 1С: Розница. Магазин автозапчастей 2.1 (2.1.3.11). Прои запуске ошибка: <ХранилищеНастроек. ХранилищеВариантовОтчетов (2,2)>: Ожидается оператор препроцессора
# >Область ПрограммныйИнтерфейс
<ХранилищеНастроек. ХранилищеВариантовОтчетов (199,2)>: Ожидается оператор препроцессора
# >КонецОбласти
<ХранилищеНастроек. ХранилищеВариантовОтчетов (201,2)>: Ожидается оператор препроцессора
# >Область ОбработчикиСобытий
<ХранилищеНастроек. ХранилищеВариантовОтчетов (423,2)>: Ожидается оператор препроцессора
# >КонецОбласти

С недавнего времени обновления конфигурации 1с Бухгалтерия 2.0 требует платформу 8.3. Об этом сообщается в самой базе и на сайте users.v8.1c.ru при скачивании обновления:

Внимание! Текущая версия конфигурации «Бухгалтерия предприятия» предназначена для использования с версией технологической платформы 1С:Предприятие 8 не ниже 8.3.8.1747.

Несколько релизов можно было обновить указывая в конфигураторе 1с файл обновления и процесс шел. База обновлялась и все работало.

Но теперь программисты стали использовать функционал платформы 8.3 в конфигурации 1с Бухгалтерия 2.0 и начались проблемы. Кто то писал про регламентированные отчеты, не знаю с этим не столкнулся.

Да электронные формы регламентированной отчетности для 2.0 выходят с задержкой. Но с этим как то можно жить. А вот с невозможностью закрытия месяца уже сложнее. Вот такая ошибка вылетает на платформе 8.2.19.130  с конфигурацией базы 2.0.66.16 и выше:

{ОбщийМодуль.РезервыПоСомнительнымДолгам.Модуль(1,2)}: Ожидается оператор препроцессора
#<>Область ПрограммныйИнтерфейс
{ОбщийМодуль.РезервыПоСомнительнымДолгам.Модуль(290,2)}: Ожидается оператор препроцессора
#<>КонецОбласти
{ОбщийМодуль.РезервыПоСомнительнымДолгам.Модуль(292,2)}: Ожидается оператор препроцессора
#<>Область РасчетРезервов
{ОбщийМодуль.РезервыПоСомнительнымДолгам.Модуль(765,2)}: Ожидается оператор препроцессора
#<>КонецОбласти
{ОбщийМодуль.РезервыПоСомнительнымДолгам.Модуль(767,2)}: Ожидается оператор препроцессора
#<>Область Коллекции
{ОбщийМодуль.РезервыПоСомнительнымДолгам.Модуль(910,2)}: Ожидается оператор препроцессора
#<>КонецОбласти

Все финал. Не можешь или не хочешь, прижали 1сники. Если конфигурация снята с поддержки можно по убирать области из модуля, нужно смотреть как повлияет. А для остальных – ставим платформу 8.3. После этого закрытие месяца опять работает в штатном режиме.

  1. 31.05.2017, 13:52


    #1

    Юльченок вне форума


    Пришел за помощью


    По умолчанию ошибки при заполнении декларации по ндс

    При попытке перезаполнить декларацию по ндс (нужно сделать корректировку) выдает ошибки и декларацию не заполняет: {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(11,2 )}: Ожидается оператор препроцессора
    #<<?>>Область ДекларацияНДС
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(31,2 )}: Ожидается оператор препроцессора
    #<<?>>Область ПодготовкаОбщихДанных
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(226, 2)}: Ожидается оператор препроцессора
    #<<?>>КонецОбласти
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(228, 2)}: Ожидается оператор препроцессора
    #<<?>>Область Разделы2и3
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(262, 2)}: Ожидается оператор препроцессора
    #<<?>>КонецОбласти
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(264, 2)}: Ожидается оператор препроцессора
    #<<?>>Область Раздел3Приложение1
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(355, 2)}: Ожидается оператор препроцессора
    #<<?>>КонецОбласти
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(357, 2)}: Ожидается оператор препроцессора
    #<<?>>Область Разделы4и6
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(526, 2)}: Ожидается оператор препроцессора
    #<<?>>КонецОбласти
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(528, 2)}: Ожидается оператор препроцессора
    #<<?>>Область ОбщиеПараметрыМногострани чныхРазделов
    {ОбщийМодуль.УчетНДСФормир ованиеОтчетности.Модуль(560, 2)}: Ожидается оператор препроцессора

    1С Предприятие 8.2.19.130 конф 2.0.66.28

    Есть выход из этой ситуации? Подскажите, пожалуйста.


Понравилась статья? Поделить с друзьями:
  • 1с ошибка область не найдена
  • 1с ошибка несоответствие версии
  • 1с ошибка неправильный псевдоним
  • 1с ошибка неопознанный оператор
  • 1с ошибка неизвестный формат картинки