Центральный Дом Знаний - Работа в 1С 10

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Как Вы планируете отдохнуть летом?
Всего ответов: 903

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Логин:
Пароль:

Работа в 1С 10

Работа в программе 1С

стр.: 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  

Возвращаемое значение: 1 – если действие выполнено; 0 – если действие не выполнено (элемент не найден).

Пример:

Сотр = СоздатьОбъект("Справочник.Сотрудники");

// Позиционируем созданный объект Спр по реквизиту

Сотр.НайтиПоРеквизиту("Оклад", 10000, 1);

Если Сотр.Выбран() > 0 Тогда

Имя = Сотр.Наименование;

Иначе

Предупреждение("Не найден сотрудник с таким паспортом!");

КонецЕсли;

Записать() – выполняет запись (обновление) элемента справочника.

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

Пример:

Процедура ВводСотрудника()

Спр = СоздатьОбъект("Справочник.Сотрудники");

// добавляем новый элемент справочника

Спр.Новый();

// Определяем реквизиты нового элемента справочника

Спр.Наименование = ФИО;

Спр.Код = ТН;

Спр.Оклад = Оклад;

// ...

// Записываем новый элемент справочника

Спр.Записать();

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

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

Пример:

Процедура ВводГруппыСотрудников()

Спр = СоздатьОбъект("Справочник.Сотрудники");

// добавляем новую группу справочника

Спр.НоваяГруппа();

// Определяем реквизиты новой группы справочника

Спр.Наименование = "Совместители";

Спр.Код = 3;

// Записываем на диск

Спр.Записать();

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

Удалить(<Режим>) – удаляет (или делает пометку на удаление) текущий элемент или группу справочника. Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект(). Непосредственное удаление объекта следует применять очень аккуратно, так как это действие может нарушить ссылочную целостность информации. Данный режим не рекомендуется использовать, если на данный объект могут быть ссылки в других объектах, например в реквизитах существующих документов.

Параметры:

<Режим> – необязательный параметр. 1 – непосредственное удаление; 0 – пометка на удаление. Значение по умолчанию – 1.

Пример:

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

Спр = СоздатьОбъект("Справочник.Сотрудники");

Если Сотр.Выбран() > 0 Тогда

// позиционируем справочник на заданном элементе

Спр.НайтиЭлемент(Сотр);

Если Спр.Выбран() > 0 Тогда

Если Вопрос("Удалять??? ", 1) = 1 Тогда

// удаляем элемент справочника

Спр.Удалить(1);

КонецЕсли;

Иначе

Предупреждение("Некого удалять!");

КонецЕсли;

КонецЕсли;

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

Предопределенные методы форм справочника (должны располагаться только в Модулях форм справочника)

ВводНового(<ПризнКопирования>, <ОбъектКопирования>)– предопределенная процедура при вводе нового элемента справочника. Вызов процедуры ВводНового() производится в системе 1С:Предприятие неявно в момент выбора пункта меню Действия – Новый при работе со справочниками. Данная процедура может использоваться, например, для установки начальных значений (по умолчанию) реквизитов нового элемента справочника. Если в данной предопределенной процедуре установить статус возврата – 0 (например, если данному пользователю нельзя вводить новые элементы), ввода нового элемента и открытие его формы не будет выполнено.

Параметры:

<ПризнКопирования> – признак того, что объект введен копированием. 1 – объект введен копированием, 0 – просто новый объект. Данный признак может быть использован для анализа необходимости инициализации реквизитов нового объекта.

<ОбъектКопирования> – объект, который был скопирован.

Пример:

Процедура ВводНового();

// задаем значение оклада по умолчанию

Оклад = 1000000;

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

ПриЗаписи(<СписокПериодРекв>) – вызов предопределенной процедуры ПриЗаписи() производится системой 1С:Предприятие при интерактивной записи элемента справочника. Если в данной предопределенной процедуре установить статус возврата – 0 (например, если данному пользователю нельзя изменять некоторые элементы справочника), то запись элемента справочника не будет выполнена.

Параметры:

<СписокПериодРекв>– строковое значение – список разделенных запятыми изменяемых периодических реквизитов справочника. В данный параметр система 1С:Предприятие передает перечень периодических реквизитов, которые были интерактивно выбраны пользователем для обновления в окне диалога выбора. В теле процедуры значение данного параметра может быть изменено, что позволяет в данной процедуре непосредственно управлять списком записываемых значений периодических реквизитов.

Пример:

Процедура ПриЗаписи (СписокРекв)

Если НазваниеНабораПрав() = "Продавец" Тогда

Если ТекущийЭлемент() = Константа.НашаФирма Тогда

Предупреждение("У вас нет права менять реквизиты!", 2);

СтатусВозврата(0);

КонецЕсли;

КонецЕсли;

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

3.4 Создание программного модуля справочника

Теперь попробуем запрограммировать некоторые полезные действия при создании нового элемента справочника и записи изменений. Например, при создании нового сотрудника зададим в качестве ДатыПриема текущую дату. Для этого переключимся на вкладку Модуль в окне Форма элемента и создадим предопределенную процедуру ВводНового():

Процедура ВводНового()

ДатаПриема=ТекущаяДата();

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

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

Далее, предположим, что в справочнике не может быть сотрудников с одинаковым ФИО (реквизит Наименование). Создадим предопределенную процедуру ПриЗаписи(), которая перед записью строки в справочник проверяет не присутствует ли там уже сотрудник с таким же ФИО:

Процедура ПриЗаписи()

Сотр=СоздатьОбъект("Справочник.Сотрудники");

// поиск в справочнике по наименованию: 0 – поиск во всем справочнике (без учета

// групп), 0 – поиск на точное соответствие

Сотр.НайтиПоНаименованию(Наименование, 0, 1);

// если такой сотрудник найден и его код не совпадает с кодом текущего элемента

// справочника…

Если (Сотр.Выбран()=1) И (Код<>Сотр.Код) Тогда

// выдаем стандартное окно предпрядения

Предупреждение("Сотрудник с таким ФИО уже имеется в справочнике");

// выходим из процедуры со статусом «Отменим действие», то есть элемент

// справочника не записывать, а вернуться в окно ввода для исправления ошибок

СтатусВозврата(0);

КонецЕсли;

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

Сохраните конфигурацию и запустите 1С в режиме Предприятие. Убедитесь, что при создании или редактировании сотрудника невозможно ввести сотрудников с одинаковым ФИО.

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

Процедура ПриЗаписи()

Сотр=СоздатьОбъект("Справочник.Сотрудники");

Сотр.НайтиПоНаименованию(Наименование, 0, 1);

Если (Сотр.Выбран()=1) И (Код<>Сотр.Код) Тогда

Предупреждение("Сотрудник с таким ФИО уже имеется в справочнике");

СтатусВозврата(0);

ИначеЕсли Должности.Выбран()=0 Тогда

Предупреждение("Не заполнено поле Должность");

СтатусВозврата(0);

ИначеЕсли Оклад<=0 Тогда

Предупреждение("Поле Оклад должно быть больше 0");

СтатусВозврата(0);

// если дата приема больше даты увольнения и дата увольнения введена

// '00.00.00' – неопределенная дата

ИначеЕсли (ДатаПриема>ДатаУвольнения) И (ДатаУвольнения<>'00.00.00') Тогда

Предупреждение("Дата приема не может быть больше даты увольнения");

СтатусВозврата(0);

КонецЕсли;

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

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

Далее запрограммируем для формы ФормаСпискаГрупп выбор из списка группы. Это будет необходимо для выбора группы, которая является подразделением, например при приеме нового работника с помощью документа. Для этого откроем форму ФормаСпискаГрупп, переключимся на вкладку Модуль. Создадим предопределенную процедуру ПриОткрытии():

Процедура ПриОткрытии()

// режим выбора групп

ВыборГруппы(1);

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

Сохраните конфигурацию.

3.5 Иерархические и подчиненные справочники. Работа в режиме отладки

Иерархические и подчиненные справочники

Список элементов справочника в системе 1С: Предприятие может быть иерархическим (многоуровневым). В этом случае все строки справочника будут разделяться на 2 вида: «просто» элементы справочника и группы справочника. Группы позволяют переходить на нижележащие уровни многоуровневого справочника.

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

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

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

В отличие от многоуровневого справочника, в котором все элементы имеют одинаковую структуру, использование механизма подчиненных справочников позволяет связать элементы разной структуры. В этом случае каждый элемент подчиненного справочника будет связан с одним из элементов справочника–владельца. Например, в системе может быть справочник НалоговыеЛьготы. Тогда его можно сделать подчиненным справочнику Сотрудники. Это означает, что "Сотрудник владеет налоговыми льготами".


Справочник Сотрудники

Справочник НалоговыеЛьготы

  • Иванов Иван Иванович

  • Петров Петр Петрович

  • Светлов Михаил Петрович

  • Цветков Антон Васильевич

(владелец Петров Петр Петрович)

  • Льгота ветеранам

  • Льгота на детей

  • Иванов Иван Иванович

  • Петров Петр Петрович

  • Светлов Михаил Петрович

  • Цветков Антон Васильевич

(владелец Светлов Михаил Петрович)

  • Льгота афганцам

Внешне работа с подчиненным справочником в системе 1С:Предприятие будет выглядеть следующим образом.

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

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

Работа в режиме отладки

Режим Отладчик используется для поиска и исправления ошибок в программных модулях. Для его запуска из режима Конфигуратор используется кнопка на панели инструментов или пункт меню Сервис \ Отладчик. При запуске 1С в режиме Отладчик на экране появляется окно (рисунок 3.5.1):

Рисунок 3.5.1

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

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

Щелкните два раза на слове Форма (программных модуль формы элемента справочника Сотрудники), на экране появится окно с текстом выбранного программного модуля, доступным только для чтения. Режим Отладчик позволяет «пошагово» пройти по строкам программного модуля и просмотреть значение переменных и реквизитов соответствующего объекта.

Loading

Календарь

«  Май 2019  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24