Иллюстрированный самоучитель по языку системы 1С:Предприятие

Контекст работы с календарями

Доступ к атрибутам и методам календарей осуществляется, например, через объект, созданный системной функцией СоздатьОбъект с ключевым словом "Календарь".

Англоязычный синоним ключевого слова "Календарь" – "Calendar".

Пример:

// Рассчитать продолжительность месяца в часах по календарю "Служащие"

Календ = СоздатьОбъект("Календарь.Служащие");

Час = Календ.Часов('01.01.96', '31.01.96');

// Рассчитать продолжительность текущего расчетного

// периода журнала расчетов Зарплата по календарю Служащие

Календ = СоздатьОбъект("Календарь.Служащие");

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

Час = Календ.Часов(ЖР.НачалоТекущегоПериода(), ЖР.КонецТекущегоПериода());

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

Пример:

Процедура ПровестиРасчет()

// ВнСовместитель — реквизит журнала расчетов

// Категории — периодический реквизит справочника ВнутренниеСовместители

// Календарь — реквизит справочника Категории

Календ = ВнСовместитель.Категория.Получить(ДатаОкончания).Календарь;

// размер оклада

Оклад = ВнСовместитель.Оклад.Получить(ДатаОкончания) *

ВнСовместитель.Ставка.Получить(ДатаОкончания);

Дней = Календ.Дней(ДатаНачала, ДатаОкончания);

ВсегоДней = Календ.Дней(НачалоПериодаПоДате(ДатаНачала),

КонецПериодаПоДате(ДатаНачала));

Если ВсегоДней > 0 Тогда

Если Документ.Вид() = "НачалоМесяца" Тогда

Результат = Окр(Оклад * Дней / ВсегоДней);

Иначе

Результат = -Окр(Оклад*Дней/ВсегоДней);

КонецЕсли;

Иначе

Результат = 0;

Сообщить("Неправильно указан календарь (" + Объект.Наименование + ")");

Сообщить("Возможно, не задана категория работника");

КонецЕсли;

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

Контекст работы с праздниками

Доступ к атрибутам и методам праздников осуществляется через объект, создаваемый системной функцией СоздатьОбъект с ключевым словом "Праздники".

Англоязычный синоним ключевого слова "Праздники" – "Holidays".

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.