Вы наверняка уже слышали про новый сервис от фирмы 1С “Паспорт квалификации 1С”. Сервис хорош, особенно для тех, кому есть, что показывать :) Поэтому рекомендуем всем идти на экзамены! Наши слушатели уже активно готовятся к аттестациям 1С. Сегодняшняя подборка вопросов из Мастер-групп – тому подтверждение.
Вопрос №1: Как применять конструктор “Новый Граница” в тонком и веб-клиенте?
Ответ
В данном случае имеется в виду, что следует учитывать различные режимы работы системы, и то, что некоторые объекты могут быть в определенных случаях недоступны непосредственно. Это, как правило, касается “тяжелых” объектов для доступа к данным – они недоступны в клиентской части при выполнении в тонком и веб-клиентах (Граница – один из таких объектов). В этом случае следует, если требуется, организовать клиент-серверное взаимодействие, передав управление на сервер, где эти объекты доступны.
Напомню, клиент-серверная архитектура предполагает, что выполнение кода приложения разделено: часть кода выполняется на клиенте (условно – на компьютере пользователя), часть – на сервере (в общем случае на другом компьютере). Ресурсоемкие операции (большинство операций получения и модификации данных) выполняются только на сервере, на клиенте они выполняться не могут. Для выполнения таких операций (например, получения или модификации данных) клиент передает управление на сервер, сервер производит нужные действия и возвращает клиенту требуемый результат.
Частный случай – толстый клиент, особенно в файловом режиме – ему непосредственно доступны большинство объектов и методов для манипуляции с данными.
Ошибкой будет полагаться при разработке, что для запуска приложения всегда используется толстый клиент. Нужно предполагать возможность запуска и других видов клиентов (тонкого, веб), а также различные режимы работы (файловый, клиент-серверный). А потому нужно четко понимать, где будет выполняться тот или иной метод – на клиенте или на сервере, использовать подходящие объекты и методы, организовывать клиент-серверное взаимодействие.
Также нужно учитывать особенности клиент-серверной архитектуры и при обработке файлов (загрузке данных из файлов, выгрузке данных в файлы). В общем случае клиент и сервер – это разные компьютеры, каждый со своей независимой файловой системой, поэтому рассчитывать на то, что локальный файл доступен на сервере и обращаться к нему напрямую нельзя – следует организовать передачу файлов между клиентом и сервером (например, через временное хранилище).
Поэтому, кстати, всегда следует тестировать свое решение в тонком клиенте – все подобного рода недочеты и упущения наверняка проявятся.
Всегда следует учитывать контекст выполнения кода.
Если выполнение происходит на клиенте, для доступа к данным нужно передать управление на сервер, вызвав серверный метод. Это универсальный прием, который обеспечит работоспособность приложения для любого клиента и любого режима работы. Это в первую очередь касается процедур и функций в модулях форм, в клиентских и клиент-серверных общих модулях. Напомню, для помещения методов и переменных в клиентскую или серверную предусмотрены специальные директивы препроцессора &НаКлиенте, &НаСервере.
Если код выполняется уже на сервере, дополнительные манипуляции не нужны.
Что касается модулей объектов, модулей менеджеров объектов, серверных общих модулей, то они всегда выполняются на сервере, поэтому в них можно непосредственно использовать объекты, доступные только на сервере, независимо от того, какой используется вариант клиента. Дополнительно указывать для них, что тот или иной метод выполняется на сервере, не требуется.
Обратите внимание, процедура ОбработкаПроведения() определена в модуле документа, это серверный контекст, поэтому здесь можно использовать такие объекты как Запрос, Граница, Набор записей, Таблица значений, и т.п., которые доступны только на сервере. Причем, опять-таки не важно, какой используется клиент: проведение документа выполняется всегда на сервере.
Подготовка к аттестации 1С:Специалист по платформе 1С:Предприятие 8.3.
Вопрос №2: Почему в 1С:ERP в платежном календаре присутствует кассовый разрыв, которого фактически нет?
Ответ
В вашем случае имеет место быть особенность формирования Платежного календаря – при заполнении формы данной обработки не учитываются будущие фактические платежи. Поясню, как это проявляется:
В вашем случае, Вы берете кредит 26.03.21, поэтому:
A. Если формировать платежный календарь 25.03.21 и документ поступления безналичных ДС не будет в статусе “Проведено банком”, то он нормально будет учтен при формировании платежного календаря (см.скриншот 1)
B. Аналогичная ситуация будет возникать, если формировать платежный календарь 26.03.21 и документ поступления безналичных ДС будет в статусе “Проведено банком” – он также будет нормально учтен при формировании платежного календаря (см.скриншот 2)
C. Проблема возникнет, если формировать платежный календарь 25.03.21 и документ поступления безналичных ДС будет в статусе “Проведено банком” – в этом случае, он не будет учтен при формировании платежного календаря (см.скриншот 3), так как логика, заложенная в платежный календарь, отталкивается от текущего момента и ориентируется на планирование будущих действий, и считает, что Вы не можете определенно знать, какие события произойдут в дальнейшем, поэтому не учитывает фактические платежи, совершенные будущими датами.
Данную особенность работы прикладного решения необходимо учитывать при решении задания на экзамене и быть готовым объяснить ее экзаменатору.
Управленческий учет в 1C:ERP 2.4 и подготовка к Аттестации 1С:Специалист-консультант.
Вопрос №3: Почему после полного пересчета итогов не удаляются все записи с нулевыми значениями в таблице итогов?
Нулевые итоги были получены обработкой, которая предоставляется слушателям в рамках курса. Проблема возникла с оборотным регистром накопления. Признак использования текущих итогов актуален только для регистров накопления вида “Остатки”, все верно? Если “Да”, тогда вопрос: как бороться с нулевыми итогами оборотных регистров накопления или для них это не принципиально?
Ответ
- Да, признак использования текущих итогов актуален только для регистров остатков. Это верно. У оборотного регистра нет остатков.
- У оборотного регистра есть таблица итоговых оборотов по набору измерений. Даже пустые итоговые записи – это нормально (в большинстве релизов платформы 1С такие записи не чистятся. Разработчики такое поведение обосновывают тем, что операция “update” существующей записи значительно “дешевле” по ресурсам и времени чем “insert”).
Ускорение и оптимизация систем на 1С:Предприятие 8.3 + подготовка на 1С:Эксперт.