Как открыть форму записи регистра сведений? Код 1C v 8.2 УП
&НаКлиенте
Процедура ОсновноеСредствоОткрытие(Элемент, СтандартнаяОбработка)
// Вставить содержимое обработчика.
Если Не Объект.ОсновноеСредство.Пустая() Тогда
СтандартнаяОбработка = Ложь;
ПередаваемыеПараметры = Новый Структура; //формируем структуру полей измерений
ПередаваемыеПараметры.Вставить("ОсновноеСредство",Объект.ОсновноеСредство);
ПараметрыМассив = Новый Массив;
ПараметрыМассив.Добавить(ПередаваемыеПараметры); // помещаем структуру в массив
КлючЗаписиРегистра = Новый("РегистрСведенийКлючЗаписи.ПервоначальныеСведенияТС", ПараметрыМассив); //с помощью массива со структурой создаем ключ записи
ОткрытьФормуМодально("РегистрСведений.ПервоначальныеСведенияТС.ФормаЗаписи", Новый Структура("Ключ", КлючЗаписиРегистра)); // передаем в форму ключ записи и открываем её
КонецЕсли;
КонецПроцедуры
Категория:
Управляемое приложение, Тонкий клиент Программно удаляем записи из регистра накопления 1. Выбираем ссылки документов - регистраторов:
Код 1C v 8.х РегистрыНакопления.Остатки.УстановитьИспользованиеИтогов(Ложь);
Запрос=Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Регистр.Регистратор
|ИЗ
| РегистрНакопления.Остатки КАК Регистр
|ГДЕ
| Регистр.Регистратор.Дата<&КонПериода";
Запрос.УстановитьПараметр("КонПериода",КонПериода);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Кол=0;
БылиОшибки=Ложь;
2. Далее:
- Создать набор записей
- Установить на него отбор по регистратору
- Записать набор (так как
передаваемые значения пусты - получается мы пишем пустой регистр , соответственно стираем старую запись)
Код 1C v 8.х Пока Выборка.Следующий() цикл
ОбработкаПрерыванийПользователя();
Набор = РегистрыНакопления.Остатки.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Значение = Выборка.Регистратор;
Попытка
Набор.Записать();
Исключение
БылиОшибки=Истина;
КонецПопытки;
Кол=Кол+1;
ЕСЛИ Кол%100=0 Тогда
Сообщить("Отработано "+Кол+" документов из "+Выборка.Количество());
КонецЕсли;
КонецЦикла;
Если БылиОшибки Тогда
Предупреждение("Обработка завершена. Регистр очищен не до конца!!!");
КонецЕсли;
РегистрыНакопления.Остатки.УстановитьИспользованиеИтогов(Истина);
Категория:
Регистры накопления Выбор периода, задать период Код 1C v 8.х
//Процедура для кнопки выбор периода
Процедура ВыбПериодНажатие(Элемент)
НастройкаПериода = Новый НастройкаПериода;
НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
НастройкаПериода.РедактироватьКакИнтервал = Истина;
НастройкаПериода.РедактироватьКакПериод = Истина;
НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; //Закладка Период
// НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Интервал;// Закладка Интервал
Если НастройкаПериода.Редактировать() Тогда
НачПериода = НастройкаПериода.ПолучитьДатуНачала();
КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
КонецЕсли;
КонецПроцедуры
Код 1C v 7.x
// Функция ВвестиПериод выдает на экран диалог специального вида,
// при помощи которого пользователь может выбрать период.
// Выбранный пользователем период записывается в переменные, передаваемые как параметры при вызове метода.
Дата1 = '01.01.97';
Дата2 = '31.03.97';
Если ВвестиПериод(Дата1, Дата2, "Введите период отчета") <> 1 Тогда
// Нажата кнопка «Отмена», клавиша или закрыто окно диалога
Возврат 0;
Иначе
СформироватьОтчет(Дата1, Дата2);
КонецЕсли;
Категория:
Работа с Датами (Временем)