Как изменять записи регистра накопления? Основной шаблон такой:
Код 1C v 8.х Набор = РегистрыНакопления. ВашРегистр. СоздатьНаборЗаписей( ) ;
Набор. Отбор. < НазваниеОтбора> . Установить( < ЗначениеОтбора> ) ;
Набор. Прочитать( ) ;
Для Каждого ТекДвижение Из Набор Цикл
КонецЦикла ;
Набор. Записать( ) ;
Реальный пример:
Код 1C v 8.х Процедура МодификацияЗаписейРегистраНакопления()
ВыбДок = Документы. ПоступлениеТоваровУслуг. Выбрать( ) ;
Если ВыбДок. Следующий( ) Тогда
Набор = РегистрыНакопления. НДСПредъявленный. СоздатьНаборЗаписей( ) ;
Набор. Отбор. Регистратор. Установить( ВыбДок. Ссылка) ;
Набор. Прочитать( ) ;
Для Каждого Движение Из Набор Цикл
Движение. НДС = 0 ;
КонецЦикла ;
Движение = Набор. ДобавитьРасход( ) ;
Движение. Сумма = 100 ;
Движение. Период = ТекущаяДата( ) ;
Движение = Набор. Добавить( ) ;
Движение. ВидДвижения = ВидДвиженияНакопления. Приход;
Движение. Сумма = 300 ;
Движение. Период = ТекущаяДата( ) ;
Набор. Удалить( 0 ) ;
Набор. Записать( Истина ) ;
КонецЕсли ;
КонецПроцедуры
Категория:
Регистры накопления Как программно открыть и выбрать документ, выбор документа из списка? Открыть список документов для выбора документа:
Код 1C v 8.х ФормаСписка = Документы. НачислениеЗарплатыРаботникамОрганизаций. ПолучитьФормуСписка( ) ;
ФормаСписка. Открыть( ) ;
Открыть список документов для выбора документа и установить отбор:
Код 1C v 8.х ФормаВыбора = Документы. НачислениеЗарплатыРаботникамОрганизаций. ПолучитьФормуВыбора( ) ;
ФормаВыбора. ДокументСписок. Отбор. Дата. ВидСравнения= ВидСравнения. ИнтервалВключаяОкончание;
ФормаВыбора. ДокументСписок. Отбор. Дата. ЗначениеС = НачалоМесяца( Дата) ;
ФормаВыбора. ДокументСписок. Отбор. Дата. ЗначениеПо = КонецМесяца( Дата) ;
ФормаВыбора. ДокументСписок. Отбор. Дата. установить( ) ;
ФормаВыбора. Заголовок = "Выберите документ" ;
ВыбДокНачисл = ФормаВыбора. ОткрытьМодально( ) ;
Категория:
Документы Корректировка регистров накопления через документ Часто возникает ситуация, когда программно нужно внести какие либо корректировки в регистры накопления и чтобы потом эти корректировки можно было легко поменять!
В типовых конфигурациях присутсвует документ "Корректировка Записей Регистров Накопления", который предназначен для ручной корректировки записей регистров накопления и для ввода остатков.
С помощью ниже следующего кода можно программно создать и заполнить движениями этот документ:
Код 1C v 8.х
НовДок = Документы. КорректировкаЗаписейРегистровНакопления. ПолучитьФормуНовогоДокумента( ) ;
НовДок. Дата= ТекущаяДата( ) ;
НовДок. Комментарий= "Корректировка регистра ВзаиморасчетыСРаботникамиОрганизаций" ;
НоваяСтрока = НовДок. ТаблицаРегистровНакопления. Добавить( ) ;
НоваяСтрока. Имя = Метаданные. регистрынакопления. ВзаиморасчетыСРаботникамиОрганизаций. имя;
НоваяСтрока. Представление = Метаданные. регистрынакопления. ВзаиморасчетыСРаботникамиОрганизаций. синоним;
Для Каждого СтрДвиж из ТЗрез Цикл
НовДвиж = НовДок. Движения. ВзаиморасчетыСРаботникамиОрганизаций. ДобавитьПриход( ) ;
НовДвиж. ФизЛицо= СтрДвиж. FizL;
НовДвиж. Организация= Организация;
НовДвиж. ПериодВзаиморасчетов= ВыбДокНачисл. ПериодРегистрации;
НовДвиж. СуммаВзаиморасчетов = СтрДвиж. RUB;
КонецЦикла ;
НовДок. Открыть( ) ;
Категория:
Регистры накопления Выбрать Итоги, остатки регистра Код 1C v 7.x
РегТовары = СоздатьОбъект( "Регистр.Товары" ) ;
РегТовары. ВыбратьИтоги( ) ;
Пока РегТовары. ПолучитьИтог( ) = 1 Цикл
Сообщить( "Товар " + Строка( РегТовары. Товар) +
" на складе " + Строка( РегТовары. Склад) +
" кол-во: " + Строка( РегТовары. Количество) +
" стоимость: " + Строка( РегТовары. Стоимость) +
КонецЦикла ;
Процедура ВыбратьКредит()
Список = СоздатьОбъект( "СписокЗначений" ) ;
Рег = СоздатьОбъект( "Регистр.ТоварныйКредит" ) ;
Рег. УстановитьФильтр( Клиент, ) ;
Рег. ВыбратьИтоги( ) ;
Ном = 0 ;
Пока Рег. ПолучитьИтог( ) = 1 Цикл
Док = Рег. Документ;
Список. ДобавитьЗначение( Док, "" + Док + " — Остаток = " + Рег. Долг) ;
Если Ном = 0 Тогда
ВыбДок = Док;
КонецЕсли ;
Ном = Ном + 1 ;
КонецЦикла ;
Если Ном > 0 Тогда
Если Список. ВыбратьЗначение( ВыбДок, "Выберите кредит" ) = 1 Тогда
ДокКредита = ВыбДок;
КонецЕсли ;
КонецЕсли ;
Возврат ;
КонецПроцедуры
Категория:
Регистры Прочитать, просмотреть, выбрать записи регистра расчета Код 1C v 8.х
НаборЗаписей = РегистрыРасчета. УдержанияРаботниковОрганизаций. СоздатьНаборЗаписей( ) ;
НаборЗаписей. Отбор. Регистратор. Значение = ВыбДокНачисл;
НаборЗаписей. Отбор. физлицо. Установить( Физлицо) ;
НаборЗаписей. Прочитать( ) ;
Для Каждого Запись Из НаборЗаписей Цикл
Если Запись. ВидРасчета= ПланыВидовРасчета. УдержанияОрганизаций. Неявка тогда
СумУдерж= СумУдерж+ Запись. Результат;
КонецЕсли ;
КонецЦикла ;
Категория:
Регистры расчета Ввести число, ввод числа Код 1C v 8.х
КолВо = 1 ;
Если ВвестиЧисло( КолВо, "Введите количество" , 10 , 2 ) Tогда
КонецЕсли ;
Код 1C v 7.x
Если ВвестиЧисло( Ном, "Введите номер приказа" , 5 , 0 , 10 ) = 1 Тогда
ВыбДок = СоздатьОбъект( "Документ.Приказ" ) ;
ВыбДок. НайтиПоНомеру( Строка( Ном) , Дата( 0 ) ) ;
Если ВыбДок. Выбран( ) = 1 Тогда
ИначеЕсли ;
КонецЕсли ;
КонецЕсли ;
Категория:
Работа с Числами Ввести значение, ввод значения Код 1C v 8.х
Перем ВыбЗнач;
Массив = Новый Массив;
Массив. Добавить( Тип( "Число" ) ) ;
Массив. Добавить( Тип( "Строка" ) ) ;
Массив. Добавить( Тип( "Дата" ) ) ;
КЧ = Новый КвалификаторыЧисла( 12 , 2 ) ;
КС = Новый КвалификаторыСтроки( 20 ) ;
КД = Новый КвалификаторыДаты( ЧастиДаты. Дата) ;
ОписаниеТипов = Новый ОписаниеТипов( Массив, КЧ, КС, КД) ;
Если ВвестиЗначение( ВыбЗнач, "Введите значение" , ОписаниеТипов) Тогда
Сообщить( "Введенное значение: " + ВыбЗнач) ;
КонецЕсли ;
Код 1C v 7.x
Если ВвестиЗначение( Ном, "Введите номер приказа" , "Число" , 5 , 0 ) = 1 Тогда
ВыбДок = СоздатьОбъект( "Документ.Приказ" ) ;
ВыбДок. НайтиПоНомеру( Строка( Ном) , Дата( 0 ) ) ;
Если ВыбДок. Выбран( ) = 1 Тогда
ИначеЕсли ;
КонецЕсли ;
КонецЕсли ;
Категория:
Встроенные Функции