25 февр. 2015 г.

Шпаргалка программиста 1С (часть 2)



1. Как создать запись в регистре сведений.
2. Как программно удалить запись из регистра сведений.
3. Как в СКД выбирать данные за период на конец дня.




1. Как создать запись в регистре сведений

Создаем набор записей в регистр. Вносим нужные данные, записываем. Все достаточно просто.

ЗаписьРегистра = РегистрыСведений.НашРегистр.СоздатьНаборЗаписей();
НоваяЗаписьРегистра = ЗаписьРегистра.Добавить();
НоваяЗаписьРегистра.Измерение1 = Значение1;
НоваяЗаписьРегистра.Ресурс1 = Значение2;
НоваяЗаписьРегистра.Период = ТекущаяДата();
ЗаписьРегистра.Записать(Ложь); //Ложь не замещать записи


2. Как программно удалить запись из регистра сведений 

Как и при записи, создается набор записей, устанавливается отбор (только по измерениям). Читаются записи с учетом отбора. Записи удаляются и набор записей записывается.

НаборЗаписей = РегистрыСведений.НашРегистрСведений.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Измерение1.Установить(НашеЗначение);
НаборЗаписей.Прочитать();

Для Каждого Стр Из НаборЗаписей Цикл
      НаборЗаписей.Удалить(Стр);
КонецЦикла;

НаборЗаписей.Записать();


3. Как в СКД выбирать данные за период на конец дня

Рассмотрим, как при написании отчета на СКД (схема компоновки данных) выбирать данные за период на конец дня "периода по".
А также, попутно рассмотрим, как запретить пользователю вводить время при указании периода формирования отчета (вводить только дату).
Например, пользователю нужно сформировать отчет за период с 01.01.2013 по 14.12.2014 включительно
Для этого нужно сделать следующее (Рис.1):
Рис.1. Установка состава даты.
Выражение "КонецПериода"

  1. В СКД зайти на закладку "Параметры". Если у вас в запросе есть параметры ограничения периода, а они должны быть, то они здесь автоматически отобразятся. Лучше всего в запросе давать имена параметрам: "НачалоПериода" и "КонецПериода". В таком случае компоновщик данных не создаст вам лишних параметров на этой закладке и все будет работать правильно.  
  2. Первым делом (Рис.1) мы выбираем состав даты наших параметров. Для этого щелкаем на 3 точки (...) в колонке "Тип". 
  3. Появляется окно "Редактирования типа данных", выбираем "Дата", жмем ОК.
  4. Дальше прописываем выражение для параметра КонецПериода: "КонецПериода(&КонецПериода, "День")". Теперь, если пользователь выберет конец периода 14.12.2014, то данные будут выбраны на конец дня, а не на начало.
И как маленький итог, результатом есть то, что данные выбираются на конец дня и пользователь может выбрать только дату без времени (Рис.2).

Рис.2. Режим предприятия. Настройки отчета.

Комментариев нет:

Отправить комментарий

Спрашивайте, критикуйте, оставьте свое мнение