Обычно счета создаются вручную в режиме Конфигуратор или Предприятие. Но иногда может потребоваться программная корректировка списка счетов.
Счета = СоздатьОбъект(“Счет.Основной”);
Счета.Новый(1); //у счета будут субсчета
Счета.Код = “10”;
Счета.Наименование = “Материалы”;
Счета.Активный = 1; //активный
Счета.Записать();
Счета.Новый();
Счета.Код = “10.1”;
Счета.Наименование = “Основные материалы”;
Счета.ВидСубконто(1,ВидыСубконто.Материалы);
Счета.ВидСубконто(2,ВидыСубконто.Склады);
Счета.Записать();
Пример – изменить наименование счета:
Счета = СоздатьОбъект(“Счет.Основной”);
Счета.НайтиПоКоду(“10”);
Счета.Наименование = “Все материалы”;
Счета.Записать();
Пример – пометить на удаление все счета, введенные пользователем в режиме “Предприятие”. Оставить только счета, заданные разработчиком в Конфигураторе.
Счета = СоздатьОбъект(“Счет.Основной”);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
.....Если Счета.ЗаданВКонфигурации()=0 Тогда
.........Счета.Удалить(0); //пометить на удаление
.....КонецЕсли;
КонецЦикла;
Пример – отменить все пометки на удаление:
Счета = СоздатьОбъект(“Счет.Основной”);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
.....Если Счета.ПометкаУдаления()=1 Тогда
.........Счета.СнятьПометкуУдаления();
.....КонецЕсли;
КонецЦикла;
| опубликовано: 15 Июль 2008, 08:49
Для ведения аналитического учета в 1С используется термин “субконто”. Субконто в системе 1С:Предприятие называется объект аналитического учета. Термином «субконто» могут быть обозначены любые объекты аналитического учета: основные средства, нематериальные активы, материалы, организации, подотчетные лица, договоры, бюджеты. Видом субконто, в свою очередь, называется множество однотипных объектов аналитического учета. Например, вид субконто “Контрагенты” типа Справочник.Контрагенты, субконто – “Магазин Красная Заря”.
В 1С версии 7.7 у счета может быть до 5 прикрепленных видов субконто. Максимальное количество видов субконто задается в Конфигураторе, но не может превышать 5.
Пример – вывести все виды субконто, прикрепленные к заданному счету:
Счета = СоздатьОбъект(“Счет.Основной”);
Счета.НайтиПоКоду(“10.1”);
Для Ном = 1 По Счета.КоличествоСубконто() Цикл
.... Сообщить(“Вид субконто “ + Счета.ВидСубконто(Ном));
КонецЦикла;
| опубликовано: 11 Июль 2008, 10:39
Счета могут объединяться в группы. Счет, который является группой, называется “синтетический счет”. Счет, который входит в группу, называется “субсчет”. Для работы с такими счетами применяются следующие методы:
ЭтоГруппа() – Определяет, является ли данный счет группой (может иметь субсчета) или нет.
Возвращает: 1 – счет является группой; 0 – счет не является группой.
Пример – вывести все синтетические счета:
Счета = СоздатьОбъект(“Счет.ОснПлан”);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
....Если Счета.ЭтоГруппа()=1 Тогда
..........Сообщить(Счета.Код + “ “ + Счета.Наименование);
....КонецЕсли;
КонецЦикла;
ИспользоватьРодителя(<Счет>) – Устанавливает / выдает значение родителя (счета вышестоящего уровня), используемого для выборки счетов. Возвращает: значение типа ‘‘Счет’‘ – текущее значение используемого родителя на момент до исполнения метода.
Пример – вывести все субсчета счета “10 Материалы”:
Счета = СоздатьОбъект(“Счет.ОснПлан”);
Сч10 = СчетПоКоду(10);
Счета.ИспользоватьРодителя(Сч10);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
.....Сообщить(Счета.Код + “ “ + Счета.Наименование);
КонецЦикла;
Уровень() – Возвращает уровень вложенности текущего счета. (возвращает 1 – для счета верхнего уровня)
Пример – вывести все счета в виде дерева:
Счета = СоздатьОбъект(“Счет.ОснПлан”);
Счета.ВыбратьСчета();
Пока Счета.ПолучитьСчет()=1 Цикл
отступ = “”;
Для ном = 1 По Счета.Уровень() Цикл
....отступ = отступ + “ “;
КонецЦикла;
Сообщить(отступ + Счета.Код + “ “ + Счета.Наименование);
КонецЦикла;
ПринадлежитГруппе(<Счет>) – Определяет, является ли текущий счет субсчетом для счета, указанного в качестве параметра метода. Проверка выполняется по всем вышестоящим уровням счета. Возвращает: 1 – текущий счет является субсчетом для счета, указанного в качестве параметра; 0 – не является.
Пример:
Сч10 = СчетПоКоду(“10”);
СубСч10 = СчетПоКоду(“10.5.1”);
Сообщить(СубСч10.ПринадлежитГруппе(Сч10)); //метод вернет 1
Родитель(<НомерУровня>) – Возвращает счет вышестоящего уровня для данного счета. <НомерУровня> – число, которое определяет, какого уровня вышестоящий счет должен быть выдан. Если параметр не указан – выдается непосредственный родитель.
Например, для счета “10.5” этот метод вернет счет с кодом “10”.
КодСубсчета() – Выдает код счета без кодов счетов вышестоящих уровней.
Возвращает: строковое значение – код счета без кодов счетов вышестоящих уровней.
Например, для счета “10.5” этот метод вернет строковое значение “5”.
ВыборГруппы(<флаг>) – Этот метод устанавливает режим выборки групп. Данный метод может применяться как для позиционируемых объектов, созданных функцией ‘‘СоздатьОбъект’‘, так и для элементов диалога типа ‘‘Счет’‘. По умолчанию выбор группы разрешен, за исключением счетов дебета и кредита в проводках операции.
ВыбрСчет.ВыборГруппы(1); //разрешить выбор группы
ВыбрСчет.ВыборГруппы(0); //запретить выбор группы
| опубликовано: 7 Июль 2008, 11:20