Смекни!
smekni.com

Системы программирования (стр. 4 из 6)

Для организации подбора используется функция

ОткрытьПодбор (<Объект>,<ИмяФормы>,<КонтекстФормы>,<ФлагМножВыбора>,<ТекЗнач>)

Пример:

ОткрытьПодбор («Справочник. Номенклатура», «ФормаДляПодбора», Конт, 1);

Процедура ОбработкаПодбора (Элемент, КонтФормы)

НоваяСтрока();

Товар = Элемент;

КонецПроцедуры

Другие полезные методы

Вид()

ПредставлениеВида()

УстановитьАтрибут (ИмяРеквизита, Значение)

ПолучитьАтрибут(ИмяРеквизита)

Выбран()

Выбрать(…)

3.2 Объект «Документ», журналы документов

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

Реквизиты шапки документа задаются в списке «Реквизиты шапки». Реквизиты табличной части задаются в списке «Реквизиты табличной части».

3.2.1 Проведение документа

Для того чтобы документ формировал проводки, необходимо

1. поставить флажок «Разрешить проведение документа».

2. поставить флажок «Бухгалтерский учет» или «Оперативный учет» или «Расчеты»

Формирование проводок происходит в «Модуле документа» в предопределенной процедуре «Обработка проведения».

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

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

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

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

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

3.2.3 Форма документа

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

Предопределенные процедуры модуля формы документа

ВводНового (ПризнакКопирования, ОбъектКопирования)

ВводНаОсновании(Основание)

ПриЗаписи()

ПриВводеСтроки()

ПриНачалеРедактированияСтроки()

ПриРедактированииНовойСтроки()

ПриОкончанииРедактированияСтроки (ФлагНовойСтроки)

ПриУдаленииСтроки()

Печатные формы документа

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

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

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

3.2.4 Номер документа и нумераторы

Номер документа

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

Префикс номера

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

Док = СоздатьОбъект («Документ. Счет»);

Док. Новый();

ПрефДок = Склад. Префикс;

Док. УстановитьНовыйНомер (ПрефДок + «–»);

Нумератор

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

3.2.5 Дата, время и позиция документа

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

Часы = 0;

Минуты = 0;

Секунды = 0;

Док. ПолучитьВремя (Часы, Минуты, Секунды);

Если Часы > 21 Тогда

Предупреждение («Рабочий день закончен»)

Док. АвтоВремяКонецДня();

ИначеЕсли Часы < 8 Тогда

Предупреждение («Документ будет записан в начало дня»);

Док. АвтоВремяНачалоДня();

ИначеЕсли

Вопрос («Записать документ с текущим временем?», 4) = 7 Тогда

ВвестиЧисло (ЧасУст, «Укажите час, с которым будет записан данный документ», 2,0);

Док. УстановитьВремя (ЧасУст, Минуты, Секунды);

Иначе

Док. АвтоВремяТекущее();

КонецЕсли;

Позиция документа

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

ПозДокумента = Док. ПолучитьПозицию(); // только чтение!

Позиция имеется только у записанного документа.

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

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

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

3.3 Лабораторная работа №3

3.3.1 Цель лабораторной работы

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

2. Научиться создавать справочники и документы, настраивать их экранные формы, описывать алгоритм их работы на встроенном языке 1С: Предприятия.

3.3.2 Задание на лабораторную работу №3

Создать в пустом каталоге базу данных.

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

1. Необходимо хранить сведения о поставщиках / покупателях (контрагентах), товарах / материалах / продукции (номенклатуре), складах компании.

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

3. У товара может быть несколько единиц измерения (например, штука, коробка – коробке 25 штук, ящик – в ящике 10 коробок, 250 штук). Одна из этих единиц является основной. Основная единица используется для хранения остатков.

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

5. Товар, хранящийся на складе, может быть 1, 2 или 3 сортов. Сорт товара влияет на его продажную цену – за товар 2 сорта берется 80% цены, за товар 3 сорта берется 50% цены. Для хранения информации о составе сортов и процентах создать справочник «Сорта» 4.6 Лабораторная работа №4

Создать документы, необходимые для ведения учета