Проведение документа по регистру бухгалтерии Задача: Есть два склада Склад1 и Склад2. Нужно переместить определенное количество товара со склада1 на склад2. При списании со склада1 нужно проверять остаток, что хватает товара. Проведение сделать по регистру бухгалтерии.(проверку тоже по регистру бухгалтерии).
Решение: В Шапке документа Склад1 и Склад2. В Табличной части номенклатура и количество.
Код 1C v 8.х Процедура ОбработкаПроведения(Отказ, Режим)
Движения. Хозрасчетный. Очистить( ) ;
Движения. Хозрасчетный. Записать( ) ;
Движения. Хозрасчетный. Записывать = Истина ;
Для Каждого ТекСтрокаТовары Из Товары Цикл
Запрос = Новый Запрос;
Запрос. Текст = "ВЫБРАТЬ
| ХозрасчетныйОстатки.КоличествоОстатокДт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Счет = &Счет
| И ХозрасчетныйОстатки.Субконто1 = &Субконто1
| И ХозрасчетныйОстатки.Субконто2 = &Субконто2" ;
Запрос. УстановитьПараметр( "Счет" , ПланыСчетов. Хозрасчетный. ТоварыНаСкладах) ;
Запрос. УстановитьПараметр( "Субконто1" , ТекСтрокаТовары. Номенклатура) ;
Запрос. УстановитьПараметр( "Субконто2" , Склад1 ) ;
Выборка = Запрос. Выполнить( ) . Выбрать( ) ;
Если Выборка. Следующий( ) Тогда
Если Выборка. КоличествоОстатокДт < ТекСтрокаТовары. Количество Тогда
Сообщить( "На складе1 остака: " + СокрЛП( Выборка. КоличествоОстатокДт) ) ;
Отказ = Истина ;
Возврат ;
КонецЕсли ;
Иначе
Сообщить( "нет остатка на складе1" ) ;
Отказ = Истина ;
Возврат ;
КонецЕсли ;
Движение = Движения. Хозрасчетный. Добавить( ) ;
Движение. СчетКт = ПланыСчетов. Хозрасчетный. ТоварыНаСкладах;
Движение. СчетДт = ПланыСчетов. Хозрасчетный. ТоварыНаСкладах;
Движение. Период = Дата;
Движение. КоличествоКт = ТекСтрокаТовары. Количество;
Движение. ДатаЗаписи = Дата;
Движение. Содержание = "Перемещение" ;
БухгалтерскийУчет. УстановитьСубконто( Движение. СчетКт, Движение. СубконтоКт,
"Номенклатура" , ТекСтрокаТовары. Номенклатура) ;
БухгалтерскийУчет. УстановитьСубконто( Движение. СчетКт, Движение. СубконтоКт,
"Склады" , Склад1 ) ;
БухгалтерскийУчет. УстановитьСубконто( Движение. СчетДт, Движение. СубконтоДт,
"Номенклатура" , ТекСтрокаТовары. Номенклатура) ;
БухгалтерскийУчет. УстановитьСубконто( Движение. СчетДт, Движение. СубконтоДт,
"Склады" , Склад2 ) ;
КонецЦикла ;
КонецПроцедуры
Категория:
Регистры бухгалтерии Как добавить новый вид субконто к счету? Код 1C v 8.х ВидМенеджеры = ПланыВидовХарактеристик. ВидыСубконтоХозрасчетные. НайтиПоНаименованию( "Менеджеры" , Истина ) ;
Если ВидМенеджеры. Пустая( ) Тогда
ВидМенеджеры = ПланыВидовХарактеристик. ВидыСубконтоХозрасчетные. СоздатьЭлемент( ) ;
ВидМенеджеры. Наименование = "Менеджеры" ;
ВидМенеджеры. ТипЗначения = Новый ОписаниеТипов( "СправочникСсылка.Пользователи" ) ;
ВидМенеджеры. Записать( ) ;
КонецЕсли ;
Счет = ПланыСчетов. Хозрасчетный. НайтиПоКоду( "90.01.1" ) ;
Если ( Не Счет. Пустая( ) ) И ( Счет. ВидыСубконто. Найти( ВидМенеджеры) = Неопределено ) Тогда
ОбъектСчета = Счет. ПолучитьОбъект( ) ;
НовыйВидСубконто = ОбъектСчета. ВидыСубконто. Добавить( ) ;
НовыйВидСубконто. ВидСубконто = ВидМенеджеры;
НовыйВидСубконто. ТолькоОбороты = Истина ;
НовыйВидСубконто. Суммовой = Истина ;
ОбъектСчета. Записать( ) ;
КонецЕсли ;
Категория:
Регистры бухгалтерии