Контроль уникальности



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

 

Журналы документов

В системе 1С:Предприятие 8.0 журналы документов являются объектами конфигурации, предназначенными для смысловой группировки документов. Для отображения журнала используется элемент управления ТабличноеПоле. Работая со списком документов, пользователь может создать новый документ, открыть или удалить его, найти нужный документ по номеру. Кроме того, есть возможность установить нужный интервал, тем самым ограничив выборку документов.

Стоит отметить, что у самого документа может быть форма списка, которая является аналогом журнала для документов одного вида. Если она не создана, то генерируется системой автоматически, когда в ней возникает потребность, но, если требуется, можно создать ее в Конфигураторе и настроить удобный внешний вид формы.

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

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

Рис.3.6.

 

Графы журнала

В журнале документов могут быть созданы графы журнала, которые отображают информацию из документов.

Например, в журнале операций созданы графы Контрагент, Организация и др.:

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

 

Последовательности

Последовательности документов — это специальный механизм 1C:Предприятия 8.0, который позволяет поддерживать правильность движений документов. В версии 8.0 возможности последовательностей получили дальнейшее развитие.

Если документ при проведении использует текущие итоги регистра (например, расходная накладная списывает товары по методу FIFO или LIFO), то в случае изменения движений «задним числом» движения всех последующих документов становятся некорректными, и эти документы необходимо перепровести.

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

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

Граница последовательности — это позиция последнего проведенного документа с «правильными» движениями. Если какие-то движения изменяются задним числом, граница последовательности отодвигается назад на последний документ, при проведении которого использовались последние «правильные» итоги, а все документы, проведенные на основе изменившихся итогов, окажутся после границы последовательности.

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

В 1С:Предприятии 8.0 появилась новая возможность указать измерения для последовательности документов. В этом случае перепроводиться будут только те документы, которые изменили состояние регистра по данному значению измерения, например, только по конкретному товару. Это значительно ускоряет перепроведение документов, когда их очень много.

 

Перечисления

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

Типичными примерами перечислений являются:

· ТипКлиента (значения: Обычный, Важный),

· Пол (значения: Мужской, Женский),

· ВидКонтрагента (значения: ЧастноеЛицо, Организация).

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

Если ТипКлиента = Перечисления.ТипКлиента.Обычный Тогда

//расчет скидки для обычных клиентов

...

ИначеЕсли ТипКлиента = Перечисления.ТипКлиента.Важный Тогда

//расчет скидки для важных клиентов

...

Иначе

Сообщить("Не указан тип клиента!");

КонецЕсли;

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

 

Отчеты и обработки

Отчеты и обработки - это не сохраняемые в базе данных объекты, предназначенные для формирования печатных форм или обработки данных в базе данных.

Отчеты и обработки совершенно идентичны по структуре, у них просто разное назначение:

· Отчеты предназначены для вывода информации, формирования различных печатных форм с детальными и сводными данными, например, отчеты АнализПродаж, ПрайсЛист, РеестрДокументов.

· Обработки предназначены для изменения данных в базе данных и выполнения других действий, например, ПерерасчетЗарплаты, ЗакрытиеПериода, КлиентБанк.

Структура отчета и обработки одинакова:

Реквизиты

Реквизиты отчета (обработки) содержат параметры формирования отчета (выполнения обработки). Эти реквизиты отличаются от реквизитов справочников тем, что они не сохраняются в базе данных. Например, реквизиты НачДата и КонДата у отчета АнализПродаж.

Табличные части

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

Например, табличная часть условияПоСубконто у отчета «ОСВ по счету».

Экранные формы предназначены для отображения отчета/обработки на экране. Это могут быть и различные дополнительные формы, предназначенные для ввода параметров или отображения результатов. В качестве примера можно назвать формы ВыборПериода и ФормаВложеннойТаблицы обработки КонсольЗапросов.

Макеты

Макеты являются шаблонами печатных форм, на основе которых формируются выходные формы. Макеты могут быть как у отчетов, так и обработок. Например, макеты РеестрДокументов, ОсновнойМакет.

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

Например, в модуле отчета объявляется процедура Печать с ключевым словом Экспорт, которая в качестве параметра принимает табличный документ:

// Процедура осуществляет печать справочника. Можно направить печать на

// экран или принтер, а также распечатать необходимое количество копий.

//

// Название макета печати передается в качестве параметра,

// по переданному названию находим имя макета в соответствии.

// Параметры:

// НазваниеМакета - строка, название макета.

// Возвращаемое значение:

// Нет.

//

Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь, НепосредственнаяПечать = Ложь, ФормаЭлемента = Неопределено) Экспорт

 

Если ФормаЭлемента = Неопределено Тогда

ДатаСведений = РабочаяДата;

ВыборкаЗаписей = РегистрыСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.ПолучитьПоследнее(ДатаСведений,Новый Структура("ОсновноеСредство",Ссылка));

Организация =?(ВыборкаЗаписей.Количество() > 0,ВыборкаЗаписей.Организация,Справочники.Организации.ПустаяСсылка());

Иначе

ДатаСведений = ФормаЭлемента.ДатаСведений;

Организация = ФормаЭлемента.Организация;

КонецЕсли;

 

// Получить экземпляр документа на печать

Если ИмяМакета = "ОС6_2003" тогда

ТабДокумент = ПечатьОС6_2003(ДатаСведений,Организация);

//ИначеЕсли ТипЗнч(ИмяМакета) = Тип("СправочникСсылка.ДополнительныеПечатныеФормы") Тогда

// ИмяФайла = КаталогВременныхФайлов()+"PrnForm.tmp";

// ОбъектВнешнейФормы = ИмяМакета.ПолучитьОбъект();

// Если ОбъектВнешнейФормы = Неопределено Тогда

// Сообщить("Ошибка получения дополнительной печатной формы объекта. Возможно форма была удалена", СтатусСообщения.Важное);

// Возврат;

// КонецЕсли;

// ДвоичныеДанные = ОбъектВнешнейФормы.ХранилищеВнешнейОбработки.Получить();

// ДвоичныеДанные.Записать(ИмяФайла);

// Обработка = ВнешниеОбработки.Создать(ИмяФайла);

// Обработка.СсылкаНаОбъект = Ссылка;

// ТабДокумент = Обработка.Печать();

Иначе

Сообщить("Ошибка получения дополнительной печатной формы объекта. Возможно форма была удалена", СтатусСообщения.Важное);

КонецЕсли;

 

НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, "Инвентарная карточка ОС (Форма ОС-6)", НепосредственнаяПечать);

 

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

 

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

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

Чтобы научиться формировать печатные формы, необходимо прочитать главу «Отчеты». Отчеты часто извлекают информацию из базы данных с помощью запросов. Механизм запросов является очень гибким и описан в отдельной главе «Запросы». Во многих случаях отчеты и обработки обращаются к регистрам, работа с которыми описана в главах «Регистры сведений», «Регистры накопления» и др.

 

Внешние обработки

Так же, как и в версии 7.7, в версии 8.0 любой отчет или обработка может быть сохранен во внешний файл, т.е. он будет храниться вне информационной базы. В версии 8.0 изменился формат у внешних обработок, теперь они хранятся в файлах с расширением «EPF».

Для запуска внешней обработки можно использовать команду меню «Файл -> Открыть». Если же это требуется сделать программным образом, то необходимо воспользоваться менеджером внешних обработок, для чего предназначено свойство ВнешниеОбработки глобального контекста. Обратите внимание, что теперь нет команды ОткрытьФорму, которая была в версии 7.7.

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

Обработка = ВнешниеОбработки.Создать("с:\АнализПродаж.epf");Обработка.Контрагент = ВыбКонтрагент;Обработка.Печать(ЭлементыФормы.ПолеТабДок);

 

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

 

Вопросы для повторения

1. Дайте характеристику объекту конфигурации «Константа».

2. Дайте характеристику объекту конфигурации «Справочник».

3. Дайте характеристику объекту конфигурации «Документ».

4. Дайте характеристику объекту конфигурации «Журнал документов».

5. Понятия оперативного и неоперативного проведения, оперативная отметка времени.

6. Роль нумераторов в конфигурации.

7. Механизм последовательности документов, граница последовательности.

8. Дайте характеристику объекту конфигурации «Перечисление».

9. Дайте характеристику объекту конфигурации «Отчет».

10. Дайте характеристику объекту конфигурации «Обработка».

11. В чем сходство и различие объектов «Отчет» и «Обработка»?

12. Дайте характеристику объекту конфигурации «Внешняя обработка».

 

Резюме по теме

· Встроенные реквизиты НомерДок и ДатаДок заменены реквизитами Номер и Дата. Значения типа «дата» включают в себя также и время.

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

· Максимальная длина номера документа увеличена до 50 символов.

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

· Больше нет общих реквизитов документов. Поддержка общих реквизитов отрицательно сказывалась на производительности системы.

· У документа теперь нет метода Провести. Программное проведение документа осуществляется методом Записать с параметрами РежимЗаписиДокумента (возможные значения: Запись,Проведение и ОтменаПроведения) и РежимПроведенияДокумента (возможные значения: Оперативный и Неоперативный).

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

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

· Больше нет такого понятия, как «подчиненные документы»,соответственно метод ВыбратьПодчиненныеДокументы был удален. Вместо этого можно использовать критерии отбора.

· Больше нет граф отбора, вместо них предлагается использовать критерии отбора.

· У отчетов и обработок может быть несколько экранных форм.

· Отчеты и обработки могут иметь реквизиты и табличные части, но их смысл отличается от реквизитов и табличных частей справочников и документов. Через них передаются параметры формирования отчета или выполнения обработки.

· Основная процедура формирования отчета или выполнения обработки обычно располагается в модуле объекта и объявляется с ключевым словом Экспорт. В модуле формы (или из любого другого программного модуля) производится вызов данной процедуры.

· Изменилась техника формирования печатной формы (табличного документа), о чем подробно рассказывается в главе «Отчеты».

· Внешние обработки хранятся в EPF-файлах, несовместимых с ERT. Для программного запуска внешней обработки или открытия ее формы необходимо воспользоваться менеджером внешних обработок.

 


Дата добавления: 2015-12-20; просмотров: 22; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!