Работа с бухгалтерскими
счетами очень похожа на работу с иерархическим справочником. Существует
список счетов, имеющих стандартные атрибуты (Код, Наименование и др),
и дополнительные реквизиты, задаваемые разработчиком. Реквизиты могут
быть периодическими, т.е. хранить значение на определенную дату. Счета
Атрибут
|
Описание
|
Код | Полный код счета. Например, 10.1 или 62.5.1 |
Наименование | Название счета. Например, Материалы или Расч. с бюдж. по НДС |
Валютный | Признак ведения валютного учета. 1 - валютный учет ведется, 0 - не ведется |
Количественный | Признак ведения количественного учета. 1 - количественный учет ведется, 0 - не ведется |
Забалансовый | Признак забалансового счета. 1 - счет забалансовый, 0 - балансовый |
Активный | Тип остатка по счету. 1 - счет активный, 2 - счет пассивный, 3 - счет активно-пассивный |
реквизит | Кроме стандартных вышеперечисленных реквизитов, разработчик может задать произвольное количество дополнительных реквизитов. Реквизиты могут быть периодическими, т.е. хранить значение на определенную дату. Например, может быть создан периодический реквизит Ответственный типа Справочник.Сотрудники. Он будет показывать сотрудника, ответственного за ведение данного счета. |
Работа с периодическими реквизитам счета не отличается от работы с периодическими реквизитами справочника.
Пример, прочитать и установить ответственного за ведение счета:
Счета = СоздатьОбъект(Счет.ОснПлан);
Счета.НайтиПоКоду(10.1);
БылОтветственный = Счета.Ответственный.Получить(НекаяДата);
Счета.Ответственный.Установить(НекаяДата, ВыбрСотрудник);
Счета.Записать();
Можно установить дату
выборки периодических реквизитов, тогда ниже уже нельзя применять методы
Установить и Получить
Счета = СоздатьОбъект(Счет.ОснПлан);
Счета. ИспользоватьДату(НекаяДата);
Счета.НайтиПоКоду(10.1);
БылОтветственный = Счета.Ответственный;
Счета.Ответственный = ВыбрСотрудник;
Счета.Записать();
Метод
|
Описание
|
ЭтоГруппа() |
Определяет,
является ли данный счет группой (может иметь субсчета) или нет. Пример, вывести
все синтетические счета: |
ИспользоватьРодителя(Счет) |
Устанавливает / выдает значение родителя (счета вышестоящего уровня), используемого для выборки счетов. Возвращает: значение типа ''Счет'' - текущее значение используемого родителя на момент до исполнения метода. Пример, вывести
все субсчета счета 10 Материалы: |
Уровень() |
Возвращает уровень вложенности текущего счета. (возвращает 1 - для счета верхнего уровня) Пример, вывести все счета в виде дерева: Счета = СоздатьОбъект(Счет.ОснПлан);
КонецЦикла; |
ПринадлежитГруппе(Счет) |
Определяет, является ли текущий счет субсчетом для счета, указанного в качестве параметра метода. Проверка выполняется по всем вышестоящим уровням счета. Возвращает: 1 - текущий счет является субсчетом для счета, указанного в качестве параметра; 0 - не является. Пример, |
Родитель(НомерУровня) |
Возвращает счет вышестоящего уровня для данного счета. НомерУровня - число, которое определяет, какого уровня вышестоящий счет должен быть выдан. Если параметр не указан - выдается непосредственный родитель. Например, для счета 10.5 этот метод вернет счет с кодом 10. |
КодСубсчета() |
Выдает код счета
без кодов счетов вышестоящих уровней. Например, для счета 10.5 этот метод вернет строковое значение 5. |
ВыборГруппы(флаг) |
Этот метод утанавливает режим выборки групп. Данный метод может применяться как для позиционируемых объектов, созданных функцией ''СоздатьОбъект'', так и для элементов диалога типа ''Счет''. По умолчанию выбор группы разрешен, за исключением счетов дебета и кредита в проводках операции. ВыбрСчет.ВыборГруппы(1);
//разрешить выбор группы |
В 1С у счета может
быть до 5 прикрепленных видов субконто. Максимальное количество видов
субконто задается в Конфигураторе, но не может превышать 5.
Пример, вывести все виды субконто, прикрепленные к заданному счету:
Счета = СоздатьОбъект(Счет.Основной);
Счета.НайтиПоКоду(10.1);
Для Ном = 1 По Счета.КоличествоСубконто() Цикл
.... Сообщить(Вид субконто + Счета.ВидСубконто(Ном));
КонецЦикла;
Счета = СоздатьОбъект(Счет.Основной);
Счета.Новый(1);
//у счета будут субсчета
Счета.Код = 10;
Счета.Наименование = Материалы;
Счета.Активный = 1; //активный
Счета.Записать();
Счета.Новый();
Счета.Код = 10.1;
Счета.Наименование = Основные материалы;
Счета.ВидСубконто(1,ВидыСубконто.Материалы);
Счета.ВидСубконто(2,ВидыСубконто.Склады);
Счета.Записать();
Пример, изменить наименование счета:
Счета = СоздатьОбъект(Счет.Основной);
Счета.НайтиПоКоду(10);
Счета.Наименование = Все материалы;
Счета.Записать();
Пример, пометить на удаление все счета, введенные пользователем в режиме Предприятие. Оставить только счета, заданные разработчиком в Конфигураторе.
Счета = СоздатьОбъект(Счет.Основной);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
.....Если Счета.ЗаданВКонфигурации()=0
Тогда
.........Счета.Удалить(0); //пометить на удаление
.....КонецЕсли;
КонецЦикла;
Пример, отменить все пометки на удаление:
Счета = СоздатьОбъект(Счет.Основной);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
.....Если Счета.ПометкаУдаления()=1
Тогда
.........Счета.СнятьПометкуУдаления();
.....КонецЕсли;
КонецЦикла;
Некоторые методы уже применялись в примерах, а теперь сведем их в таблицу:
Метод
|
Описание
|
НайтиПоКоду(код) | Этот метод выполняет поиск счета в плане счетов по коду счета, который передается методу в качестве параметра. Если счет найден, метод возвращает 1 и позиционирует объект на выбранном счете. |
НайтиСчет(счет) | Этот метод выполняет поиск счета по значению, заданному параметром Счет, и позиционирует объект на выбранном счете. |
Выбран() | Этот метод возвращает число со значением 1 — если счет выбран (спозиционирован) или значение не пустое, 0 — если не выбран или значение пустое. |
Выбрать() | Этот метод вызывает на экран диалог, содержащий план счетов. Пользователь должен интерактивно выбрать требуемый счет. Если счет выбран, метод возвращает 1 и позиционирует объект на выбранном счете. Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект. |
СчетПоКоду(код[,плансчетов]) | Глобальная системная функция. Возвращает счет по коду. Если план счетов не указан, тогда поиск осуществляется в основном плане счетов, заданном в Конфигураторе. |
ОсновнойПланСчетов() | Глобальная системная функция. Возвращает план счетов, заданный в Конфигураторе в качестве основного. |