Один Ответ на “Базовый курс. Занятие №10”

  1. 1. Создайте план счетов, который будет содержать следующие счета
    Конфигуратор\План Счетов\ создать.
    маска @@.@@ , порядок 9 , Автопорядок – вкл.
    Прочее\Предопределенные – создаю счета

    2. Обеспечьте программное заполнение реквизита «Порядок счета».
    Создаю форму счета, вытаскиваю на нее Порядк!

    Модуль объекта процедура перед записью

    Порядок = ПолучитьПорядокКода();

    3. На счетах учета товарно-материальных ценностей откройте аналитический учет по
    номенклатуре.
    Конфигуратор\ПланВидовХорактеристик
    ТипЗначение – СправочникНоменклатура
    План счетов\Субконто\ ВидСубконто – выбираю созданный вид хорактеристик
    Товары, материалы – выбираю созданное субконто Товары.

    4. Создайте регистр бухгалтерии для суммового учета похозяйственным операциям.

    Конфигуратор\РегистрыБухгалтерии – Создаю Новый, указываю план счетов.
    регистратор – Поступлени, Ресурс – Сумма

    Модифицирую старый запрос для получения Номенклатуры и счетов

        Таблица.Свернуть(…);
        Движения.РегистрБухгалтерии.Записывать = Истина;
        Движения.РегистрБухгалтерии.Загрузить(Таблица);

    Для авансового

    Если ЭтотОбъект.ОтПоставщика.Ссылка.Наименование = "" Тогда
          Запрос.Текст = СтрЗаменить(Запрос.Текст, "ПланСчетов.ПланСчетов.Поставщики", "ПланСчетов.ПланСчетов.Сотрудники");
        КонецЕсли;

    5. Создайте документ «Операция» для формирования произвольных проводок
    пользователем. Обеспечьте следующее поведение документа:

    Создал документ, запретил проведение, сделал регистратором регистра Бухгалтерии
    Создал форму, давили в нее таблицу регистра.

    В регистре бухгалтерии создал процедуру

    Дата =  Отбор.Регистратор.Значение.Дата;
       
        Для каждого Проводка из ЭтотОбъект Цикл
           
            Проводка.Период = Дата;
           
        Конеццикла;
       
    Для  документа  "ДокументСсылка.Операция"

    В модуле объекта документа ОПЕРАЦИЯ
    Процедура перед  записью!
        Проводки = Движения.РегистрБухгалтерии1.Выгрузить();
       
        Группировка = "";
        Для Каждого Колонка из Проводки.Колонки цикл
            Если Колонка.Имя <> "Сумма" и Колонка.Имя <> "НомерСтроки" Тогда
                Группировка = Группировка + ","+Колонка.Имя;
            КонецЕсли;
        КонецЦикла;
        Проводки.Свернуть(Группировка, "Сумма");
        Движения.РегистрБухгалтерии1.Загрузить(Проводки);

    6. Необходимо предусмотреть в конфигурации механизм, который не будет позволять
    использовать в проводках счета-группы. Например, счет 41 ТМЦ.

    Флажок булево, если у счета есть родитель то родителю флажок в истину, если флажок стоит то запрет на проведение, в Модуле объекта РегистраБухгалтерии.

    Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |   РегистрБухгалтерии1.СчетДт,
            |   NULL КАК СчетКт
            |ИЗ
            |   РегистрБухгалтерии.РегистрБухгалтерии1 КАК РегистрБухгалтерии1
            |ГДЕ
            |   РегистрБухгалтерии1.Регистратор = &Регистратор
            |   И РегистрБухгалтерии1.СчетДт.Непроводить
            |
            |ОБЪЕДИНИТЬ ВСЕ
            |
            |ВЫБРАТЬ
            |   NULL,
            |   РегистрБухгалтерии1.СчетКт
            |ИЗ
            |   РегистрБухгалтерии.РегистрБухгалтерии1 КАК РегистрБухгалтерии1
            |ГДЕ
            |   РегистрБухгалтерии1.Регистратор = &Регистратор
            |   И РегистрБухгалтерии1.СчетКт.Непроводить";
        Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);