//Формирование записей перерасчета Процедура СформироватьЗаписиПерерасчета() // Запрос по записям регистра расчета. Запрос = Новый Запрос(" |ВЫБРАТЬ РАЗЛИЧНЫЕ | СдельнаяВыработка.ФизЛицо, | СдельнаяВыработка.Организация, | ОсновныеНачисленияРегл.Регистратор, | ОсновныеНачисленияРегл.ВидРасчета |ИЗ | РегистрНакопления.СдельнаяВыработка КАК СдельнаяВыработка | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрРасчета.ОсновныеНачисленияРегл КАК ОсновныеНачисленияРегл | ПО СдельнаяВыработка.ФизЛицо = ОсновныеНачисленияРегл.ФизЛицо | И СдельнаяВыработка.Организация = ОсновныеНачисленияРегл.Организация | И (СдельнаяВыработка.Период МЕЖДУ | ОсновныеНачисленияРегл.ПериодДействияНачало | И ОсновныеНачисленияРегл.ПериодДействияКонец) |ГДЕ | ОсновныеНачисленияРегл.ВидРасчета = &ВидРасчета | И СдельнаяВыработка.Регистратор = &Регистратор |ИТОГИ ПО | Регистратор"); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ОсновныеНачисления.Сдельный); Запрос.УстановитьПараметр("Регистратор", Ссылка); ВыборкаДокументов = Запрос.Выполнить(). Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); // Получение объекта ПерерасчетМенеджер. Перерасчет = РегистрыРасчета.ОсновныеНачисленияРегл. Перерасчеты.ПерерасчетОсновныхНачислений; Пока ВыборкаДокументов.Следующий() Цикл // Создание набора записей. НаборЗаписей = Перерасчет.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.ОбъектПерерасчета.Значение = ВыборкаДокументов.Регистратор; Выборка = ВыборкаДокументов.Выбрать(); // Создание записей перерасчета. Пока Выборка.Следующий() Цикл Запись = НаборЗаписей.Добавить(); Запись.ВидРасчета = Выборка.ВидРасчета; Запись.Организация = Выборка.Организация; Запись.ФизЛицо = Выборка.ФизЛицо; КонецЦикла; // Запись в таблицу без замещения. НаборЗаписей.Записать(Ложь); КонецЦикла; КонецПроцедуры
//Перед заполнением необходимо отменить проведение документа ЭтотОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения); // при выборке, переборе документов Пока ВыборкаДокументов.Следующий() Цикл // Получим объект и отменим проведение документов ФормДокПлатежка=ВыборкаДокументов.Ссылка.ПолучитьОбъект(); ФормДокПлатежка.Записать(РежимЗаписиДокумента.ОтменаПроведения); КонецЦикла;
Процедура Провести(Кнопка) ВыборкаДокументов = Документы.НДФЛиЕСНДоходыИНалоги.Выбрать(); Пока ВыборкаДокументов.Следующий() Цикл // Проводим только те документы у которых в комментарии есть "НДФЛ Доходы и удержания" Если Найти(ВыборкаДокументов.Комментарий, "НДФЛ Доходы и удержания") > 0 Тогда ТекДок=ВыборкаДокументов.ПолучитьОбъект(); Попытка ТекДок.Записать(РежимЗаписиДокумента.Проведение); Сообщить("Проведен документ :" + Строка(ТекДок)); Исключение Сообщить("Невозможно провести документ("+Строка(ТекДок)+"), т.к.:"); Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецЦикла КонецПроцедуры Процедура ОтменитьПроведение(Кнопка) ВыборкаДокументов = Документы.НДФЛиЕСНДоходыИНалоги.Выбрать(); Пока ВыборкаДокументов.Следующий() Цикл Если Найти(ВыборкаДокументов.Комментарий, "НДФЛ Доходы и удержания") > 0 Тогда ТекДок=ВыборкаДокументов.ПолучитьОбъект(); Попытка ТекДок.Записать(РежимЗаписиДокумента.ОтменаПроведения); Сообщить("Отмена проведения документ :" + Строка(ТекДок)); Исключение Сообщить("Невозможно отменить проведение("+Строка(ТекДок)+"), т.к.:"); Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецЦикла КонецПроцедуры
// Выборка документов за весь период Выборка = Документы.НачислениеОтпуска.Выбрать(); Пока Выборка.Следующий() Цикл //Модуль обработки КонецЦикла; // Выборка документов за период с Даты начала по Дата окончания //Выборка = Документы.РасходнаяНакладная.Выбрать(ДатаНач, ДатаКон); ВыборкаДокументов = Документы.РасходнаяНакладная.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата())); Пока ВыборкаДокументов.Следующий() Цикл // Действия с документом - элементом выборки, // его значение содержится в переменной ВыборкаДокументов КонецЦикла //Запросом: Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка |ИЗ | Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Контрагент = &Контрагент | И | (РеализацияТоваровУслуг.Номер < 100 | ИЛИ | РеализацияТоваровУслуг.Дата < ДАТАВРЕМЯ(2005, 1, 1)) | И | РеализацияТоваровУслуг.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)"; Запрос.УстановитьПараметр("Контрагент", ОтбКонтрагент); Запрос.УстановитьПараметр("Номенклатура", ОтбНоменклатура); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл // действия с документом - элементом выборки, // его значение содержится в переменной Выборка КонецЦикла;