Как программно открыть и выбрать документ, выбор документа из списка? Открыть список документов для выбора документа:
Код 1C v 8.х ФормаСписка = Документы.НачислениеЗарплатыРаботникамОрганизаций.ПолучитьФормуСписка();
ФормаСписка.Открыть();
Открыть список документов для выбора документа и установить отбор:
Код 1C v 8.х ФормаВыбора = Документы.НачислениеЗарплатыРаботникамОрганизаций.ПолучитьФормуВыбора();
//Это комментим, т.к. в данном случае будем отбирать по интервалу
//ФормаВыбора.ДокументСписок.Отбор.Дата.ВидСравнения=ВидСравнения.Равно;
//ФормаВыбора.ДокументСписок.Отбор.Дата.Значение=Дата;
ФормаВыбора.ДокументСписок.Отбор.Дата.ВидСравнения=ВидСравнения.ИнтервалВключаяОкончание;
ФормаВыбора.ДокументСписок.Отбор.Дата.ЗначениеС = НачалоМесяца(Дата);
ФормаВыбора.ДокументСписок.Отбор.Дата.ЗначениеПо = КонецМесяца(Дата);
ФормаВыбора.ДокументСписок.Отбор.Дата.установить();
ФормаВыбора.Заголовок = "Выберите документ";
ВыбДокНачисл = ФормаВыбора.ОткрытьМодально();
Категория:
Документы Корректировка регистров накопления через документ Часто возникает ситуация, когда программно нужно внести какие либо корректировки в регистры накопления и чтобы потом эти корректировки можно было легко поменять!
В типовых конфигурациях присутсвует документ "Корректировка Записей Регистров Накопления", который предназначен для ручной корректировки записей регистров накопления и для ввода остатков.
С помощью ниже следующего кода можно программно создать и заполнить движениями этот документ:
Код 1C v 8.х
// ТЗрез - это Таблица значений содержащая столбец "FizL" - ФизЛицо и "RUB" Сумма корректировки
НовДок = Документы.КорректировкаЗаписейРегистровНакопления.ПолучитьФормуНовогоДокумента();
НовДок.Дата=ТекущаяДата();
НовДок.Комментарий="Корректировка регистра ВзаиморасчетыСРаботникамиОрганизаций";
// Создадим табличную часть движений регистра
НоваяСтрока = НовДок.ТаблицаРегистровНакопления.Добавить();
НоваяСтрока.Имя = Метаданные.регистрынакопления.ВзаиморасчетыСРаботникамиОрганизаций.имя;
НоваяСтрока.Представление = Метаданные.регистрынакопления.ВзаиморасчетыСРаботникамиОрганизаций.синоним;
// Создадим движения
Для Каждого СтрДвиж из ТЗрез Цикл
НовДвиж = НовДок.Движения.ВзаиморасчетыСРаботникамиОрганизаций.ДобавитьПриход();
НовДвиж.ФизЛицо=СтрДвиж.FizL;
НовДвиж.Организация=Организация;
НовДвиж.ПериодВзаиморасчетов=ВыбДокНачисл.ПериодРегистрации;
НовДвиж.СуммаВзаиморасчетов = СтрДвиж.RUB;
КонецЦикла;
//НовДок.Записать(); //Пока не записываем
НовДок.Открыть(); //Покажем документ пользователю
Категория:
Регистры накопления Прочитать, просмотреть, выбрать записи регистра расчета Код 1C v 8.х
// Просуммируем записи удержаний неявок по физлицу
НаборЗаписей = РегистрыРасчета.УдержанияРаботниковОрганизаций.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = ВыбДокНачисл;
НаборЗаписей.Отбор.физлицо.Установить(Физлицо);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Если Запись.ВидРасчета=ПланыВидовРасчета.УдержанияОрганизаций.Неявка тогда
СумУдерж=СумУдерж+Запись.Результат;
КонецЕсли;
КонецЦикла;
Категория:
Регистры расчета