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