Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

В режиме «1С:Предприятие». Теория. Как быстро посмотреть результат запроса. Оперативное и неоперативное проведение документов




В режиме «1С: Предприятие»

Теперь нужно запустить «1С: Предприятие» в режиме отладки, пере- провести все документы Оказание услуги и проверить, что данные правильно заносятся в регистры.

 

Теория

Как быстро посмотреть результат запроса

В процессе изменения процедуры проведения документа Оказа- ниеУслуги мы с вами подошли уже к написанию довольно сложных запросов.

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

Есть простой способ сделать это в конфигураторе. Рассмотрим его на примере запроса из нашей обработки проведения.

Предположим, после выполнения запроса (Запрос2) нужно выгрузить результат запроса в таблицу значений (ТЗ). Это можно сделать следующим образом (листинг 14. 34).

листинг 14. 34. Фрагмент процедуры «ОбработкаПроведения()»

 

После этого нужно установить точку останова на следующем операторе (ВыборкаДетальныеЗаписи = Результат. Выбрать()). Затем запустить «1С: Предприятие» в режиме отладки и перепровести один из документов Оказание услуги. Например, документ № 2.

После того как исполнение кода будет остановлено, нужно двойным щелчком выделить слово ТЗ и нажать кнопку Вычислить выражение (Shift + F9) на панели инструментов Отладка конфигурации.

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


Таблица значений является коллекцией, поэтому, чтобы просмотреть ее содержимое, выделим строку ТЗ в окне Результат и нажмем кнопку Показать значения в отдельном окне (или F2) над окном результата (рис. 14. 29).

 

 

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

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

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

 

Оперативное и неоперативное проведение документов

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

Делать это мы будем не всегда. А только в том случае, когда документ проводится оперативно. Если документ проводится неопе-


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

При разработке конфигураций на платформе «1С: Предприятие» используется концепция оперативного и неоперативного проведения документов. Эта концепция используется при решении задач опера- тивного учета (например, при складском учете товаров) и позволяет организовать корректную работу с документами в условиях реальной действительности. Однако можно отключить этот механизм (запретить оперативное проведение документов) и реализовывать собственные алгоритмы, проверять актуальность документов на оси событий и т. д.

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

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

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

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

Если дата проводимого документа меньше текущей даты сеанса, то такой документ система будет проводить в неоперативном режиме.

Неоперативное проведение документов подразумевает отражение в базе данных фактов, которые свершились в прошлом или которые


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

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

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

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

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


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...