Ошибка проверка толстый клиент обычное приложение

Что такое толстый и тонкий клиент в системе 1С предприятие 8.3? В чем отличия тонкого от толстого клиента?

Ваши программисты называют наших бухгалтеров «толстыми клиентами», примите меры!

Из жалоб пользователей руководителю проекта.

Что же это такое?

1С Предприятие имеет клиент-серверный архитектуру, а это значит, что система состоит из двух компонентов — клиента и сервера. Клиент — это совокупное название потребительского (пользовательского) приложения, а сервер — это часть служебная, скрытая от пользователя.

Получите 267 видеоуроков по 1С бесплатно:

Толстый клиент 1С

Толстый клиент — это «обычный» для 1С 8 вид клиентского приложения. Особенность данного вида приложения заключается в том, что большую часть информации система обрабатывает на компьютере пользователя. В толстом клиенте очень большая часть информации сохраняется на компьютере пользователя в виде временных файлов.

Так как большая часть данных обрабатывается на компьютере пользователя, данный режим очень требователен к каналу данных.

До появления платформы 1С 8.2 это был единственный вариант запуска системы 1С. Для запуска толстого клиента используется файл 1cv8.exe.

Работы по разработке прикладного решения (Конфигуратор) возможны только лишь в режиме толстого клиента.

Тонкий клиент 1С

Тонкий клиент появился в 1С с выходом платформы 8.2 и 8.3. Работа в режиме тонкого клиента возможна только в режиме управляемого приложения.

В режиме тонкого клиента все действия выполняются на сервере, пользователю выводится лишь отображение получаемой информации. Этот режим работы не требует больших ресурсов как системы, так и канала связи. Установочный дистрибутив тонкого клиента занимает гораздо меньший объем данных.

Запуск тонкого клиента выполняется файлом 1cv8c.exe.

Помимо толстого и тонкого клиента существует еще и веб-клиент.

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Понятие клиентского приложения многим знакомо, но в чем конкретно разница клиентов 1С и какие отличия в функционале и в технологических аспектах у них существуют, далеко не всем известно.

Толстый клиент 1С 8.3 открывает доступ к базе, когда сервер находится в локальной сети. Свое название клиент получил, поскольку исполняет фактически все функции программного языка. Именно поэтому, компьютер под него должен быть мощным, иметь достаточное количество аппаратных ресурсов для обработки данных. В противном случае база будет регулярно «висеть» и сбоить. Старт работы этого клиента может производиться как через «Предприятие», так и через «Конфигуратор».

Раньше этот клиент был единственным, пока платформа 1С не вышла в версии 8.2, а тонкий клиент 1С 8.3 стал повсеместно распространенным явлением.

Как видим на рисунке ниже, при запуске «Тонкого клиента» отсутствует кнопка «Конфигуратор», т.е. поддерживается только пользовательский режим, без пользования конфигуратором.


Рис.1 Окно запуска

То есть разработка и корректировка доступна только через толстый клиент, для запуска которого в Windows используется файл 1cv8.exe, а для тонкого – приложение 1cv8c.exe.


Рис.2 Файлы запуска обоих клиентов

Доступный набор функций и типов встроенного языка (прикладные типы данных не доступны) тонкого клиента весьма ограничен. То есть, работая через «управляемое приложение», можно лишь отображать и корректировать готовые данные, полученные с сервера, где и производятся все вычисления.

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

Алгоритм работы толстого и тонкого клиента

1. Запрашиваются данные у сервера

1. Высылается запрос на нужную информацию

2. Сервер 1С высылает запрос базе данных

2. Сервер 1С высылает запрос базе данных

3. Информация отправляется в приложение пользователя

3. 1С сервер обрабатывает полученные данные

4. Обработка информации

4. Сервер высылает запрошенную информацию пользователю

Рядовой пользователь, чаще всего, не видит разницы при работе с клиентами, хотя случается, что некоторые ошибки проявляются в одном клиенте и отсутствуют в другом. Например, при работе в толстом клиенте в форме номенклатуры отображается картинка товара, а в тонком клиенте картинка не отображается. Также могут возникнуть проблемы с быстродействием программы. Чтобы этого избежать, надо поменять имеющийся вид клиента на другой и пронаблюдать за работой системы. Для этого необходимо выяснить, в каком клиенте вы работаете.

Для этого откроем пункт меню «Справка-О программе» и там посмотрим, в каком клиенте работаем.


Рис.3 Меню программы «Справка»


Рис.4 Окно справки

Переключение между толстым и тонким клиентом в 1С

Когда возникла необходимость переключиться на другой клиент, жмем «Изменить» при запуске программы и меняем режим запуска базы.


Рис.5 Кнопка изменения в окне запуска

Тот же процесс можно запустить в настройках, где обычно стоит «Выбирать автоматически».


Рис.6 Изменение режима запуска через редактирование

Перед выбором 1С-клиента необходимо понять, с каким приложением вам удобнее работать.

Если организация имеет современные компьютеры, включенные в локальную сеть, надо сделать выбор в сторону «толстого» варианта работы. Напротив, при работе с информационной базой через интернет, используя маломощные устройства и, в частности, мобильные, то правильный выбор однозначно на стороне «тонкого».

Если в программе возникает ошибка, причину которой мы не можем установить, может помочь установка режима запуска — «Толстый клиент».

Как изменить режима запуска

  • Открыть список баз 1С;
  • Выбрать базу;
  • Нажать кнопку «Изменить»;

  • Выбрать пункт Тонкий или Толстый клиент;
  • Нажать «Готово»;

Ermak27

4 / 4 / 0

Регистрация: 16.01.2013

Сообщений: 1,228

1

Ошибка Ожидается выражениеи Возврат

28.10.2013, 09:48. Показов 9904. Ответов 2

Метки нет (Все метки)


Подскажите почему выдает ошибку {ВнешняяОбработка.ПрайсСОтправкойНаСайт.МодульОбъе кта(111,20)}: Ожидается выражение Возврат<<?>>; (Проверка: Толстый клиент (обычное приложение))

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Функция СохранитьВФайл(ЭлементыФормы) Экспорт
Попытка
            Состояние("Загрузка Microsoft Excel...");
            ExcelПриложение = Новый COMОбъект("Excel.Application");
        Исключение
            Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(),  СтатусСообщения.Внимание);
            Возврат;
        КонецПопытки;
        ExcelФайл = ExcelПриложение.WorkBooks.Open("D:1c1.xls");
        
        Состояние("Обработка файла Microsoft Excel...");
        
        ExcelЛист = ExcelФайл.Sheets(1);
        
        Запрос = Новый Запрос;
        Запрос.Текст = 
 
      "ВЫБРАТЬ
    |   Номенклатура.Наименование,
    |   Номенклатура.Код,
    |   Номенклатура.Артикул,
    |   Номенклатура.Ссылка,
    |   Номенклатура.ХарТовара,
    |   Номенклатура.ОсновноеИзображение.Хранилище КАК Хранилище
    |ИЗ
    |   Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |   Номенклатура.ПометкаУдаления = ЛОЖЬ
    |   И Номенклатура.ЭтоГруппа = ЛОЖЬ";
    
    ВыборкаН = Запрос.Выполнить().Выбрать();
    НомерСтроки = 1;
               Пока ВыборкаН.Следующий() Цикл
                Выборка = ВыборкаН.Выбрать(); 
                Пока Выборка.Следующий() Цикл
                        ExcelЛист.Cells(Номерстроки, 1).Value = Выборка.Хранилище;
                        ExcelЛист.Cells(Номерстроки, 2).Value = Выборка.Код;
                        ExcelЛист.Cells(Номерстроки, 3).Value = Выборка.Артикул;
                        ExcelЛист.Cells(Номерстроки, 4).Value = Выборка.Наименование;
                        ExcelЛист.Cells(Номерстроки, 5).Value = ПолучитьЦенуНоменклатуры(Выборка.Ссылка);
                        ExcelЛист.Cells(Номерстроки, 6).Value = ПроверитьОстаток(Выборка.Ссылка);
                        ExcelЛист.Cells(Номерстроки, 7).Value = Выборка.ХарТовара;  
                        НомерСтроки = НомерСтроки + 1;
                КонецЦикла;
               КонецЦикла;
        ExcelПриложение.Visible = истина;
КонецФункции

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

AmikronPersei9

10 / 10 / 2

Регистрация: 16.08.2013

Сообщений: 53

28.10.2013, 10:02

2

Функция должна возвращать какое то значение, можно просто указать Возврат Истина; , что будет свидетельством того что функция выполнилась

Добавлено через 1 минуту

1C
1
2
3
4
Функция  ВашеИмяФункции(Параметр1,Параметр2,...,ПараметрN ) // Функция с параметрами
    //... операторы программы....
    Возврат ""; // в данном случае функция возвращает пустую строку
КонецФункции

1

Модератор

Эксперт 1С

3697 / 2897 / 569

Регистрация: 10.03.2011

Сообщений: 11,398

Записей в блоге: 1

28.10.2013, 11:17

3

И лучше не использовать в параметрах функций/процедур зарезервированные слова ЭлементыФормы

1

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

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


Открыть проверка конфигурации 1С


Проверка конфигурации 1С

Проверка логической целостности конфигурации

Проверяется логическая целостность конфигурации. Рекомендуется запускать перед обновлением конфигурации.

Проверка некорректных ссылок

Выполняется поиск ссылок на удаленные объекты. Поиск осуществляется по всей конфигурации.

Синтаксический контроль модулей

Выполняется поиск синтаксических ошибок. Данная проверка доступна в различных режимах запуска конфигурации. Проверяльщик имитирует запуск в выбранном режиме.

  • Тонкий клиент
  • Веб клиент
  • Сервер
  • Внешнее соединение
  • Внешнее соединение(вариант клиент-сервер)
  • Мобильное приложение — клиент
  • Мобильное приложение — сервре
  • Толстый клиент (управляемое приложение)
  • Толстый клиент (управляемое приложение, вариант клиент-сервер)
  • Толстый клиент (обычное приложение)
  • Толстый клиент (обычное приложение, вариант клиент-сервер)
  • Поставка модулей без исходных текстов

Поиск неиспользуемых процедур и функций

Осуществляется поиск не экспортных процедур и функций, которые нигде не вызываются. Так же проверяются обработчики событий.

Проверка существования назначенных обработчиков

Проверяются на существование назначенные обработчики событий форм, элементов формы, интерфейсов, элементов карт маршрутов.

Поиск пустых обработчиков

Осуществляется поиск назначенных обработчиков событий, в которых не выполняются никакие действия. Наличие таких обработчиков замедляет работу системы.

Расширенная проверка

В расширенную проверку входит «Поиск использования модальности» и «Поиск использования синхронных вызовов». При данных настройках проверяются обращения через точку к методам и свойствам объектов. Проверяются строковые литералы и выполняется ряд других проверок.

Поиск не поддерживаемой функциональности

При данной настройке осуществляется поиск функциональности, которая не может быть выполнена в мобильном приложении.

{ВнешняяОбработка.ИмяОбработки.Форма.Форма.Форма(125,10)}: Процедура или функция с указанным именем не определена (ЗначениеИзСтрокиВнутр) В общем я уже смирился что работать обработка будет только в толстом клиенте. Как дать понять платформе это? Потому как обработка работает. Но при сохранение такое вот раздражает.

#Если ТолстыйКлиентУправляемоеПриложение Тогда

+ глобально — Сервис/Параметры/Модули/Проверка — галки

круто, спасибо. Второе то что нужно думаю

Смирился он… А клиентов тоже смирил? З.Ы. Что мешает перенести код туда, где он будет работать?

Ты читать не умеешь. У него толстый клиент. Так что код рабочий. А в конфигураторе включена проверка на все (?) виды клиентов. Вот на тонкий и ругается..

У него толстый. А у клиента может быть несколько более иначе другой.

И снова ты невнимательно читаешь «работать обработка будет только в толстом клиенте»

Это ты не умеешь читать. Тонкий или толстый клиент — это выбор клиента. Не твой.

Вообще-то мой, как программиста. Как скажу — так и будет работать.

я думаю, что Defender хотел сказать, что писать нужно универсально. Что бы работало в обоих режимах.

А ещё лучше — во всех четырёх… Включая ОФ и ВК. И да, чтобы по КОМу можно было вызвать. И вообще — чтобы оно само работало, не требуя пользователя

Зря иронизируешь. Всегда прав Заказчик, если он не программист.

Заказчик не знает разницы. Как ему программист скажет, так тот и будет работать.

«Включая ОФ и ВК» // ВК это что? Если внешнее соединение, то почти у всех поделок Раруса нет его поддержки в своих модулях — ребятки просто не тестируют работу своих конфигураций в таком режиме (банально запись справочников / документов)…

А если заказчик будет вредный, как я, например? Именно Да, приложение должно работать во всех режимах. Не вижу тут ничего такого

Вредный заказчик иле перевоспитывается или идёт наслаждаться ароматом цветущей вишни.

Да. Этот Заказчик уйдёт к более вменяемому программисту.

Который будет прогибаться под каждую хотелку и «играть со шрифтами»?

Вы не понимаете. Заказчики — они как дети. Их воспитывать нужно. Кнутом и пряником. Причём пряник должен быть прошлогодним. Он твёрже.

Не упрощай. В данном случае работа в разных клиентах — это стандарты 1С. Конечно, можно клиента уговорить на те настройки, до которых хватило квалификации, но это тупиковый путь. Я могу принять твою иронию только в контексте новогоднего празднования.

Я не упрощаю. Я говорю, что решение о том, в каком клиенте должно работать бизнес-решение — должен принимать тот, кто разрабатывает это решение. А не тот, кто заказывает. Заказчик говорит — хочу склад. Архитектор уточняет, кто и откуда будет с ним работать. На основании этого он принимает решение. Если ему нужна будет работа с Гоа или из Антарктиды — тут, возможно, и тонкий клиент, и веб-клиент понадобятся. А возможно — можно будет обойтись терминалом.

ТЗ знает только ТС. Наша дискуссия — гадание на кофейной гуще.

У нас уже не гадание, а меряние ))) ТС высказался — «я уже смирился что работать обработка будет только в толстом клиенте» От этого и надо плясать качучу.

Конечно. Я гадаю, а ты …сам реши.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Отправить эту статью на мою почту

Разберемся с вами что такое толстый и тонкий клиент 1С, а также исправим ошибку – «Для того, чтобы редактировать схему компоновки, необходимо запустить конфигурацию в режиме толстого клиента».

Смотрите видео инструкцию по этой статьей на моём Ютуб-канале (отмотайте видео на 15 мин 18 сек):

ЛАЙФХАКИ 1С 8.3 Часть 2 ЧУДЕСА без программирования

Что такое толстый и тонкий клиент 1С, в чем разница?

Все старые конфигурации 1С на обычных формах, например, «1С Управление торговлей редакции 10.х», «1С Бухгалтерия редакции 2» или «1С Розница редакции 1», могут работать только в режиме толстого клиента 1С, это значит, что на компьютере пользователя, где исполняется и отображается программа 1С выполняются основные вычисления и алгоритмы программы, и если клиентский (пользовательский) компьютер не очень мощный и программа 1С достаточно сложная и тяжелая, то 1С может тормозить, будут долго формироваться отчеты, открываться справочники и документы и т.п.

Многое поменялось, когда появился режим тонкого клиента 1С. Появились так называемые Управляемые формы. Если говорить проще и использовать аналогии, то 1С в режиме тонкого клиента стала как веб-сайт в интернете. Вы же, например, когда открываете какой-нибудь веб-сайт через свой веб-браузер (Хром, Edge…), то вы просматриваете на своем экране компьютера уже готовый результат сформированной на сервере HTML-страницы, т.е. основная работа по вычислениям и выполнению алгоритмов была произведена на сервере где расположен веб-сайт, а вы получили уже готовый результат. В итоге ресурсы вашего клиентского (пользовательского) компьютера были задействованы по минимуму, и даже если у вас слабый компьютер, то тормозить он почти не будет, не считая вычислений на прорисовку данных на вашем экране, на это тоже нужно время процессора.

Если вернемся от веб-сайтов обратно к 1С, то режим тонкого клиента будет быстрее работать, но только в том случае, если у вас современная конфигурация 1С на управляемых формах, например, «1С Управление торговлей редакция 11.х», «1С Бухгалтерия редакция 3.х» или «1С Розница редакция 2.х», и не менее важно, ваша база данных 1С должна работать в режиме клиент-сервера, причем сервер 1С должен находится на отдельном мощном сервере (компьютере).

Так что если вы приобрели, к примеру, «1С Бухгалтерия редакция 3» и установили её локально на своем компьютере в файловом варианте, даже и в серверном варианте, где сервер 1С также установили на этом же компьютере, то разницы не будет в каком режиме вы работаете: в тонком клиенте или в толстом клиенте 1С. Точнее в таком случае, вам лучше работать в режиме толстого клиента 1С, потому, что тонкий клиент накладывает определенные ограничения в контекст доступности некоторых функций и методов.

Как исправить ошибку «Для того, чтобы редактировать схему компоновки, необходимо запустить конфигурацию в режиме толстого клиента»?

У меня эта ошибка возникла в конфигурации «1С Розница 2» когда я хотел в справочнике «Виды цен» отредактировать схему компоновки данных «Произвольный» при способе задания цены «Заполнять по данным ИБ».

Редактировать схему компоновки в режиме тонкий клиент 1С (2)

Далее открывается окно «Настройка схемы компоновки данных для вида цены» и нажимаем кнопку «Редактировать схему компоновки», и если база 1С запущена в режиме тонкого клиента, то мы увидим ошибку – «Для того, чтобы редактировать схему компоновки, необходимо запустить конфигурацию в режиме толстого клиента».

Для того, чтобы редактировать схему компоновки, необходимо запустить конфигурацию в режиме толстого клиента 1С (3)

Эта ошибка не только может появиться при редактировании схемы компоновки в видах цен в рознице, но и в других местах программы, где требуется работа программы 1С в режиме толстого клиента.

Запускаем 1С в режиме толстого клиента

Кликаем как обычно по ярлыку 1С чтобы открылось окно выбора баз 1С, далее выделяете нужную базу и нажимаете кнопку «Изменить».

Изменить настройки запуска базы 1С (4)

Нажимаем «Далее». И найдите раздел «Основной режим запуска», где выберите «Толстый клиент».

Основной режим запуска толстый клиент 1с (5)

Всё. Теперь запускаете 1С как обычно, и она у вас теперь будет работать в режиме толстого клиента. И тот функционал, который доступен только в режиме толстого клиента 1С должен работать без ошибок.

Смотрите видео инструкцию по этой статьей на моём Ютуб-канале (отмотайте видео на 15 мин 18 сек):

ЛАЙФХАКИ 1С 8.3 Часть 2 ЧУДЕСА без программирования

Благодарю Вас за внимание! :)

Подписывайтесь на мой YouTube-канал, там много интересных и бесплатных видеоуроков по 1С — https://youtube.com/c/ЮрийКозицынПрограммист1С

Обсудить статью на 1С форуме?

Читайте также

  • Как очистить кэш 1С? И зачем это нужно?
  • Как стать программистом 1С с нуля?
  • Лайфхаки 1С – добавление новых полей в документы
  • Как запустить обработку в 1С?
  • Обновление конфигурации 1С 8.3

Добрый день.
Используется:
Windows8.1 x64, 1С:Предприятие 8.3 (8.3.13.1644), ARM_ORION_PRO1_20_2
Orion1C.dll ,брал из каталога 1C_WorkTime, в каталоге находятся Orion1C.sil и Orion1C.dll
при использовании Example1.exe и Example2.exe все происходит корректно

На текущий момент такая ошибка при использовании метода в 1с 
ЗагрузитьВнешнююКомпоненту(«Orion1C.dll»); выдает ошибку
«Не смогли загрузить внешнюю компоненту.» 
ОписаниеОшибки() = «Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты»
Пробовал указать полный путь к местонахождению dll, ошибка та же.

При попытке зарегистрировать компоненту с помощь. regsvr32 выходит ошибка,
«модуль  … Orion1C.dll загружен, но не удалось выполнить вызов DLLRegisterServer, код ошибки: 0х80004005»
Подскажите что можно сделать.

2 года 8 месяцев назад

avatar

#ссылка

0 ответов

Добавить ответ

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

ЗАДАН

2 года 8 месяцев назад

По каждому вопросу/ответу можно добавлять комментарии. Комментарии предназначены для уточнения вопроса/ответа.

как тут любят делать

Новый (New)

Синтаксис (вариант 1):

    Новый <Идентификатор типа>[(<Парам1>, <Парам2>, …)]

Параметры:

    Идентификатор типа

    Указывается идентификатор типа, значение которого создается.

    <Парам1>, <Парам2>, …

    После идентификатора типа в скобках могут указываться параметры, если они определены в конструкторах для данного типа. Допустимое количество параметров и их назначение указывается в описании конструкторов объекта.

Синтаксис (вариант 2):

    Новый(<Тип>[, <ПараметрыКонструктра>])

Параметры:

    Тип

    Имя типа или значение типа Тип

    ПараметрыКонструктора

    Массив параметров конструктора

Описание:

Оператор позволяет создать значение указанного типа. Допустим только для тех типов, для которых разрешено создание с помощью данного оператора (подробнее см. описание объектов языка).

Это не то, что нужно для проверки «Недостаточно полномочий для просмотра документов других пользователей!»

////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
////////////////////////////////////////////////////////////////////////////////
// ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ ОПРЕДЕЛЕНИЯ ДЕРЕВА ФОРМ И ФОРМАТОВ
////////////////////////////////////////////////////////////////////////////////
// ОПРЕДЕЛЕНИЕ ДЕРЕВА ФОРМ И ФОРМАТОВ ОТЧЕТА
мФормыИФорматы = СоздатьДеревоФормИФорматов();


// определение форм
Форма20100101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, "1608301", '20091002', "213", "ФормаОтчета2009");
Форма20110101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, "1608301", '20110803', "344", "ФормаОтчета2011");

ОписаниеТиповСтрока = ОбщегоНазначения.ПолучитьОписаниеТиповСтроки(0);

МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("Дата"));
ОписаниеТиповДата = Новый ОписаниеТипов(МассивТипов, , Новый КвалификаторыДаты(ЧастиДаты.Дата));

мТаблицаФормОтчета = Новый ТаблицаЗначений;
мТаблицаФормОтчета.Колонки.Добавить("ФормаОтчета",		ОписаниеТиповСтрока);
мТаблицаФормОтчета.Колонки.Добавить("ОписаниеОтчета",	 ОписаниеТиповСтрока, "Утверждена", 20);
мТаблицаФормОтчета.Колонки.Добавить("ДатаНачалоДействия", ОписаниеТиповДата,  "Действует с", 5);
мТаблицаФормОтчета.Колонки.Добавить("ДатаКонецДействия", ОписаниеТиповДата,  "		 по", 5);

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета		= "ФормаОтчета2009";
НоваяФорма.ОписаниеОтчета	 = "Форма утверждена приказом Росстата от 02.10.2009 № 213";
НоваяФорма.ДатаНачалоДействия = '20090101';
НоваяФорма.ДатаКонецДействия = '20101231';

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета		= "ФормаОтчета2011";
НоваяФорма.ОписаниеОтчета	 = "Форма утверждена приказом Росстата от 03.08.2011 № 344";
НоваяФорма.ДатаНачалоДействия = '20110101';
НоваяФорма.ДатаКонецДействия = ОбщегоНазначения.ПустоеЗначениеТипа(Тип("Дата"));



// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
// Процедура управляет показом в форме периода построения отчета.
Процедура ПоказатьПериод
СтрПериодОтчета = ПредставлениеПериода(НачалоДня(мДатаНачалаПериодаОтчета), КонецДня(мДатаКонцаПериодаОтчета), "ФП = Истина" );

ЭлементыФормы.НадписьПериодСоставленияОтчета.Заголовок = СтрПериодОтчета;

КоличествоФорм = РегламентированнаяОтчетность.КоличествоФормСоответствующихВыбранномуПериоду(ЭтаФорма);
Если КоличествоФорм >= 1 Тогда

Если КоличествоФорм > 1 Тогда
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Истина;
Иначе
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
КонецЕсли;

ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОК.Доступность = Истина;

Иначе
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
ЭлементыФормы.ОписаниеНормативДок.Значение = "";
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОК.Доступность = Ложь;
КонецЕсли;

РегламентированнаяОтчетность.ВыборФормыРегламентированногоОтчетаПоУмолчанию(ЭтаФорма);

КонецПроцедуры // ПоказатьПериод()

Общий модуль. Галочки Клиент, Сервер, Вызов сервера. Код: Синтаксическая ошибка: {ОбщийМодуль.ск_ОбъектыОбработкиКлиентСервер(362,8)}: Ошибка в операторе препроцессора                        #<<?>>КонецЕсли; (Проверка: Толстый клиент (обычное приложение)) {ОбщийМодуль.ск_ОбъектыОбработкиКлиентСервер(374,2)}: Ожидается ключевое слово ‘КонецЕсли’ (‘EndIf’)    <<?>>КонецЦикла; (Проверка: Толстый клиент (обычное приложение)) {ОбщийМодуль.ск_ОбъектыОбработкиКлиентСервер(618,1)}: Ожидается завершение оператора препроцессора Если (If) (Проверка: Толстый клиент (обычное приложение))

Ошибка!

Понимаю что эту ошибку (<Форма.ОсновнаяФорма.Форма(102,1)>: Определения процедур и функций должны размещаться перед операторами тела модуля >Процедура ПоказатьПериод() (Проверка: Толстый клиент (обычное приложение)))
уже много раз обсуждали, но у меня нет лишней «;» Посмотрите пожалуйста

// определение форм
Форма20100101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, «1608301», 20091002, «213», «ФормаОтчета2009»);
Форма20110101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, «1608301», 20110803, «344», «ФормаОтчета2011»);

мТаблицаФормОтчета = Новый ТаблицаЗначений;
мТаблицаФормОтчета.Колонки.Добавить(«ФормаОтчета», ОписаниеТиповСтрока);
мТаблицаФормОтчета.Колонки.Добавить(«ОписаниеОтчета», ОписаниеТиповСтрока, «Утверждена», 20);
мТаблицаФормОтчета.Колонки.Добавить(«ДатаНачалоДействия», ОписаниеТиповДата, «Действует с», 5);
мТаблицаФормОтчета.Колонки.Добавить(«ДатаКонецДействия», ОписаниеТиповДата, » по», 5);

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета = «ФормаОтчета2009»;
НоваяФорма.ОписаниеОтчета = «Форма утверждена приказом Росстата от 02.10.2009 № 213»;
НоваяФорма.ДатаНачалоДействия = 20090101;
НоваяФорма.ДатаКонецДействия = 20101231;

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета = «ФормаОтчета2011»;
НоваяФорма.ОписаниеОтчета = «Форма утверждена приказом Росстата от 03.08.2011 № 344»;
НоваяФорма.ДатаНачалоДействия = 20110101;
НоваяФорма.ДатаКонецДействия = ОбщегоНазначения.ПустоеЗначениеТипа(Тип(«Дата»));

// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ
// Процедура управляет показом в форме периода построения отчета.
Процедура ПоказатьПериод
СтрПериодОтчета = ПредставлениеПериода(НачалоДня(мДатаНачалаПериодаОтчета), КонецДня(мДатаКонцаПериодаОтчета), «ФП = Истина» );

КоличествоФорм = РегламентированнаяОтчетность.КоличествоФормСоответствующихВы бранномуПериоду(ЭтаФорма);
Если КоличествоФорм >= 1 Тогда

Если КоличествоФорм > 1 Тогда
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Истина;
Иначе
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
КонецЕсли;

Иначе
ЭлементыФормы.КнопкаВыбораФормы.Доступность = Ложь;
ЭлементыФормы.ОписаниеНормативДок.Значение = «»;
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОК.Доступность = Ложь;
КонецЕсли;

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Источник

Ошибка!

unrealAn

Понимаю что эту ошибку (<Форма.ОсновнаяФорма.Форма(102,1)>: Определения процедур и функций должны размещаться перед операторами тела модуля >Процедура ПоказатьПериод() (Проверка: Толстый клиент (обычное приложение)))
уже много раз обсуждали, но у меня нет лишней «;» Посмотрите пожалуйста

Glukman

unrealAn

Ошибка здесь: мФормыИФорматы = СоздатьДеревоФормИФорматов(); инфа 146%
Да нет там такой скрипт, просто не стал все вставлять

// определение форм
Форма20100101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, «1608301», ‘20091002’, «213», «ФормаОтчета2009»);
Форма20110101 = ОпределитьФормуВДеревеФормИФорматов(мФормыИФорматы, «1608301», ‘20110803’, «344», «ФормаОтчета2011»);

мТаблицаФормОтчета = Новый ТаблицаЗначений;
мТаблицаФормОтчета.Колонки.Добавить(«ФормаОтчета», ОписаниеТиповСтрока);
мТаблицаФормОтчета.Колонки.Добавить(«ОписаниеОтчета», ОписаниеТиповСтрока, «Утверждена», 20);
мТаблицаФормОтчета.Колонки.Добавить(«ДатаНачалоДействия», ОписаниеТиповДата, «Действует с», 5);
мТаблицаФормОтчета.Колонки.Добавить(«ДатаКонецДействия», ОписаниеТиповДата, » по», 5);

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета = «ФормаОтчета2009»;
НоваяФорма.ОписаниеОтчета = «Форма утверждена приказом Росстата от 02.10.2009 № 213»;
НоваяФорма.ДатаНачалоДействия = ‘20090101’;
НоваяФорма.ДатаКонецДействия = ‘20101231’;

НоваяФорма = мТаблицаФормОтчета.Добавить();
НоваяФорма.ФормаОтчета = «ФормаОтчета2011»;
НоваяФорма.ОписаниеОтчета = «Форма утверждена приказом Росстата от 03.08.2011 № 344»;
НоваяФорма.ДатаНачалоДействия = ‘20110101’;
НоваяФорма.ДатаКонецДействия = ОбщегоНазначения.ПустоеЗначениеТипа(Тип(«Дата»));

Источник

Тема: Определение процедур и функций и защита конфигурации. SOS

Опции темы
Поиск по теме
Отображение

подскажите пожалуйста,что нужно сделать и как предотвратить ошибку в глобальном модуле:Определения процедур и функций должны размещаться перед операторами основной программы и подскажите пожалуйста как убрать защиту с глобального модуля,закомментировать?.
выкладываю мд файл [Только зарегистрированные пользователи могут видеть ссылки. ]
заранее благодарен.

Откройте конфигуратор. Меню конфигурация/открыть конфигурацию. Меню действия/глобальный модуль.

Откройте конфигуратор. Меню конфигурация/открыть конфигурацию. Меню действия/глобальный модуль.

З.Ы. файл не смотрел

Строчки с 58-66 перенесите в самый конец глобального модуля. Но это не конец. У Вас в глобальном модуле сборная солянка. В процедурах/функциях в начале модуля имеются ссылки на процедуры/функции ниже. У Вас два выхода: либо переносить эти процедуры в начало, либо делать объявления заранее.

Добавлено через 29 секунд
До конца разбираться было лень, уж слишком много у Вас там ошибок вылезло

покажите пожалуйста на одном примере что переносить?буду пробовать.я не совсем понимаю
спасибо

З.Ы. Расскажите, где раскопали такое чудо? Я такие конфигурации никогда не видел

З.Ы. Расскажите, где раскопали такое чудо? Я такие конфигурации никогда не видел

с этим разобрался. тут на форуме нашел
теперь другая проблем
[Только зарегистрированные пользователи могут видеть ссылки. ]

С этим помочь не смогу. Найдите другую, которая позволяет печатать ТТН. Таких много

Источник

Структура модуля

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

1.1. В программном модуле (общие модули, модули объектов, модули менеджеров объектов, модули форм, команд и т.п.) в общем случае могут присутствовать следующие разделы в приведенной ниже последовательности:

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

Требование о разделении кода модуля на разделы призвано повысить читаемость кода и упростить внесение изменений в код разными авторами (разработчиками) как при коллективной разработке, так и при доработке прикладных решений на конкретных внедрениях.

1.2. Объемные разделы модулей рекомендуется разбивать на подразделы по функциональному признаку.

1.3. Разделы и подразделы оформляются в виде областей. При этом имена областей должны удовлетворять требованиям стандарта Правила образования имен переменных

1.4. Шаблон (заготовка для копирования) разделов для общих модулей:

Для объемных общих модулей рекомендуется разбивать этот раздел на подразделы, по функциональному признаку. Например:

1.5. Шаблон оформления разделов для модулей объектов, менеджеров, наборов записей, обработок, отчетов и т.п.:

1.6. Шаблон оформления разделов для модулей форм:

1.7. Шаблон оформления разделов для модулей команд:

1.8. В модуле не должно быть пустых областей.

2. Общие требования к разделам программных модулей.

2.1. Заголовок модуля представляет собой комментарий в самом начале модуля. В заголовке модуля приводится его краткое описание и условия применения.
Например:

Для модулей форм в заголовке рекомендуется размещать описание параметров формы.

Все переменные модуля должны быть снабжены комментарием, достаточным для понимания их назначения. Комментарий рекомендуется размещать в той же строке, где объявляется переменная.
Пример:

Методическая рекомендация (полезный совет)

2.4.2. Рекомендуется обработчики одного элемента формы располагать вместе, придерживаясь, при этом, порядка их следования в панели свойств редактора формы в конфигураторе.

2.4.3. У каждого события должна быть назначена своя процедура-обработчик. Если одинаковые действия должны выполняться при возникновении событий в разных элементах формы следует:

2.5. Обработчики событий модулей объекта и менеджера объекта размещаются после раздела с программным интерфейсом, но до служебных процедур и функций модуля.

Методическая рекомендация (полезный совет)

2.5.1. Рекомендуется располагать обработчики, придерживаясь порядка их следования в описании встроенного языка.

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

Процедуры и функции, связанные между собой по характеру или по логике работы рекомендуется располагать вместе. В модулях форм не рекомендуется явно группировать процедуры и функции модуля на серверные, клиентские и функции без контекста, так как такое «технологическое» упорядочивание затрудняет понимание логики модуля, отвлекая внимание разработчика на детали ее реализации.

2.7. Раздел инициализации содержит операторы, инициализирующие переменные модуля или объект (форму).
Например:

Для оформления разделов кода в виде областей рекомендуется воспользоваться приложенной обработкой.

Источник

Описание процедур и функций

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

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

При разработке на платформе 1С:Предприятие 8.3 текст комментария также выводится в контекстной подсказке процедур, функций и их параметров. Подробнее см. раздел «Контекстная подсказка при вводе текстов модулей» главы 27 «Инструменты разработки» в документации к платформе.

При разработке в 1C:Enterprise Development Tools (EDT) текст комментария также используется для уточнения типизации параметров и возвращаемого значения процедур и функций, и тем самым помогает выявлять ошибки кодирования на этапе разработки.

3. Прочие процедуры и функции (в том числе обработчики событий модулей форм, объектов, наборов записей, менеджеров значений и т.п.) рекомендуется комментировать, если требуется пояснить назначение процедуры (функции) или особенности её работы. Также рекомендуется описывать причины невыполнения некоторых действий, если они кажутся неочевидными для данной процедуры или функции.

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

4. Следует избегать комментариев, не дающих дополнительных пояснений о работе не-экспортной процедуры (функции).
Например, неправильно:

В этих примерах комментарии избыточны, так как из названий процедур очевидно, что это обработчики событий. А с их описанием и назначением параметров можно ознакомиться в синтакс-помощнике.

Этот комментарий не дает никакой дополнительной информации о функции.

5. Комментарий размещается перед объявлением процедуры (функции) и имеет следующий вид.

5.1. Секция «Описание» (англ. «Description» ) содержит описание назначения процедуры (функции), достаточное для понимания сценариев ее использования без просмотра ее исходного кода. Также может содержать краткое описание принципов работы и перекрестные ссылки на связанные процедуры и функции.

Может быть единственной секцией для процедур без параметров. Описание не должно совпадать с именем процедуры (функции). Для процедур и функций секция должна начинаться с глагола. Для функций это, как правило: «Возвращает…». В тех случаях, когда возвращаемый результат является не основным в работе функции, – то с основного действия, например: «Проверяет…», «Сравнивает…», «Вычисляет…» и т.п. Не рекомендуется начинать описание с избыточных слов «Процедура. », «Функция. », а также с имени самой процедуры (функции), от удаления которых смысл не меняется.

5.2. Секция «Параметры» (англ. «Parameters» ) описывает параметры процедуры (функции). Если их нет, секция пропускается. Предваряется строкой «Параметры:», затем с новой строки размещаются описания всех параметров.

5.2.1. Описание параметра начинается с новой строки, далее имя параметра, затем дефис и список типов (*), далее дефис и текстовое описание параметра.

Имя параметра необходимо стремиться выбирать таким образом, чтобы его назначение было понятно в контексте функции без дополнительных пояснений

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

В данном примере текстовое описание для параметра «Адреса» нужно чтобы

Текстовое описание для параметра ЗадачаИсполнителя не нужно.

5.2.2. Для параметров типа Структура и ТаблицаЗначений также задается описание их свойств и колонок, которые начинаются с новой строки и предваряются символом *.
Например:

При этом текстовое описание свойства (колонки) рекомендуется заполнять в том случае, когда только имени свойства в контексте параметра не достаточно для понимания назначения свойства или требуется дать дополнительную информацию о типе.

5.2.3. Для параметров типа Массив следует указывать тип элементов с помощью ключевого слова «из» (англ. «of» ):

В описании массивов, структур и таблиц значений могут быть вложенные описания, при этом перед именами вложенных свойств число звездочек увеличивается: для первого уровня вложенности 2 звездочки, для второго 3 и т.д.

5.2.4. Также для параметра типа СтрокаТаблицыЗначений ( СтрокаДереваЗначений ) возможно задать состав свойств, соответствующий колонкам его таблицы-владельца (дерева-владельца):
Например:

// СведенияОРегионе – СтрокаТаблицыЗначений: см. РегистрыСведений.АдресныеОбъекты.КлассификаторСубъектовРФ

5.2.5. Также для каждого параметра можно задать одно или несколько дополнительных описаний типов параметра. Каждое дополнительное описание начинается с новой строки, затем обязательный дефис, далее список типов параметра далее дефис и текстовое описание.
Например:

5.2.6. Описание также могут быть заданы с помощью ссылки на функцию-конструктор в формате «см. ПутьКФункции» (англ «see MethodPath» ).
Например:

При разработке кода, обращающегося к реквизитам конкретного объекта метаданных или формы, можно ссылаться на типы реквизитов этого объекта (формы):

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

// См. ПодключаемыеКомандыПереопределяемый.ПриОпределенииКомандПодключенныхКОбъекту
//
Процедура ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды) Экспорт

5.3. Секция «Возвращаемое значение» (англ. «Returns» ) описывает тип и содержание возвращаемого значения функции. Для процедур эта секция отсутствует. Предваряется строкой «Возвращаемое значение:». Затем с новой строки тип возвращаемого значения, дефис и текст описания. При использовании возвращаемого значения составного типа следует каждый тип писать с новой строки и с дефиса. Например:

Текстовое описание возвращаемого значения рекомендуется заполнять в том случае, когда только одного описания функции не достаточно, либо требуется дать дополнительную информацию о типе, например, о составе свойств или колонок возвращаемого значения. Также может быть приведен пример с ожидаемым значением возвращаемого значения, либо сквозной пример размещается в секции «Пример» ниже.

Для возвращаемых значений также действуют требования п.5.2.2 и 5.2.3.

5.4. Секция «Пример» (англ. «Example» ) содержит пример использования процедуры, или функции. Предваряется строкой «Пример:». Далее с новой строки пример использования. Имя процедуры (функции) следует писать вместе с именем общего модуля, в котором она расположена. Из примера должно быть понятно, что передается на входе и что возвращается на выходе.
Например, неправильно:

5.4.1. В переопределяемых модулях в секции «Пример» следует размещать пример реализации переопределяемой процедуры, а не пример ее вызова. Например, для процедуры ПриОпределенииОбщихПараметровБазовойФункциональности(ОбщиеПараметры):

5.5. В редких случаях, когда сразу несколько параметров имеют дополнительные типы, рекомендуется добавить секцию «Варианты вызова» (англ. «Сall options» ), в которой дать описания наиболее частых или всех возможных вариантов вызова функции с различными комбинациями типов параметров. Секция начинается фразой «Варианты вызова:» с новой строки, затем идут описания вариантов, каждое начинается с новой строки. Каждый вариант вызова представляется в виде имени функции со списком типов, перечисленных через запятую в круглых скобках, затем следует дефис и текстовое описание варианта.

5.6. В любом месте документирующего комментария можно добавить переход к другим объектам конфигурации, процедурам и функциям (в частности, для перехода к функциям-конструкторам структур). При использовании 1C:Enterprise Development Tools среда оформит такие переходы в виде гиперссылки.
Например:

5.7. В случаях когда возникает необходимость отметить процедуру (функцию) как устаревшую, в первой строке ее описания размещается слово «Устарела» (англ. «Deprecated» )..
Например:

7. Код процедур и функций должен отделяться друг от друга в тексте модуля пустыми строками.

Примеры описания процедур и функций

Пример описания функции с одним параметром:

Пример описания процедуры без параметров:

Источник

Понравилась статья? Поделить с друзьями:
  • Ошибка проверка подлинности вай фай роутер
  • Ошибка проверка не пройдена missing input response
  • Ошибка проверка на безопасность не пройдена
  • Ошибка проверка мобильное приложение сервер
  • Ошибка проверка капчи не пройдена