Базовый курс. Домашнее задание №12

Заключительное задание 3-го блока.

Для выполнения рекомендуется изучить следующие главы 3-го блока.

Глава 8. Расчет стоимости при выбытии.
Глава 9. Разработка отчетов.
Глава 10. Сторнирование проводок.
Глава 11. Баланс в нескольких валютах.
Глава 12. Измерения регистра бухгалтерии.
Глава 13. Забалансовые счета.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.

комментариев 70 на “Базовый курс. Домашнее задание №12”

  1. Задание выполнено.
    Серьезных проблем не было.
    Обратная связь:
    1). Структура таблиц регистра бухгалтерии, особенности хранения таблиц рег. бух. в БД
    2). Особых затруднений не возникло.
    3). Признаки учета субконто и особенности их применения.

  2. Задание выполнено.
    Глобальных проблем не возникло.
    Обратная связь.
    1. Новое:
    1) Назначение параметров виртуальных таблиц регистров бухгалтерии.
    2) Более глубокое понимание самой предметной области БУ.
    3) Нестандартный синтаксис оператора ВЫБОР!
    4) Тема – “Сторнирование проводок”
    2. Затруднений не возникло.
    3. Отчеты на СКД применительно к БУ (повторюсь)

  3. iporozhnyakov 19.01.2011 в 17:29

    Готово.

    Основная веха – добавлен документ “Авизо”, передача между подразделениями работает. Сложностей не возникло. Отчеты сделаны на СКД (благо знание виртуальных таблиц и компоновки были).

  4. Задание выполнил. Затруднение с отчетами решил просмотрев еще раз уроки по ним.
    feedback
    1. Нового много, учитывая что больше работал с 7-кой. Очень хорошо материал упорядочивает знания, полученные опытным путем.
    2. Отчеты создавать сложновато пока, но думаю практика возьмет свое.
    3. думаю для базы материала достаточно.

  5. Антон К. 18.01.2011 в 12:04

    Добрый день, задание выполнил.
    Возникла сложность с расположением на форме 2х полей для заполнения значений субконто (для 1 поля смог сам сделать, для 2х – нет. пришлось посмотреть эталонное решение).
    =====
    Обратная связь: для меня весь этот блок был новым, никогда раньше с решением задач на регистрах бухгалтерии не сталкивался. поэтому сейчас даже сложно сориентироваться, что хотелось бы рассмотреть подробнее.
    Сложности вызывает работа с субконто (связки: счет – субконто (через планы видов характиристик)). В параметрах виртуальных таблиц: параметры “Условие на субконто” – как-то попытался использовать для отчета, как не заполнял, все время были ошибки.

  6. Здравствуйте:-) ДЗ № 12 выполнила.

    * маску счета пришлось увеличить (@@@.@@), иначе счет 002 не проходил по габаритам.
    *много новых реквизитов и объектов, в т.ч. предопределенный элемент справочника Номенклатура –  ОтветственноеХранение, который подставляется при проведении по регистру п
    Продажи как услуга по приему на ответств. хранение и измерение Подразделение регистра бухгалтерии.
    *документ Авизо – счет, субконто и значения субконто в табличной части. Сначала определяется субконто. У реквизитов ЗначениеСубконто1 и 2 связь по типу с реквизитами Субконто1 и 2 соответственно. Значения субконто, оставшиеся незаполненными и количество в случае своей неуместности скрываются от пользователя.
    *отчеты… сделала:-) спасибо урокам.

    Обратная связь:
    1. Предметная область знакома. Новое всё, что связано с виртуальными таблицами регистра бухгалтерии.
    2. Отчеты. Уроки.
    3. Традиционно – мне подробности хватает:-)

  7. Manase940N 12.01.2011 в 11:22

    Задание выполнил.
    Трудностей по учету на забалансовом счете не возникло, все алгоритмы были сделаны в прошлом задании.
    Не сразу сообразил, как вести учет по подразделениям, пришлось пересматривать уроки.
    В документе “Авизо” в табличной части сделал реквизиты Субконто1 и Субконто2 с типом данных ПВХ.ВидыСубконто. Динамически не менял возможность заполнения только теми типами данных, которые предусмотрены на субконто выбираемого счета. Плохо знаю, как работать с реквизитами формы((. Надеюсь, в продвинутом курсе разберусь.
    С СКД сталкивался ранее, поэтому по отчетам проблем не возникло. Остатки БУ и УУ склеивались полным соединением.
    Обратная связь.
    Отлично, что в начале уроков подробно разобраны принципы бухучета, базовых понятий не хватало.
    Узнал про таблицы, виртуальные и физические, регистров бухгалтерии.
    Ну и нюансы СКД тоже интересно было узнать.
    Неудобно смотреть видео без плейлистов((. Может быть есть вариант защищенного плеера, где их можно составлять?
     

    • >Может быть есть вариант защищенного плеера, где их можно составлять?
      В ближайшем будущем будет представлен плеер собственного производства.

  8. Задание выполнил. Первая часть задания прошла нормально, а документ “Авизо” и отчеты на СКД я осилил только посмотрев решение.
    Обратная связь
    1  Все новое. Пока смотришь понятно, а как делать ДЗ так нечего и не знаю.  Понравилась вводная часть по БУ, без нее вообще бы умер.
    2  Затруднения в ПВХ, Сторно, Запросы, СКД повторяю и повторяю
    Очень не удобно просматривать видео на диске .
    Я  в шоке от курса. Спасибо Вам !
     
     

  9. ДЗ №12 выполнил.

    1) С поступлением на ответ. хранение все достаточно тривиально решается. Ессно предварительно создал все необходимые объекты.

    2) Возврат с ответ. хранения реализовал след. образом: и контроль и сами данные для загрузки в набор записей выбираю одним запросом. Для контроля создал в запросе поля “Превышение” тип число и “ЕстьПревышение” тип булево (как вычисляются думаю понятно итак). Далее выполняю такой код: <code>ТаблицаПроводок = Результат.Выгрузить();

    // контроль остатка
    СтруктураОтбора = Новый Структура(“ЕстьПревышение”, Истина);
    МассивСтрокПревышения = ТаблицаПроводок.НайтиСтроки(СтруктураОтбора);

    Если МассивСтрокПревышения.Количество() > 0 Тогда
    Отказ = Истина;

    Для Каждого СтрокаПревышения Из МассивСтрокПревышения Цикл
    Сообщить(“Нехватка товара в количестве ” + СтрокаПревышения.Превышение + ” единиц в строке ” + СтрокаПревышения.НомерСтрокиДокумента);            
    КонецЦикла;    

    Возврат;

    КонецЕсли;    

    // если все ок
    ПроводкиБух.Загрузить(ТаблицаПроводок);</code>

    3) С документом Авизо не все было понятно, признаюсь, пришлось подглянуть в эталонное решение. Но как оказалось я был на правильном пути :) Немного застрял на алгоритме скрытия субконто, посмотрел ваше решение, взял на вооружение :)

    4) С отчетами после просмотра главы 9, тоже оказалось все довольно просто. Отмечу лишь, что отчет Остатки УУ и БУ реализовал через объединение наборов данных в самой СКД, а не через объединение в запросе. Кстати вот и вопрос: есть ли какая-то принципиальная разница между этими механизмами, и если есть – то какие предпосылки использования того или иного варианта?

    Обратная связь:

    1. Нового в этом блоке для меня было уже значительно больше. С бухгалтерскими конфигурациями работаю давно, но конфигурированием как таковым занимался крайне мало. Поэтому знания были почёрпнуты по полной :) Все стало понятно и разложилось по полочкам, особенно это касается внутреннего устройства таблиц РБ, виртуальных таблиц этого чудесного регистра и с чем все это едят :) Узнал про новые параметры ВТ Сортировка и Первые, правильное использование параметра Субконто и даже про недокументированный синтаксис оператора Выбор, аля Case :) Понравилась глава про отчеты, и кстати не знал про фишку со стандартным периодом в параметрах, тоже взял на вооружение.
    2. После просотра всех материалов 3-го блока труднейстей в принципе не возникает. Все разобрано хорошо.
    3. Вот есть такой вопрос, с которым вроде все очевидно, но хотелось бы услышать ваше компетентное мнение. Вопрос касается соединения в запросе например ТЧ документа и вложенного запроса с остатками по номенклатуре ТЧ. Так вот когда во вложенном запросе мы получаем остатки из ВТ остатки РН (или РБ неважно), мы в параметрах указываем выборку номенклатуры из ТЧ, т.е. пишем Номенклатура В (Выбрать …..). Вопрос: всегда ли нужно это делать? Есть подозрения, что оптимизатор запроса, видя что будет итак соединение с номенклатурой ТЧ во вложенном запросе не будет получать остатки по “лишней” номенклатуре, особенно это касается СКД.

     

    • >Видя что будет итак соединение с номенклатурой ТЧ во вложенном запросе не будет получать остатки по «лишней» номенклатуре
      Нет, это не так.
      Запрос преобразуется в конструкцию sql в том виде какой он есть, далее уже работает оптимизатор СУБД.
      Но если в параметрах ВТ не указать условия, то остатки все же будут получаться по всей номенклатуре.

      • >Но если в параметрах ВТ не указать условия, то остатки все же будут получаться по всей номенклатуре.
        В теории с вами согласен, но вопрос возник в связи с тем, что на практике постоянно сталкивался с обратным.
        По идее действительно запрос должен 1) “тупо” выбрать остатки по всей номенклатуре во вложенном запросе 2) выбрать номенклатуру из ТЧ 3) левым соединением подтянуть нужные остатки к номенклатуре ТЧ. Отсюда делаем вывод, что по времени запрос с выборкой остатка скажем по 5 000 поз. номенклатуры будет работать также как запрос, в котором потом эти остатки соединятся с ТЧ, в которой допустим 5 поз. Но проводим эксперимент в типовой УТ консолью отчетов (файловый режим работы, т.е. дело не в оптимизаторе СУБД) и убеждаемся, что в первом случае выборка идет ~5 сек., а во втором всего 0,5 сек. Если это не оптимизация запроса платформой, то что же?

        • >в первом случае выборка идет ~5 сек., а во втором всего 0,5 сек.
          Я немного запутался.
          В первом случае, это запрос без использования параметров ВТ?
          А случай второй, как раз с применением отбора внутри параметров ВТ?

          • Нет. В первом случае идет просто выборка остатков по 5 000 элементов.  Во втором идет она же (т.е. без применения отбора внутри параметров ВТ), но потом присоединяется к 5 поз. из выборки по ТЧ.

            • Это достаточно интересный результат.
              Скорее всего, это особенность файлового варианта. Однако, выводы делать еще рано.
              Во-первых, приведите текст используемого запроса.

              Во-вторых, попробуйте получать остатки не на актуальное значение (с пустым периодом ВТ), а, например, на 15 декабря. Приведите результаты по времени.

              • 1.
                ВЫБРАТЬ
                РеализацияТоваровУслугТовары.Номенклатура,
                РеализацияТоваровУслугТовары.СерияНоменклатуры,
                ВложенныйЗапрос.КоличествоОстаток КАК КоличествоОстаток
                ИЗ
                Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры,
                ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
                ИЗ
                РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварыНаСкладахОстатки) КАК ВложенныйЗапрос
                ПО РеализацияТоваровУслугТовары.Номенклатура = ВложенныйЗапрос.Номенклатура
                И РеализацияТоваровУслугТовары.СерияНоменклатуры = ВложенныйЗапрос.СерияНоменклатуры
                ГДЕ
                РеализацияТоваровУслугТовары.Ссылка = &Ссылка
                ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.СерияНоменклатуры, ВложенныйЗапрос.КоличествоОстаток КАК КоличествоОстатокИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварыНаСкладахОстатки) КАК ВложенныйЗапрос ПО РеализацияТоваровУслугТовары.Номенклатура = ВложенныйЗапрос.Номенклатура И РеализацияТоваровУслугТовары.СерияНоменклатуры = ВложенныйЗапрос.СерияНоменклатурыГДЕ РеализацияТоваровУслугТовары.Ссылка = &Ссылка
                2. Период указал 12.11.2010. Соотношение по времени примерно такое же как и было указано.

                • Видимо я не совсем понял Ваш первый пост.
                  Более оптимальным будет запрос такого вида:
                  ВЫБРАТЬ
                  РеализацияТоваровУслугТовары.Номенклатура,
                  РеализацияТоваровУслугТовары.СерияНоменклатуры,
                  ТоварыНаСкладахОстатки.КоличествоОстаток
                  ИЗ
                  Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                  ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
                  &Период,
                  (Номенклатура, СерияНоменклатуры) В
                  (ВЫБРАТЬ
                  РеализацияТоваровУслугТовары.Номенклатура,
                  РеализацияТоваровУслугТовары.СерияНоменклатуры
                  ИЗ
                  Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                  ГДЕ
                  РеализацияТоваровУслугТовары.Ссылка = &Ссылка)) КАК ТоварыНаСкладахОстатки
                  ПО РеализацияТоваровУслугТовары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
                  И РеализацияТоваровУслугТовары.СерияНоменклатуры = ТоварыНаСкладахОстатки.СерияНоменклатуры
                  ГДЕ
                  РеализацияТоваровУслугТовары.Ссылка = &Ссылка

                  В этом запросе действительно вначале выбираются остатки по нужной номенклатуре, далее идет соединение.

                  В вашем варианте №2 простое помещение запроса не дает абсолютно никакого преимущества. Более того, вы доказали, что такой запрос работает медленнее.

                  Попробуйте выполнить мой запрос. Какое у него время выполнения?

                • Видимо я так путано объясняю :)
                  Приведенный запрос (текст просто задвоился) – и есть второй, первый – просто выборка всех остатков(которая во вложенном у второго :)) По времени выполнения он идентичен Вашему (с параметрами ВТ). Вот в этом-то вся и соль!

                • В общем все сводится к тому, что запрос с отбором в параметрах ВТ и без отбора (при условии, что будет потом соединение) работает аналогично. Попробуйте в своем запросе убрать отбор из параметров и сравните результат. Может это у меня только так :)

                • Под рукой нет большой ИБ, где можно произвести проверку.

                  Но как я понял, что как раз “не работает аналогично”. Вы же говорите, что оптимальный вариант работает медленнее.

                  Вот такой запрос еще попробуйте выполнить:

                  ВЫБРАТЬ РАЗЛИЧНЫЕ
                  РеализацияТоваровУслугТовары.Номенклатура,
                  РеализацияТоваровУслугТовары.СерияНоменклатуры
                  ПОМЕСТИТЬ Товары
                  ИЗ
                  Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                  ГДЕ
                  РеализацияТоваровУслугТовары.Ссылка = &Ссылка
                  ;

                  ////////////////////////////////////////////////////////////////////////////////
                  ВЫБРАТЬ
                  Товары.Номенклатура,
                  Товары.СерияНоменклатуры,
                  ТоварыНаСкладахОстатки.КоличествоОстаток
                  ИЗ
                  Товары КАК Товары
                  ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
                  &Период,
                  (Номенклатура, СерияНоменклатуры) В
                  (ВЫБРАТЬ
                  РеализацияТоваровУслугТовары.Номенклатура,
                  РеализацияТоваровУслугТовары.СерияНоменклатуры
                  ИЗ
                  Товары КАК РеализацияТоваровУслугТовары)) КАК ТоварыНаСкладахОстатки
                  ПО Товары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
                  И Товары.СерияНоменклатуры = ТоварыНаСкладахОстатки.СерияНоменклатуры

                • Больше не буду оффтопить в отчете по ДЗ. Написал на почту :)

                • Ок, разберемся :)

  10. MashkaRomashkina 10.01.2011 в 00:00

    Задание выполнила.
    Добавила перечисление ВидОперации и забалансовый счет 002. Модифицировала проведение Поступления и Реализации.
    Основные сложности возникли при реализации документа Авизо, а именно при установке типа субконто. Сначала создала табличную часть для ввода перемещаемых активов/пассивов, но установить тип субконто при изменении счета в табличной части не получилось. Перенесла те же реквизиты в шапку документа и с помощью процедуры, приведенной ниже, тип установить получилось.
    &НаСервере
    Функция УстановкаТипаСубконто(Счет,НомерСубконто)
     Если Счет.ВидыСубконто.Количество()>=НомерСубконто Тогда
      Возврат Счет.ВидыСубконто[НомерСубконто-1].ВидСубконто.ТипЗначения;
     Иначе
      Возврат Неопределено;
     КонецЕсли;
    КонецФункции
    &НаКлиенте
    Процедура СчетПриИзменении(Элемент)    
     ТипСубконто1 = УстановкаТипаСубконто(Объект.Счет,1);
     Если ТипСубконто1<>Неопределено Тогда
      Элементы.Субконто1.Доступность = Истина;
      Элементы.Субконто1.ОграничениеТипа = ТипСубконто1;
     Иначе
      Объект.Субконто1 = “”;
      Элементы.Субконто1.Доступность = Ложь;
     КонецЕсли;
     ТипСубконто2 = УстановкаТипаСубконто(Объект.Счет,2);
     Если ТипСубконто2<>Неопределено Тогда
      Элементы.Субконто2.Доступность = Истина;
      Элементы.Субконто2.ОграничениеТипа = ТипСубконто2;
     Иначе
      Объект.Субконто2 = “”;
      Элементы.Субконто2.Доступность = Ложь;
     КонецЕсли;
     Если КоличественныйСчет(Объект.Счет) Тогда
      Элементы.Количество.Доступность = Истина;
     Иначе
      Элементы.Количество.Доступность = Ложь;
     КонецЕсли;
    КонецПроцедуры

    Отчеты создала с помощью СКД без особых сложностей.

    • MashkaRomashkina 10.01.2011 в 00:11

      Обратная связь:
      1. Все, что касается БУ в 8.x для меня довольно ново. Механизмы работы с регистрами БУ довольно похожи на работу с регистрами накопления, что облегчает понимание материала.
      Написание несложных отчетов с помощью СКД оказалось не такой сложной штукой, как показалось с первого взгляда. Очень удобный механизм.
      2. Пока плохо разобралась с ПВХ.

  11. Задание выполнил. При реализаци работы с 79 счетом взял за основу базовые принципы заложенные в БП КОРП

  12. comradeegor 08.01.2011 в 13:59

    Домашнее задание выполнил.
    Для выполнения первой части создал активный забалансовый счет 002 с аналитикой: контрагент, номенклатура.Было
    создано перечисление “ВидыОпераций” со значениями : “Обычная”, “Отв. хранение”.
    Для выполнения второй части был создал счет 79 с оборотным субконто “Подразделение”. Я так понимаю, остатки по
    данному счету в разрезе подразделений не имеют особого смысла. Было создано балансовое измерение РБ –
    “Подразделение”. В шапке документов был создан реквизит подразделение. В модуле набора записей в обработчике “Перед
    записью” это измерение заполнялось.
    Возникли проблемы с формой документа “Авизо”. Не получилось привести типы Субконто1, Субконто2 при изменении Счета.
    Формы у меня слабое место. Жду вашего решения, чтобы посмотреть, как это правильно красиво делать. 
    Отчеты реализовал. ОСВ по счёту и баланс сделал, как в уроках. Для отчёта по остаткам БУ и УУ делал полное
    соединение виртуальных т-ц “Остатки” по РН и РБ. В вирт. таблице РБ задал параметр ВидСубконто. Правда не уверен,
    что правильно. Как-то неуверенно себя чувствую, не понимаю до конца, как задать ограничения на виды субконто.
    Обратная связь:
    1. Нового материала очень много. Сторнирование проводок и глава по бух. отчётам были сложными, но полезными.
    2. Затруднения небольшие с виртуальными таблицами РБ – их много и не всегда понятно, какими из них и как нужно
    манипулировать, как правильно задавать параметры для субконто, видов субконто и т.д.
    3. Хотелось бы побольше материала по многовалютному учёту.

  13. Задание выполнил. Основную трудность вызвали отчеты с использованием СКД, и когда делал документ Авизо запутался немного при разрешении внесении определенных видов субконто. В результате в модуле формы получился следующий код <code>
    &НаКлиенте
    Процедура ТаблицаСчетПриИзменении(Элемент)
    текСтрока = Элементы.Таблица.ТекущиеДанные;
    СчетКоличественный = ПолучитьПризнакСчетаНаСервере(текСтрока.Счет);
    Элементы.ТаблицаКоличество.Доступность =СчетКоличественный;
    Попытка
    ТипСубк = ЗаполнениеДокументов.ПолучитьТипСубконтоНаСервере(текСтрока.Счет, 1);
    Исключение
    Возврат;
    КонецПопытки;
    Если НЕ ТипСубк = Неопределено Тогда
    Элементы.ТаблицаСубконто1.ОграничениеТипа = ТипСубк;
    Элементы.ТаблицаСубконто1.Доступность = Истина;
    Иначе
    текСтрока.Субконто1 = Неопределено;
    Элементы.ТаблицаСубконто1.Доступность = Ложь;
    КонецЕсли;
    Попытка
    ТипСубк = ЗаполнениеДокументов.ПолучитьТипСубконто(текСтрока.Счет, 2);
    Исключение
    Возврат;
    КонецПопытки;
    Если НЕ ТипСубк = Неопределено Тогда
    Элементы.ТаблицаСубконто2.ОграничениеТипа = ТипСубк;
    Элементы.ТаблицаСубконто2.Доступность = Истина;
    Иначе
    текСтрока.Субконто2 = Неопределено;
    Элементы.ТаблицаСубконто2.Доступность = Ложь;
    КонецЕсли;    
    КонецПроцедуры
    </code> где функции ПолучитьПризнакСчетаНаСервере и ПолучитьТипСубконтоНаСервере функции в общем модуле которые возвращают соответственно признак количественного учета и вид субконто с сервера
    <code>
    Функция ПолучитьТипСубконтоНаСервере(Счет, НомерСубконто) Экспорт
    Выход = Неопределено;
    Если Счет.ВидыСубконто.Количество()>=НомерСубконто Тогда
    Dыход = Счет.ВидыСубконто[НомерСубконто-1].ВидСубконто.ТипЗначения;
    КонецЕсли;
    возврат Выход;
    КонецФункции
    Функция ПолучитьПризнакСчетаНаСервере(Счет) Экспорт
    возврат Счет.Количественный;
    КонецФункции</code>
    Обратная связь: Работа с регистром бухгалтерии показала что очень много общего с регистрами накопления. Нравится, что все приводится к тому, что почти все надо делать однотипно и неважно в какой области (бухгалтерии или опер.учет) дорабатывается программа. Основные затруднения по прежнему вызывает работа с формой. Кроме того начинает добавлять СКД. Хотелось бы чтобы побольше рассматривалась СКД в части вывода макетов на печать, а так же если это конечно входит в данный курс, рассказать поподробнее о “внутренностях СКД” (как можно программно менять алгоритм формирования, менять макет при выводе его на печать и т.п.). Или хотя бы просто поподробнее рассказать на что влияют различные флажки в настройках СКД. Хотелось бы что бы этомы был посвещен отдельный блок

    • > Хотелось бы что бы этомы был посвещен отдельный блок>
      СКД посвящена отдельная (большая) глава в рамках курса продвинутого.

  14. ДЗ сделала!  В плане счетов добавила 002 счет, забалансовый. В документах “Поступление” и “Отгрузка” добавила новый реквизит “ВидОперации” (Перечисления.ВидОперации) и прописала проводки по 002 счету, как указано в задании.
    Добавила новый справочник “Подразделения”, а также новый реквизит “Подразделение” во все документы . Также в РегистрБухгалтерии добавила новое измерение “Подразделение” и в ПВХ. ВидыСубконто, также внесла новый предопределенный элемент “Подразделение”.
    В ПланСчетов добавила новый предопределенный счет 79 – Активно-Пассивный, с аналитикой по Подразделениям.
    Создала документ “Авизо”, в табличную часть вынесла реквизиты Счет, Субконто1 и Субконто2 (вид – ПВХ.ВидыСубконто), Субконто1Значение и Субконто2Значение (тип – СправочникССылка).
    Поля Субконто1Значение и Субконто2Значение связала по типу с Субконто1 и Субконто2 соответственно.
    В форме документа использовала процедуру ПриИзменении поля Счет табличной части.
    <code>
    &НаКлиенте
    Процедура ТЧСчетПриИзменении(Элемент)
    ТабТМЦ = Элементы.ТЧ.ТекущиеДанные;
    ТабТМЦ.Субконто1 = УстановитьАналитикуСервер(ТабТМЦ.Счет,1);
    ТабТМЦ.Субконто2 = УстановитьАналитикуСервер(ТабТМЦ.Счет,2);
    ТабТМЦ.Субконто1Значение = “”;
    ТабТМЦ.Субконто2Значение = “”;
    КонецПроцедуры

    &НаСервере
    Функция УстановитьАналитикуСервер(СчетСписанияБУ,НомерСубконто)
    Если СчетСписанияБУ.ВидыСубконто.Количество()>=НомерСубконто Тогда
    Возврат СчетСписанияБУ.ВидыСубконто[НомерСубконто-1].ВидСубконто;
    Иначе
    Возврат “”;
    КонецЕсли;
    КонецФункции
    </code>
    При формировании проводок по документу проверяю вид счета (Активный, Пасивный, Аквтиыно-Пассивный) и в зависимости от значения прописываю соответственные проводки.
    Отчеты :
    1. ОСВ по счету – использовала таблицу Остатки и Обороты
    2. Баланс – сделала, как было показано в уроках.
    3. Остатки БУ и УУ – использовала таблицу РегистраНакопления. ОстаткиТовараОстатки, а также использовала вложеный запрос по РегиструБухгалтерии.Остатки в параметрах которого указала, что
    Счет В
    (ВЫБРАТЬ
    ПланСчетов.Ссылка
    ИЗ
    ПланСчетов.ПланСчетов КАК ПланСчетов
    ГДЕ
    ПланСчетов.ВидыСубконто.ВидСубконто = &ВидСубконто)
    Далее через полное соединение связала вложений запрос по БУ и запрос по УУ остаткам.
     
    Обратная связь:
    1. Что нового? Как и  в прошлых блоках новое все! :)  Могу отметить, что очень прояснилась картинка с взаимосвязями ПланаСчетов с ПВХ и РегистромБухгалтерии.
    2. Затруднения вызвал документ “Авизо”, никак не могла побороть, чтоб в ТЧ при изменении счета коректно определялся ВидСубконто. Помог разобраться отладчик, как и показывали в уроках , после детального изучения всех свойств и методов нашла, как достучаться до нужных мне. :) Но конечно времени было убито …
    Еще конечно, урок посвященный Сторнированию проводок, все же сложновато пока вопринимается. Но думаю, это из-за малой практики.
     
     
     
     

  15. Евгений Шилов 05.01.2011 в 18:59

    Задание выполнил. Попытался использовать пакетные запросы для получения данных для проведения – тяжко :)  Такое ощущение, что получить одним запрос данные для всех регистров невозможно. Вообщем пора на продвинутый.
    Интересный документ – Авизо.
    С отчетами проблем не возникло.
    Обратная связь:
    1) Спасибо за вводную по бух учету, очень помогло закрыть пробелы.
    2) Трудность – в каких случаях, какие виртуальные таблицы использовать, параметры этих виртуальных таблиц. Помогли конечно видео уроки.
    3) В мастер группу хотелось бы вынести курс по “Бухгалтерии предприятия” :)
     

  16. Задание выполнил.  Были затруднения по  документу Авизо. А так все остальное сделал по аналоги с примерами в уроках.
    Что нового: Все что узнал было новым.
    Затруднения. Плохо знаком с Бух Отчетностью поэтому Виртуальные таблицы конечно вызывают некоторые затруднения, не сразу понятно какую Виртуальную таблицу как использовать. Сторнирование проводок тоже непростая тема.

  17. Чего то не понятно с комментариями – все про каких то коней пишет… ;) Задание выполнил. Самое большое затруднение – это конец года – как всегда завал на работе. Буду стараться нагнать в оставшиеся праздники последний блок.

    • А какой точный текст? Не знаю почему, но у некоторых участников появляется надпись про коней :)
      Возможно зависит от браузера.

      • Ну типа – больно часто комментируете попридержите коней – хотя всего один комментарий пытался добавить. Помогло выйти и зайти заново. Брайзер – эксплорер. Ну в общем если еще у кого про коней –  надо перелогиниться. ;)

  18. Задание выполнил.
    – В плане счетов добавил забалансовый счет 002 «ТМЦ принятые на хранение» с видами субконто «Номенклатуры» и «Контрагенты». В документах «Поступление товаров» и «Реализация товаров» добавил ревизит «Вид операции» типа ПеречислениеСсылка.ВидыОперацийПоступления и ПеречислениеСсылка.ВидыОперацийПродажи соотвественно, реализовал формирование проводок по счету 002.
    – В регистр бухгалтерии добавил балансовое измерение «Подразделение» типа СправочникСсылка.Подразделения. В документы, формирующие проводки, добавил реквизит «Подразделение».
    – Создал документ «Авизо» с реквизитами «Отправитель» (тип СправочникСсылка.Подразделения) и «Получатель» (тип СправочникСсылка.Подразделения) и табличной частью с реквизитами «Счет» (тип ПланСчетовСсылка.ПланСчетовУправленческий), Субконто1 и Субконто2 (тип Характеристика.ВидыСубконто), Сумма, Количество. При проведении документ формирует указанные в задании проводки.
    – В отчетах в СКД в качестве источника данных использовал следующие запросы:

    Оборотно-сальдовая ведомость по счету:

    ВЫБРАТЬ
    РегистрБухгалтерииУправленческийОстаткиИОбороты.Счет,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.Субконто1,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.Субконто2,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.СуммаОборотДт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.СуммаОборотКт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.СуммаНачальныйОстатокДт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.СуммаНачальныйОстатокКт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.СуммаКонечныйОстатокДт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.СуммаКонечныйОстатокКт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.КоличествоНачальныйОстатокДт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.КоличествоНачальныйОстатокКт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.КоличествоКонечныйОстатокДт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.КоличествоКонечныйОстатокКт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.КоличествоОборотДт,
    РегистрБухгалтерииУправленческийОстаткиИОбороты.КоличествоОборотКт
    ИЗ
    РегистрБухгалтерии.РегистрБухгалтерииУправленческий.ОстаткиИОбороты(
    ,
    ,
    ,
    ,
    Счет В ИЕРАРХИИ (&Счет),
    ,
    Подразделение = &Подразделение
    ИЛИ &Подразделение = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК РегистрБухгалтерииУправленческийОстаткиИОбороты

    Баланс:

    ВЫБРАТЬ
    РегистрБухгалтерииУправленческийОстатки.Счет,
    ВЫБОР
    КОГДА РегистрБухгалтерииУправленческийОстатки.Счет.Вид = ЗНАЧЕНИЕ(ВидСчета.Пассивный)
    ТОГДА 0
    ИНАЧЕ РегистрБухгалтерииУправленческийОстатки.СуммаОстатокДт
    КОНЕЦ КАК ОстатокДт,
    ВЫБОР
    КОГДА РегистрБухгалтерииУправленческийОстатки.Счет.Вид = ЗНАЧЕНИЕ(ВидСчета.Активный)
    ТОГДА 0
    ИНАЧЕ РегистрБухгалтерииУправленческийОстатки.СуммаОстатокКт
    КОНЕЦ КАК ОстатокКт
    ИЗ
    РегистрБухгалтерии.РегистрБухгалтерииУправленческий.Остатки(
    ,
    (НЕ Счет.Забалансовый),
    ,
    Подразделение = &Подразделение
    ИЛИ &Подразделение = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)) КАК РегистрБухгалтерииУправленческийОстатки

    Остатки БУ и УУ:

    ВЫБРАТЬ
    ЕСТЬNULL(ОстаткиНоменклатурыОстатки.Номенклатура, РегистрБухгалтерииУправленческийОстатки.Субконто1) КАК Номенклатура,
    ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК ОстатокУпр,
    ЕСТЬNULL(РегистрБухгалтерииУправленческийОстатки.КоличествоОстаток, 0) КАК ОстатокБух
    ИЗ
    РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки
    ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.РегистрБухгалтерииУправленческий.Остатки(, , ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.Номенклатура), ) КАК РегистрБухгалтерииУправленческийОстатки
    ПО ОстаткиНоменклатурыОстатки.Номенклатура = РегистрБухгалтерииУправленческийОстатки.Субконто1
    Обратная связь:

    1. Пополнились и упорядочились знания по использованию функционала 8.2 для решения «бухгалтерских» задач.
    2. Сложностей не возникло.
    3. Пока что информации достаточно.

  19. Задание выполнила, основные моменты:
    – для учета товаров на ответственном хранении в документ “Поступление товаров” добавила реквизит ВидОперации(тип перечисление), проверка при проведении по регистрам на вид операции. Добавила забалансовый счет 002 с 2мя субконто(Номенклатура, Контрагент)
    – внесла изменения в поведение документа “Реализация товаров”: списание стоимости и контроль остатка для товаров на хранении согласно уроков, только в параметрах виртуальной таблицы остатков условие еще и на Субконто2 = &Контрагент.
    – для учета остатков по подразделениям завела новый справочник “Подразделения”, новый вид субконто, прописала его как субконто на счет 79, добавила реквизитом в документы, измерением в регистр бухгалтерии, добавила в проводки заполнение этого измерения. Внесла изменения при формировании запроса по регистру бухгалтерии для док. РеализацияТовара.
    – создала документ “Авизо”(рекв:ПодразделениеОтправитель,ПодразделениеПолучатель,Счет,Субконто1-тип Характеристика.ВидыСубконто,Субконто2,Количество,Сумма). При выборе Счета проверяю чтобы у него было обязательно субконто Номенклатура и присваиваю соответсвенные типы для выбора реквизитам Субконто1 и Субконто2
    Элементы.Субконто1.ДоступныеТипы = Новый ОписаниеТипов(ВыбранноеЗначение.ВидыСубконто[0].ВидСубконто.ТипЗначения);   
    Объект.Субконто1 = Справочники[ВыбранноеЗначение.ВидыСубконто[0].ВидСубконто.Наименование].ПустаяССылка();
    Элементы.Субконто1.ВыбиратьТип = Ложь;
    реализовала проведение документа – алгоритм подробно описан в задании. Есть вопрос – не понятно на каком этапе надо определять правильность ввода кол-ва и суммы по счету для перекидки, чтобы не уйти в минус: в момент выбора значений по счету или при проведении?
    – Отчеты:
    1) ОСВ по счету аналогично той что демонстрируется в уроках, только счет и подразделение в параметрах а выводим с группировками по субконто.
    2) Баланс аналогично урокам с возможностью формирования по подразделению
    3) Остатки БУ и УУ.  Сделала через объединение. Думала соединить еще со справочником Номенклатура, но потом решила этого не делать, отчет ведь называется Остатки, т.е. то что реально есть у нас на остатках.
    ВЫБРАТЬ
    Остатки.Номенклатура,
    СУММА(Остатки.КолОстатокУУ) КАК КолОстатокУУ,
    СУММА(Остатки.КолОстатокБУ) КАК КолОстатокБУ
    ИЗ
    (ВЫБРАТЬ
    ОстаткиБУ.Субконто1 КАК Номенклатура,
    0 КАК КолОстатокУУ,
    ОстаткиБУ.КоличествоОстаток КАК КолОстатокБУ
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(, , ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.Номенклатура), ) КАК ОстаткиБУ

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    ОстаткиНоменклатурыОстатки.Номенклатура,
    ОстаткиНоменклатурыОстатки.КоличествоОстаток,
    0
    ИЗ
    РегистрНакопления.ОстаткиНоменклатуры.Остатки(, ) КАК ОстаткиНоменклатурыОстатки) КАК Остатки
    СГРУППИРОВАТЬ ПО
    Остатки.Номенклатура

    • >в момент выбора значений по счету или при проведении?
      При необходимости контроля его нужно делать обязательно при проведении. В противном случае возможны коллизии.
      Иногда делают 2 проверки: при выборе значения и контрольную при проведении. Но в данном задании этого не требуется.

  20. Admin_Net_1C 27.12.2010 в 19:53

    Домашнее задание №12 выполнено.
    1) Добавлен забалансовый счет 002 «Ответхранение» АП, субконто Номенклатура, Контрагенты.
    2) В документ «ПоступлениеТоваров» добавлен реквизит «ВидОперации» (тип Перчисление.ВидыОпераций). Если ВидОперации = Прием на хранение, то формируются проводки Дт 002 <Аналитика> <Количество> <Сумма>.
    3) В документ «Реализация» добавлен реквизит «ВидОперации» (тип Перчисление.ВидыОпераций). Если ВидОперации = Возврат с ответхранения, то формируются проводки Кт 002 <Аналитика> <Количество> <Сумма>, Дт 62 <Аналитика> Кт 90.01 <Сумма>. Получение остатков товаров по контрагенту и получение себестоимости возвращаемых товаров выполняется в одном запросе к ТЧ документа с левым соединением к ВТ «Остатки» регистра бухгалтерии.
    4) Для учета каждой хозяйственной операции в разрезе подразделений в регистр бухгалтерии добавлено измерение «Подразделение» (тип СправочникСсылка.Подразделения). Во все документы добавлен реквизит шапки «Подразделение». В модуле набора записей регистра бухгалтерии в методе ПередЗаписью к каждой добавляется выбранное в документе подразделение.
    5) Создан документ «Авизо». В модуле формы документа при выборе КорСчета определяется количество субконто у выбранного счета при помощи функции общего модуля:
    Функция ПолучитьТипСубконто(Счет, НомерСубконто) Экспорт
     
    Если Счет.ВидыСубконто.Количество()>=НомерСубконто Тогда
    Возврат Счет.ВидыСубконто[НомерСубконто-1].ВидСубконто.ТипЗначения;  // Субконто1 имеет индекс 0
    Иначе
    Возврат Неопределено;
    КонецЕсли;
     
    КонецФункции
     
    После этого реквизитам Субконто1 и Субконто2 назначается соответствующий тип субконто:
    &НаКлиенте
    Процедура КорСчетПриИзменении(Элемент)
     
    Попытка
    ТипСубк = ОбщийМодульСервер.ПолучитьТипСубконто(Объект.КорСчет, 1);
    Исключение
    Возврат;
    КонецПопытки;
     
    Если НЕ ТипСубк = Неопределено Тогда
    Элементы.Субконто1.ОграничениеТипа = ТипСубк;
    Иначе
    Объект.Субконто1 = Неопределено;
    КонецЕсли;
     
    Попытка
    ТипСубк = ОбщийМодульСервер.ПолучитьТипСубконто(Объект.КорСчет, 2);
    Исключение
    Возврат;
    КонецПопытки;
     
    Если НЕ ТипСубк = Неопределено Тогда
    Элементы.Субконто2.ОграничениеТипа = ТипСубк;
    Иначе
    Объект.Субконто2 = Неопределено;
    КонецЕсли;
     
    КонецПроцедуры
     
    При проведении документа формируются соответствующие проводки по предопределенному счету 79 «Внутрихозяйственные расчеты» и выбранному на форме документа КорСчету.
    6) Созданы отчеты «ОСВ по счету», «Баланс» и «Остатки БУ и УУ». Отчет «Остатки БУ и УУ» сформирован с помощью запроса, объединяющего два запроса к виртуальным таблицам «Остатки» регистра накопления и регистра бухгалтерии.
     
    Ответы на вопросы:
    1) Новый материал по организации бухгалтерского учета на основе специального вида регистра бухгалтерии по сравнению с платформой 7.7. Организация сторнирования данных регистров, в том числе и регистров сведений.
    2) Наибольшие затруднения до сих испытываю при работе с запросами и организации работы с формами на стороне клиента, но материалы курса и Интернет помогают их преодолевать :).
    3) У регистра бухгалтерии есть такое свойство как «Признаки учета субконто», в рамках материала данного блока не совсем понял для чего они нужны и как могут быть использованы. Хотелось бы уточнить данный вопрос.

    • > У регистра бухгалтерии есть такое свойство как «Признаки учета субконто», в рамках материала данного блока не совсем понял для чего они нужны и как могут быть использованы.
      Эти признаки мы рассматриваем в продвинутом.
      Смысл состоит в том, что можно по разрезам аналитики отключать какие-либо виды учета. Аналогично признакам учета счетов.

  21. Задание доделал. Действительно, после установление платформы 8.2.13.202  проблемы со связью по типу для субконто исчезли. Больше затруднений не возникало.
    1. Новое – это понимание о физической стуктруре хранения информации регистра бухгалтерии.
    2. Наибольшее затрудения и интерес вызвала тема “Стороно” (разработка универсального механизма) .
    3. СКД применительно к БУ (например, поле “Р0ль” в наборе данных и т.д.) и специфические приемы работы с формами для реализации БУ.

  22. Вячеслав Вязигин 27.12.2010 в 09:28

    Задание выполнено. Затруднений не возникло.
    Обратная связь:
    1. Некоторая информация в видео помеченное * была новой, и в целом просмотр видео упорядочивает все, что знал и что узнал нового. Уже после просмотра и не разберешься, что же я узнал нового :)
    2. Серьезных затруднений нет. Мелочь решается через СП и повторный просмотр видео.
    3. Тут вопросов нет, все равно МГ толком смотреть не успеваю :)
    Огромный минус третьего блока – это невозможность просмотра видео плейлистом
    и невозможность изменения скорости воспроизведения видеопотока. При просмотре на обычной скорости, я минут через 10 начинаю засыпать, это очень неудобно :)
    Вопросец по околотеме:
    Пару лет назад я проходил дистанционно в УЦ-3 “Внедрение и адаптация БП”, замечательный курс. Планируете ли вы делать нечто подобное для УТ11 и БП3?
    ПС: И почему то нет решений ДЗ по третьему блоку. Не успеваете? Или скрытый смысл, чтоб курсанты сами трудились?

    • >Огромный минус третьего блока – это невозможность просмотра видео плейлистом
      Этот момент, думаю решим до нового года.
      >невозможность изменения скорости воспроизведения видеопотока
      Об этой проблеме мы знаем. Какая скорость вам требуется? По статистике чаще всего используют х1.5.
      > Планируете ли вы делать нечто подобное для УТ11 и БП3?
      В перспективе планируем. Вообще планов достаточно много, а вот о сроках реализации пока говорить не готовы.
      >И почему то нет решений ДЗ по третьему блоку.
      Будут. Надеюсь скоро :)

      • Вячеслав Вязигин 27.12.2010 в 11:07

        >Какая скорость вам требуется?
        именно 1.5, это рабочая скорость :) бывает, что темы не вызывающие вопросов совсем докручивал до 2х

  23. Сделал, не получилось сделать следующее: в документе “Авизо” хотел что-бы после указания коррсчета автоматом ограничивалось количество полей и вводилось ограничение на тип значения коррсубконто1(2). Как-бы в задании об этом не написано, но хотелось-бы… банально не понимаю даже  скакой стороны подступиться…
    И ещё делать начал до прочтения главы 8, получилось не универсально, получилось вот так:
    Если ВидРеализации = Перечисления.ВидПоступления.ПриемНаХранение Тогда
    Если БУ Тогда
    Движения.РегистрБух.Очистить();
    Движения.РегистрБух.Записывать=Истина;

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

    Запрос.УстановитьПараметр(“Счет”, ПланыСчетов.ПланБух.ТМЦПринятыеНаХранение);
    Запрос.УстановитьПараметр(“Контрагент”, Контрагент);
    Запрос.УстановитьПараметр(“Ссылка”, ЭтотОбъект.Ссылка);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Если ВыборкаДетальныеЗаписи.Количество<ВыборкаДетальныеЗаписи.КоличествоР Тогда
    Сообщить(“У этого контрагента на хранении номенклатуры “+ВыборкаДетальныеЗаписи.Номенклатура+” только “+ВыборкаДетальныеЗаписи.Количество+ ” из требуемых “+ВыборкаДетальныеЗаписи.КоличествоР+” единиц…”);
    Отказ=Истина;
    КонецЕсли;    
    // Возврат
    Проводка = Движения.РегистрБух.Добавить();        
    Проводка.Период=Дата;
    Проводка.СчетКт = ПланыСчетов.ПланБух.ТМЦПринятыеНаХранение;
    Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДетальныеЗаписи.Номенклатура;
    Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагент] = Контрагент;
    Проводка.КоличествоКт = ВыборкаДетальныеЗаписи.КоличествоР;
    Проводка.Сумма = ВыборкаДетальныеЗаписи.СтоимостьР;
    // Выручка
    Проводка = Движения.РегистрБух.Добавить();        
    Проводка.Период=Дата;
    Проводка.СчетДт = ПланыСчетов.ПланБух.Покупатели;
    Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Контрагент] = Контрагент;        
    Проводка.СчетКт = ПланыСчетов.ПланБух.Выручка;
    Проводка.Сумма = ВыборкаДетальныеЗаписи.СтоимостьР-(ВыборкаДетальныеЗаписи.КоличествоР*ВыборкаДетальныеЗаписи.Сумма/ВыборкаДетальныеЗаписи.КоличествоР);
    КонецЦикла;

    КонецЕсли;    
    КонецЕсли;
    Хотелось-бы услышать мнение про такой вариант (что неуниверсально понял сам)…
     
    По итогам блока:
    1.Для меня 8.* внове, так что для меня такой подход к плану счетов и проводкам сам по себе уже почти 100% новый материал.
    2.Что-то плохо идёт СКД и видимо провал по запросам, ну кроме повторных просмотров/разборов образцового решения ДЗ пока вариантов нет…
    3.Имхо, набор частей блока достаточно хорошо сбалансирован, ну может не хватает главы про  настройки и работу под МСФО, но это оченьспециализированная тема и мало кого заинтересует. А так больше предложений нет…
     
    Дополнительные вопросы (не только по этому блоку):
    1.Давно подмывает спросить: при инсталяции 1С, “сервер хранилища 1C” – это что?
    2.Есть-ли какие-то инструменты, что-бы добраться и напрямую что-то отредактировать в таблицах 1С для файлового варианта 1С?
    3.Есть-ли какие-то подсказчики оптимизатору запросов в файловой 1С? В случае с базой на сервере СУБД наверное это стандартные подсказчики этих СУБД (Оракл, ДБ2,….)?
    4.План выполнения запроса можно где-то увидеть?
    5.Если слетела нумерация документа какого-то вида(справочника) это как-то можно “подлечить”?
    6.В 1с7.7 разница при “объектном” (Рег=СоздатьОбъект(“Регистр.Взаиморасчеты”);….. НачСальдо=Рег.Сумма;)  получении данных из регистра остатков и при получении их в запросе часто отличается на порядок(запрос быстрее)! В 1С8.2 тоже такая-же разница во времени выполнения?
    7.Когда в конструкторе запросов в столбце “База данных” раскрываю виртуальную таблицу “Обороты” – вижу в ней и регистратор и т.д., но когда переношу её в колонку “Таблицы” – реквизитов у неё становится значительно меньше (что уменьшает возможности по формированию выборки данных). Для чего так сделано?

    • >в документе «Авизо» хотел что-бы после указания коррсчета автоматом ограничивалось количество полей и вводилось ограничение на тип значения коррсубконто1(2).
      Для этого нужно использовать связи параметров выбора. Настраивайте их на уровне свойств реквизитов документа.

      • тоже пробовал, из всех попыток наилучшая настройка такая:
        тип рексизита – справочник.ссылка (ведь у нас все субконто – эл. справочников)
        связи параметров выбора – коррсчет (реквизит табличной части документа типа поансчетов.ссылка)
        связь по типу – табличная часть.коррсчет
         
        недостаток: если у счета нет субконто – программа сначало предлагает выбрать справочник из списка а потом значение…
        как-бы не совсем правильно но лучше так и не смог ничего придумать…

        • Тип данных для субконто нужно указывать Характеристика.ВидыСубконто.
          Ведь в качестве субконто могут выступать и документы, и перечисления, и другие типы данных.

          Что касается обработки ситуации, когда у счета нет субконто (или их количество меньше максимально допустимого).
          То здесь нужно настраивать доступность ячейки таблицы формы. Делается это через условное оформление формы.
          Можете попробовать жестко прописать. Если счет = 50, то доступность у такого-то поля = Ложь.
          Есть и универсальный способ, постараюсь его представить в решении.

          • спасибо, про условное форматирование формы не сообразил!

    • По приведенной реализации ответ. хранения мне не нравится запрос.
      1. Все условия нужно накладывать внутри виртуальной таблицы.
      В вашем случае это условия на субконто1 и субконто2.
      2. Вместо декартова произведения лучше сделать левое внешнее соединение по полю номенклатура.
      В вашем случае, если товара нет на остатке, то он и не попадет в результат запроса, это неправильно.

    • Ответы на доп. вопросы.
      1. Есть в системе механизм хранилища конфигураций, который помогает вести групповую разработку одной конфигурации.
      Сервер хранилища – это возможность создания хранилища, опубликованного на веб-сервере.
      То есть появляется возможность подключаться к хранилищу удаленным разработчикам по tcp/ip.
      2. Ручное редактирование данных и в файловой и в клиент-серверной базе – нарушение лицензионного соглашения.
      Поэтому официальных средств нет.
      Обычно надобности в ручном редактировании нет. Если база “сломалась”, то фирма 1С сама может помочь ее “починить”.
      3. В файловой версии об оптимизации вообще говорить не приходится. Этот режим не предназначен для большого количества пользователей.
      Поэтому принцип разработки должен быть следующий – писать код нужно таким образом, чтобы он был оптимален для клиент-сервеного варианта.
      В основном это касается запросов. О разных видах оптимизации мы говорим в продвинутом.
      4. Да можно увидеть. Например, в SQL Managment Studio. Но для этого сначала нужно получить текст исполняемого запроса. Например, с помощью технологического журнала (тема продвинутого курса).
      Далее исполняем запрос и анализируем его план.
      5. Перенумеровать “сбившиеся” документы. Конечно есть радикальный способ – сделать полную перенумерацию. Но такое не всегда возможно, особенно в случае документов.
      Вообще варианты восстановления могут быть различными, в зависимости от причины сбоя. Приведите конкретный пример.
      6. Нет, в 8 разница в другом. Например, если обратиться к объектному методу Остатки и виртуальной таблицы Остатки в запросе, то мы получим схожие результаты.
      Но запрос, это более универсальное средство. В нем можно использовать множество таблиц, различным образом преобразовывать выходной результат. Поэтому рекомендуется для любого чтения использовать именно их.
      7. Для того, чтобы появились дополнительные поля нужно настроить параметр виртуальной таблицы “Периодичность”. В нем можно указать и регистратор и различные периоды.
      А если указать “Авто”, то вообще будут доступны для выбора все периоды.

      • спасибо за ответы

      • про нумерацию – имхо самая “типовая” причина слёта – ручное изменение номера документа пользователем. С таким случаем наверное каждый сталкивался…

        • Тогда нужно перенумеровать все “сбойные” документы.
          Как вариант – пользователь указывает неверные документы (или система их сама определяет по некоторому алгоритму).
          И указывает последний документ с верным номером.
          Далее происходит циклический процесс замены номера.

          Здесь важно понимать, что универсального алгоритма не разработать. Ведь система не может знать, какой именно номер нужно считать неверным.

  24. Задание в процессе выполнения, но возникли вопросы (8.2.11.236)
    Для документа “Авизо” сделал таб.часть “АвизоТабЧасть” с реквизитами “Счет”, ” Субконто1″ и “Субконто2”. Для реквзитов “Субконто1” и “Субконто2” сделал связь по типу с “ТабЧастьАвизо.Счет” и установил “элемент связи по типу” 1 и 2 для каждого соответственно. Данный стандартный механизм работает замечательно, только если количество субконто на счете равно 0 или 2 (напр. выбираем счет 41.01 и легко можем выбрать товары как в “Субконто1” , так и в “Субконто2”).
    Сделал следующее: в обработчике события ПриИзменении для счета решил принудительно устанавливать доступность для реквизитов формы:
    Процедура ТабЧастьАвизоСчетПриИзменении(Элемент)
    КоличествоСубконто=СерверКоличествоСубконто(Элементы.ТабЧастьАвизо.ТекущиеДанные.Счет);
    Элементы.ТабЧастьАвизоСубконто1.Доступность=КоличествоСубконто>0;
    Элементы.ТабЧастьАвизоСубконто2.Доступность=КоличествоСубконто>1;
    КонецПроцедуры

    При попытке выбрать счет приложение закрывается с ошибкой.

    Второй вариант. Для “Субконто2” в обработчике НачалоВыбора:
    КоличествоСубконто=СерверКоличествоСубконто(Элементы.ТабЧастьАвизо.ТекущиеДанные.Счет);
    СтандартнаяОбработка=КоличествоСубконто>1;

    Теперь, например, если выбрать счет 41.01 начать выбор в  поле “Субконто2” нельзя, но можно легко ввести по строке значение какого-нубудь товара.
    Эта ошибка платформы, особенность стандартного поведения или я что-то делаю неправильно?

    • Проблем в коде не вижу.
      Единственное, хотелось быть знать с какой директивой объявлен метод СерверКоличествоСубконто. Если это внеконтекстный серверный метод, то все ок.

      У вас используется достаточно старый релиз платформы, рекомендую обновиться на последний. Что-то похожее, уже исправляли.

  25. А я только с больницы выписался, во мне теперь догонять 0_0

  26. Задание выполнено.
    В документы gоступления и реализации товаров добавил реквизит ВидОперации (тип – соответстующие перечисления). Создал забалансовый количественный счет 002.
    Ему определил 2 субконто – товары, контрагенты. При проведении документа поступления для ВидаОперации=ПриемНаХранение создал процедуру,
    формирующую проводку по счету Дт 002.При проведении документа реализация для ВидаОперации=ВозвратСХранения вызывается общая функция
    СписаниеСтоимости(),где контролируется списание остатков и делается движение по регистру.К тексту запроса добавляется условие Субконто2 = &Контрагент.
    Для проводки добавил проверку:
    Если Счет = ОтветХранение Тогда Проводка.СубконтоКт[Контрагенты] = Ссылка.Контрагент Иначе Проводка.СчетДт = Себестоимость.
    Если СписаниеСтоимости возвращает не Отказ, тогда в регистр пишется проводка с выручкой со значением номенклатуры “Ответственное хранение”.
    Во все документы добавил реквизит, а в регистр бухгалтерии – балансовое измерение Подразделение с типом ссылки на соответствующий справочник.
    В модуле НЗ бух.регистра заполняется значение измерения через Отбор.Регистратор.Значение.подразделение.
    Создал новый вид субконто – подразделения и добавил его к новому счету 79. Создал документ Авизо. В нем определил реквизиты:
    Подразделение(отправитель), Получатель,Счет, УУ,БУ,ВидСубконто1,ВидСубконто2(ПВХ.ВидыСубконто) и  табличную часть ТЧ с Субконто1,Субконто2 (СправочникСсылка), Количество, Сумма.

    Событие формы при изменении счета управляет видимостью элементов формы:
    Колво = ВидыСубконто.количество();
    Для каждого Эл Из ВидыСубконто Цикл
    Массив.Добавить(Эл.ВидСубконто);
    КонецЦикла;
    Элементы.ТЧКоличество.Видимость = Объект.Счет.Количественный;
    Элементы.ТЧСумма.Видимость = Истина;
    Пока Элементы.Найти(“ТЧСубконто”+Строка(Счетчик))<>Неопределено Цикл
    Элементы[“ТЧСубконто”+Строка(Счетчик)].Видимость = Счетчик <= Колво;
    Если Счетчик<=Колво Тогда
    Элементы[“ТЧСубконто”+Строка(Счетчик)].ОграничениеТипа = Массив[Счетчик-1].ТипЗначения;
    Элементы[“ТЧСубконто”+Строка(Счетчик)].ВыбиратьТип =Ложь;
    Объект[“ВидСубконто”+Строка(Счетчик)] = Массив[Счетчик-1];//не отображаются на форме
    КонецЕсли;
    Счетчик = Счетчик+1;
    КонецЦикла
    При проведении делается запрос в ВТ регистра Остатки на наличие требуемого количества с параметрами &Подразделение, Счет в иерархии(&Счет).
    Если все хорошо, в цикле по ТЧ формируются по 2 проводки:
    Проводка1.Подразделение = Подразделение;
    Проводка2.Подразделение = Получатель;
    Если (Счет.Вид=ВидСчета.Активный) ИЛИ (Счет.Вид=ВидСчета.АктивноПассивный И Строка.Сумма>0) тогда
    СчетДебет = ОбособленныеПодразделения;
    СчетКредит = Счет;
    Проводка1.СубконтоДт[Подразделения] = Получатель;
    Проводка2.СубконтоКт[Подразделения] = Подразделение;
    Иначе
    СчетДебет = Счет;
    СчетКредит = ОбособленныеПодразделения;
    Проводка1.СубконтоКт[Подразделения] = Получатель;
    Проводка2.СубконтоДт[Подразделения] = Подразделение;
    КонецЕсли;
    Проводка1.СчетДт = СчетДебет; Проводка1.СчетКт = СчетКредит;
    Проводка2.СчетДт = СчетКредит; Проводка2.СчетКт = СчетДебет.
    Далее подсоединяется аналитика, если она есть.

    Отчеты ОСВ и Баланс сделал по видеоурокам, разве что Счет убрал из запроса и выставил его в Отборе вместе с подразделением с видом сравнения Вгруппе.
    Отчет ОстаткиБУиУУ вывожу запросом по ВТ остатков РБ и РН с полным соединением. Номенклатура выводится в одной колонке по условию
    ВЫБОР КОГДА ОстаткиНоменклатурыОстатки.Номенклатура ЕСТЬ NULL
    ТОГДА РБОстатки.Субконто1 ИНАЧЕ ОстаткиНоменклатурыОстатки.Номенклатура
    КОНЕЦ КАК Номенклатура.
    Запрос возвращает товары и наборы.

    Обратная связь:
    1.Узнал много нового – о взаимосвязи ПВХ,планов счетов и регистров, о виртуальных таблицах РБ и его отличиях от РН.
    2.Наверное, сложным для понимания оказалось сторнирование проводок в регистре сведений.
    3.Хотелось бы больше получить информации по схеме компоновки данных.

    P.S. Не очень радует просмотр с CD, т.к. иногда файлы не запускаются и приходится их перезапускать + нет возможности плейлиста.
    Кстати, Вы не рассматривали вариант поставки с ключом аппаратной защиты?

    • Рассматриваем вариант поставки с ключом программной защиты.
      Это избавит от необходимости смотреть файлы с CD-RX.
      Напишите на саппорт о проблемах с просмотром и при первой возможности выдадим вам версию с привязкой к железу.

  27. Обратная связь.
    1.  Что нового я узнал в текущем  блоке или в чем поменялись взгляды после изучения
    материала?
     

    Назначение и особенности использования порядка счета в плане счетов.
    Структура физически таблиц БД для хранения данных бухгалтерского учета.
    Нестандартный синтаксис оператора Выбор.
    Автоматическая установка соединений таблиц в запросах.
    Особенности использования параметра Субконто в виртуальных таблицах.

     
    2. В какой теме были наибольшие затруднения, и что помогло их преодолеть?
    Затруднений не возникло.
    3.  Какую тему, имеющую отношение к текущему блоку, вы  бы хотели подробнее раскрыть в мастер-группе?
     

    В главе 5 урок 11 «Хранение итогов по объектам аналитики» не понятна необходимость создания отдельной таблицы итогов для каждого уровня субконто.

    • >не понятна необходимость создания отдельной таблицы итогов для каждого уровня субконто
      Дело в том, что некоторые вида учета по некоторым субконто могут быть отключены.
      Например, на 41 счете аналитика: номенклатура, склад.
      Стоимостной учет по складам не ведется.
      А это означает, что в таблице ИтогиПоСубконто2 не будет значений для ресурса сумма (именно для 41 счета).
      Таким образом, суммой остаток по 41 счету и субконто1 не получить из таблицы ИтогиПоСубконто2.
      Поэтому есть еще одна таблица ИтогиПоСубконто1, где есть требуемые данные.

  28. Добавил новый забалансовый количественный счет 002 для этого потребовалось увеличить максимальное количество субконто до 2 и изменить маску кода с @@.@@ на @@@.@@.
    Добавил два перечисления, первое ВидПоступления, второе ВидРеализации, в документах Поступления и Реализации создал соответствующие реквизиты («Вид операции» с типом данных созданных перечислений), для которых установил свойства «Проверка заполнения» на «Выдавать ошибку» и свойства «Значение заполнения» для документа Поступления в значение «Покупка», а для Реализации – «Продажа».
    Изменил обработку проведения в документе Поступление в зависимости от выбранной операции.
    Для контроля остатков товара принятого на ответственное хранение в процедуре  ОбработкаПроведения документа Реализация модифицировал запрос, который уже был написании при выполнении предыдущего ДЗ. При этом сначала счет 41 который указывался в запросе явно поменял на параметр, который устанавливал в зависимости от вида операции. Потом посмотрев на аналитику счета 002 понял, что контроля только в разрезе товаров как для 41 счета недостаточно и необходимо добавить условие отбора по второму субконтно, поэтому «разорвал» текст запроса и в параметры виртуальной таблицы остатки, если вид операции возврат с хранения вставил условие проверки по второму субконто т.е. по контрагенту.
    Создал справочник Подразделения,  добавил балансовое измерение в регистр бухгалтерии, добавил реквизит Подразделение во все документы, проводимы по бух. учету. Доработал процедуру заполнения документа Акт сверки и запрос по остаткам в ОбработкеПроведения документа Реализация, добавил фильтр по Подразделению. Для заполнения нового измерения при проведении документов использовал обработчик события ПередЗаписью набора регистра бухгалтерии.
    Добавил новый тип значения характеристик в ПВХ ВидыСубконто, создал новый счет 79 с Субконто Подразделения.
    Создал документ Авизо с необходимыми реквизитами, при этом возникла задача управлять доступными типами и видимостью субконто в зависимости от выбранного счета. Эту задачу решил с помощью следующей процедуры (описывать ее очень муторно, поэтому привожу код):
    Процедура ПриВыбореСчета(Счет)
     
    ЧислоАктивныхСубконто = Счет.ВидыСубконто.Количество();
    Для Сч = 1 По ЧислоАктивныхСубконто Цикл
    Элементы[“Субконто” + Сч].Видимость = Истина;
    ТипСубк = Счет.ВидыСубконто[Сч – 1].ВидСубконто.ТипЗначения;
    Элементы[“Субконто” + Сч].ВыбиратьТип = Ложь;
    Элементы[“Субконто” + Сч].ДоступныеТипы = ТипСубк;
    Если ТипСубк.ПривестиЗначение(Объект[“Субконто” + Сч]) <> Объект[“Субконто” + Сч] Тогда
    Объект[“Субконто” + Сч] = ТипСубк.ПривестиЗначение(Объект[“Субконто” + Сч]);
    КонецЕсли;
    Элементы[“Субконто” + Сч].Заголовок = Счет.ВидыСубконто[Сч – 1].ВидСубконто.Наименование;
    КонецЦикла;
    Для Сч = (ЧислоАктивныхСубконто + 1) По 2 Цикл
    Если Не Объект[“Субконто” + Сч] = Неопределено Тогда
    Объект[“Субконто” + Сч]= Неопределено;
    КонецЕсли;
    Элементы[“Субконто” + Сч].Видимость = Ложь;
    КонецЦикла;
    Элементы.Количество.Видимость = Счет.Количественный;
    КонецПроцедуры // ПриВыбореСчета()
     
    При проведении документа Авизо проверяем вид счета и в зависимости от этого формируем нужные проводки. Единственная сложность заключается в том,  как определить имена субконто для указанных в документе, чтобы присвоить их значение в проводке при проведении. Эту сложность решил следующим образом:
    Для Сч = 1 По Счет.ВидыСубконто.Количество() Цикл
    Проводка.СубконтоКт[Счет.ВидыСубконто[Сч-1].ВидСубконто] = Ссылка[“Субконто”+Сч];
    КонецЦикла;
    Отчеты ОСВ и Баланс полностью аналогичны одноименным отчетам из уроков главы 9.
    При создании третьего отчета по остаткам номенклатуры в УУ и БУ использовал полное соединение по полю Номенклатура ВТ «Остатки» регистра накопления и регистра бухгалтерии при этом для включения всех счетов, у которых существует субконто «Номенклатура», устанавливал условие по субконто в параметрах ВТ регистра бухгалтерии, задав его в явном виде с использованием оператора Значение.

  29. Обратная связь
    1. Узнал настройку для порядка счета. Ранее либо не сталкивался, либо не обращал на это внимание. Узнал кое-какие новые фишки по запросам (например, отбор всех счетов по заданному виду субконто,раньше делал “через одно место”). С интересом посмотрел главу 10 (сторнирование), появится время, уделю для более вдумчивого просмотра. В жизни сторнировку редко кто использует, предпочитая исправлять прошлые периоды. Последствия самые разные.
    2. Затруднений не было, но к сожалению видео уроки смотрел по диагонали. Очень не хватает ускоренного просмотра для экономии времени. С видео-плейером, встроенным в защищенные уроки надо что-то делать.
    3. В мастер-группе хотелось бы увидеть, для чего нужны (где лучше использовать и как работать) с развернутыми остатками регистра бухгалтерии. Если есть тема об этом в блоке 3, дайте плз ссылку, значит я как то пропустил этот момент. Если нет, прошу разжевать. :) Т.к. на первый взгляд, можно обойтись без них. Но тогда для чего развернутые остатки нужны? Никогда не использовал их при разработке отчетов, но раз инструмент есть, значит его можно применять…
    И еще вопрос, который время от времени вспоминаю, но забываю задать. Для регистра бухгалтерии получение остатков (если в параметре не использовать границу) также происходит на начало секунды, как и для регистров накопления?

    • >Очень не хватает ускоренного просмотра для экономии времени.
      Почему не хватает. Используйте vlc player, удобно смотреть на 1.5х скорости.
      >для чего нужны (где лучше использовать и как работать) с развернутыми остатками регистра бухгалтерии.
      Это тема продвинутого курса :)
      >для чего нужны (где лучше использовать и как работать) с развернутыми остатками регистра бухгалтерии.
      Да, остатки также получаются на начало переданного периода.

      • >>Почему не хватает. Используйте vlc player, удобно смотреть на 1.5х скорости
        Использовал. Кстати, функция ускоренного воспроизведения есть не только у vlc player, но, например, и у GOM Player (очень удобен в windows 7). Но третий блок (а я имел именно его) защищен, файлы воспроизводятся встроенным плеером. Если можно как то использовать сторонний – научите, как это сделать.
        >>Да, остатки также получаются на начало переданного периода.
        Ответ на мой последний вопрос про начало секунды, верно?

        • >Но третий блок (а я имел именно его) защищен
          Да, к сожалению, возможности ускоренного просмотра нет
          >Ответ на мой последний вопрос про начало секунды, верно?
          Да, начало секунды.

  30. Домашнее задание выполнено.
    Создал предопределенный счет 002 (пришлось расширить маску счета, ранее была @@.@@).
    Счет сделал забалансовым, с количественным признаком учета. Аналитика по субконто номенклатура и контрагенты.
    Создал два перечисления ВидыОперацийПокупка и ВидыОперацияПродажа. Создал реквизит ВидОперации в документах ПоступлениеТоваров и РеализацияТоваров. Изменил проведение с учетом вида операции, добавил проведение по счету 002. При этом, если вид операции “Прием на ответственное хранение”, то движения формируются только по регистру бухгалтерии. Если вид операции “Возврат с отвественного хранения”, то движения формируются по регистру бухгалтерии и регистру накопления Продажи (если в ТЧ документа была указана предопределенная услуга “Плата за услуги хранения”). При списании со счета 002 организовал контроль остатков (если он не отключен в настройках пользователя). Остатки номенклатуры принятой на ответственное хранение проверял с выбранного контрагента.
    Создал справочник подразделений. Создал новый вид субконто ОбособленноеПодразделение. Создал счет 79 с аналитикой по подразделению.
    В регистре бухгалтерии создал балансовое измерение Подразделение, тип – СправочникСсылка.Подразделения. В документах ПоступлениеТоваров, БухОперация, Выписка, РеализацияТоваров добавил реквизит подразделение, сделал его обязательным для заполнения. Изменил обработку проведения. Контроль остатков при списании переделал с учетом подразделения – в запросах наложил фильтр в ВТ регистра бухгалтерии.
    Создал документ Авизо. Реквизиты документа – БУ и ПодразделениеОтправитель. Табличная часть АктивыПассивы с  реквизитами: ПодразделениеПолучатель, Счет, Субконто1, Субконто2, Количество, Сумма. Поработал над юзабилити документа, чтобы виды субконто выбирались в зависимости от счета, а количество заполнялось только если по счету количественный признак учета равен Истина. Кстати, у меня не получилось сделать настройку вида субконто в зависимости от счета интерактивно. Сделал программно таким образом
    <code>
    &НаКлиенте
    Процедура АктивыПассивыСубконто1НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Счет = Элементы.АктивыПассивы.ТекущиеДанные.Счет;
    КоличествоСубконто = Счет.ВидыСубконто.Количество();
    Если КоличествоСубконто > 0 тогда
    Элемент.ОграничениеТипа = Элементы.АктивыПассивы.ТекущиеДанные.Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения;
    Элемент.ВыбиратьТип = Ложь;
    иначе
    СтандартнаяОбработка = ложь;
    КонецЕсли;
    КонецПроцедуры

    &НаКлиенте
    Процедура АктивыПассивыСубконто2НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Счет = Элементы.АктивыПассивы.ТекущиеДанные.Счет;
    КоличествоСубконто = Счет.ВидыСубконто.Количество();
    Если КоличествоСубконто > 1 тогда
    Элемент.ОграничениеТипа = Элементы.АктивыПассивы.ТекущиеДанные.Счет.ВидыСубконто[1].ВидСубконто.ТипЗначения;
    Элемент.ВыбиратьТип = Ложь;
    иначе
    СтандартнаяОбработка = ложь;
    КонецЕсли;
    КонецПроцедуры
    </code>
    По моему не очень оптимальное решение, но голова отказывается работать в воскресенье. :)
    Реализовал проведение документа Авизо по регистру бухгалтерии. Признак Записывать вынес за условие проверки флажка БУ. Вил субконто для счета определял таким образом:
    <code>
    Для сч = 1 по СтрТаблицы.Счет.ВидыСубконто.Количество() Цикл
    Субконто = СтрТаблицы.Счет.ВидыСубконто[сч-1].ВидСубконто;
    Движение.СубконтоКт[Субконто] = СтрТаблицы[“Субконто”+сч];
    КонецЦикла;
    </code>
    Количество присваивал только количественным счетам.
    Отчеты разрабатывал в соответствии с рекомендациями в видео-уроках. Подразделение не стал указывать в качестве параметра в виртуальных таблицах регистра бухгалтерии. Сделал отбор по подразделению в настройках вывода СКД, включив его в пользовательские настройки для быстрого вывода.
    В отчете “ОСВ по счету” использовал самую “тяжелую” виртуальную таблицу регистра бухгалтерии – ОстаткиИОбороты. Конечно можно сделать объединением таблиц остатков и оборотов, но решил пойти по более простому пути. В ВТ  наложил фильтр по счету, используя тег В ИЕРАРХИИ (чтобы отчет формировался по субсчетам в случае, если будет указан счет-группа). Чтобы при формировании не было ошибки, когда счет не указан, отметил флажком параметр Счет (в этом вижу неустойчивость решения, а как правильно?).
    Отчет “Баланс” сделал по аналогии с видео-уроком из главы 11.
    В отчете “Остатки по БУ и УУ” запрос строил объединением подзапросов к таблицам остатков накопления и регистру бухгалтерии. В параметрах виртуальной таблицы остатков регистра бухгалтерии указал условие для Субконто (определил параметр с видом субконто “Номенклатура”).

    • >в этом вижу неустойчивость решения, а как правильно?
      Есть возможность указывать необязательные параметры. Покажу в решении.