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