Публикации

БСП
Разработки

Найдено результатов: 22


Добавить движение в регистр накопления

Как добавить движение в регистр накопления
Источник: https://helpf.pro
1 freelance_1C 9 1
Процедура ОбработкаПроведения(Отказ, Режим)
	// регистр ТоварыНаСкладах Приход
	Движения.ТоварыНаСкладах.Записывать = Истина;
	Движения.ТоварыНаСкладах.Очистить();
	Для Каждого ТекСтрокаТовары Из Товары Цикл
		Движение = Движения.ТоварыНаСкладах.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
		Движение.Период = Дата;
		Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
		Движение.Количество = ТекСтрокаТовары.Количество;
	КонецЦикла;
КонецПроцедуры

Остатки по регистру накопления при отборе по реквизиту регистратора

Добрый день! При добавлении отбора по реквизиту регистратора в запросе или например "фильтрация" регистратора по типу документа (регистратор ссылка Документ....). Как при этом правильно расчитать начальные и конечные остатки? При добавлении отбора он сумир... Читать дальше

Получение данных из регистра сведений не запросом

Автор: HostHost

FastCode 37 5
ДанныеОРаботнике = РегистрыСведений.РаботникиОрганизаций.СрезПоследних(ТекущаяДата(),Новый Структура("Сотрудник", Сотрудник))

Групповое изменение Измерения в НабореЗаписей регистра сведений

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

    МенеджерЗаписи = РегистрыСведений.РС1.СоздатьМенеджерЗаписи();
    
    Для Каждого ТекЗапись Из НаборЗаписей Цикл
        ЗаполнитьЗначенияСвойств(МенеджерЗаписи, ТекЗапись);
        МенеджерЗаписи.Прочитать();
        МенеджерЗаписи.Измерение1 = НовоеЗначениеИзмерения;
        МенеджерЗаписи.Записать();
    КонецЦикла;

// набор используем только для цикла перебора записей
// а запись каждую редактируем отдельно
// если необходимо можно сделать в одной транзакции	

// иначе не даст сохранить, напишет набор не соотвествует  установленному отбору

Запись в регистр сведений (периодический, независимый)

Запись в регистр сведений (периодический, независимый)
2 ArturR 24 2
МенеджерЗаписи = РегистрыСведений.УчетНомернойНоменклатуры.СоздатьМенеджерЗаписи();
		Пока Выборка.Следующий() Цикл
			Если Выборка.Номенклатура.Номерная Тогда
				МенеджерЗаписи.Период 		= Дата;
				МенеджерЗаписи.Место 		= Склад;			
				МенеджерЗаписи.Номенклатура = Выборка.Номенклатура;
				МенеджерЗаписи.Номер 		= Выборка.НомерАгрегата;
				МенеджерЗаписи.Статус 		= Перечисления.СтатусНоменклатуры.НаСкладе;
				МенеджерЗаписи.Записать();
			КонецЕсли;
		КонецЦикла;

Ограничение, одним видом документов, запроса из регистра

1 dr2c 5 1
" ВЫБРАТЬ
|	ТоварыОрганизаций.Номенклатура,
|	ТоварыОрганизаций.СерияНоменклатуры,
|	ТоварыОрганизаций.Склад,
|	ТоварыОрганизаций.Количество,
|	ТоварыОрганизаций.Организация,
|	ТоварыОрганизаций.Регистратор
|ИЗ
|	РегистрНакопления.ТоварыОрганизаций КАК ТоварыОрганизаций
|ГДЕ
|	ТоварыОрганизаций.Регистратор ССЫЛКА Документ.ТребованиеНакладная";

Структура метаданных регистра сведений

Возвращает структуру метаданных регистра сведений. В параметр функции можно передать строковое название регистра, или объект РегистрСведений, МенеджерЗаписи, НаборЗаписей
1 prog1c 38 1 5
Функция СтруктураМетаданныхРегистраСведений(РегистрСведений) Экспорт
	
	СтруктураРегистра         = Неопределено;
	РегистрСведенийМетаданные = Неопределено;
	
	Если ТипЗнч(РегистрСведений) = Тип("Строка") Тогда
		РегистрСведенийМетаданные = Метаданные.НайтиПоПолномуИмени("РегистрСведений." + РегистрСведений);
	Иначе
		
		РегистрСведенийМетаданные = Метаданные.НайтиПоТипу(ТипЗнч(РегистрСведений));
		Если РегистрСведенийМетаданные <> Неопределено Тогда
			РегистрСведенийМетаданные = Метаданные.НайтиПоПолномуИмени("РегистрСведений." + РегистрСведенийМетаданные.Имя);
		КонецЕсли;
		
	КонецЕсли;
	
	Если РегистрСведенийМетаданные <> Неопределено Тогда
		
		НаименованиеРегистра       = РегистрСведенийМетаданные.Имя;
		МетаданныеРегистраСведений = Метаданные.РегистрыСведений[НаименованиеРегистра];

		МассивИзмерений = Новый Массив;
		Для Каждого Измерение Из МетаданныеРегистраСведений.Измерения Цикл
			МассивИзмерений.Добавить(Измерение.Имя);
		КонецЦикла;
		
		МассивРесурсов  = Новый Массив;
		Для Каждого Ресурс Из МетаданныеРегистраСведений.Ресурсы Цикл
			МассивРесурсов.Добавить(Ресурс.Имя);
		КонецЦикла;
		
		СтруктураРегистра = Новый Структура;
		СтруктураРегистра.Вставить("Измерения", МассивИзмерений);
		СтруктураРегистра.Вставить("Ресурсы",   МассивРесурсов);
		
	КонецЕсли;
	
	Возврат СтруктураРегистра;
	
КонецФункции // СтруктураМетаданныхРегистраСведений()

Очистка регистра сведений

Очистка независимого регистра сведений. Минимум кода. Будьте внимательны при использовании. (удаление всех записей, форматирование)
5 coyote 5 1
НаборЗаписей = РегистрыСведений.НазваниеМоегоРегистра.СоздатьНаборЗаписей(); 
//если нужно, например, очистить по одному конкретному измерению, то раскоментируем строчку,
//меняем измерение:
//НаборЗаписей.Отбор.Организация.Установить(УдаляемаяОрганизация); 
НаборЗаписей.Записать();

Временная таблица периодического регистра с периодами

1 FastCode 37 5
ОписаниеФильтраПолученияГрафиков = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТПериодыЗапросаКадровойИстории", "ФизическоеЛицо", "ФизическоеЛицо");

ЗарплатаКадрыПериодическиеРегистры.СоздатьВТИмяРегистраПериоды("КадроваяИсторияСотрудников", МенеджерВременныхТаблиц, Ложь, ОписаниеФильтраПолученияГрафиков);

Создать временную таблицу по имени регистра СрезПоследних

Автор: HostHost

FastCode 37 5
// 1.

ОписаниеФильтра = ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудникиПериоды","Сотрудник");

ОписаниеФильтра.СоответствиеИзмеренийРегистраИзмерениямФильтра.Вставить("Период", "Период");

ОписаниеФильтра.СоответствиеИзмеренийРегистраИзмерениямФильтра.Вставить("Сотрудник", "Сотрудник");

ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистраСрезПоследних(

        "ГрафикРаботыСотрудников",

        МенеджерВременныхТаблиц,

        Истина,

        ОписаниеФильтра,, "ВТГрафики");

// 2.

ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТФильтрПозиции", "Позиция");   

ПараметрыПостроения = ЗарплатаКадрыПериодическиеРегистры.ПараметрыПостроенияДляСоздатьВТИмяРегистраСрез();

ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(ПараметрыПостроения.Отборы, "Позиция", "<>", Справочники.ШтатноеРасписание.ПустаяСсылка());

ПоказателиПремий = Новый Массив;

ПоказателиПремий.Добавить(Справочники.ПоказателиРасчетаЗарплаты.НайтиПоРеквизиту("Идентификатор", "ПроцентПпремииПроизводственной"));

ПоказателиПремий.Добавить(Справочники.ПоказателиРасчетаЗарплаты.НайтиПоРеквизиту("Идентификатор", "ПроцентГодовойПремии"));

ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(ПараметрыПостроения.Отборы, "Показатель", "В", ПоказателиПремий);

ЗарплатаКадрыПериодическиеРегистры.СоздатьВТИмяРегистраСрезПоследних("ЗначенияПлановыхПоказателейРасчетаЗП", МенеджерВТ, Истина, ОписаниеФильтра, ПараметрыПостроения, "ВТЗначенияПлановыхПоказателейРасчетаЗП");