Всем привет!
Кто уже пользовался с новой фичей ИзменениеИКонтроль?
У меня ошибки:
{РасширениеУТ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. После этого закрытие месяца опять работает в штатном режиме.
-
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
Есть выход из этой ситуации? Подскажите, пожалуйста.