8.х Запрос к регистру бухгалтерии

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем TODD22, 2 июн 2016.

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Здравствуйте.

    Не получается построить запрос к регистру бухгалтерии.
    Вот запрос:
    Код:
    ВЫБРАТЬ
        ХозрасчетныйОстатки.Субконто1,
        ХозрасчетныйОстатки.Субконто2,
        ХозрасчетынйОстатки.Субконто3,
        ХозрасчетныйОстатки.СуммаОстаток
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.Остатки(
                &ДатаОстатков,
                Счет = &СчетУчета,
                &ВидыСубконто,
                Организация = &Организация
                                    И Субконто2 = &ОС) КАК ХозрасчетныйОстатки
    1. Я добавил на счёт "субконто 3" в режиме предприятия. Но почему то вылетает ошибка что поле не найдено. Но субконто есть и заполнено. Что я не так делаю?
    2. Как проверить одним запросом остаток основных средств на счёте? Счёт 001. На нём есть ОС. Количественного учета нет. Только суммовой. Мне нужно проверить все ли ОС которые есть в табличной части документа есть на остатке. Как передать список через оператор В понятно. Но тогда я получу те что есть в списке. И мне нужно будет дополнительно проверять совпадает ли количество с табличной частью документа. Например в документе передаём 3 основных средства. А на остатке 2. Как проверить что одного не хватает? И какого именно..... В запросе.
    3. Зачем в параметры передаётся массив "ВидыСубконто"? Нашёл пример в интернете.
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ВидыСубконто сколько элементов содержит и в какой последовательности?
    Чтобы узнать остаток по тч, выполняй левое соединение с РБ, если остатка совсем нет, то будет Null.
  3. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    В видах субконто 2 элемента.... последовательность не скажу, нет под руками базы. Но я туда и третий добавлял... Всё равно если есть в запросе строка "Субконто3" то выдаёт ошибку... что нет такого поля.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Видами субконто ты определяешь последовательность и количество субконто в результате/параметрах ВТ.
  5. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Написал вот такой запрос
    Код:
    ВЫБРАТЬ
        ХозрасчетныйОстатки.Субконто2,
        ХозрасчетныйОстатки.СуммаОстаток
    ПОМЕСТИТЬ ВТ_ОстаткиОС
    ИЗ
        РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет = &СчетУчета, &ВидыСубконто, Организация = &Организация) КАК ХозрасчетныйОстатки
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        АрендаОС_ТДОборудование.ОсновноеСредство
    ИЗ
        Документ.АрендаОС_ТД.Оборудование КАК АрендаОС_ТДОборудование
    ГДЕ
        АрендаОС_ТДОборудование.Ссылка = &Ссылка
        И НЕ АрендаОС_ТДОборудование.ОсновноеСредство В
                    (ВЫБРАТЬ
                        ВТ_ОстаткиОС.Субконто2
                    ИЗ
                        ВТ_ОстаткиОС КАК ВТ_ОстаткиОС)
    Всё вроде замечательно работает. Как передать в первый пакет необязательный параметр виртуальной таблицы? В СКД есть фигурные скобки. А как в запросе сделать?
    Есть вариант через СтрЗаменить изменить или через вставку в строку переменной. Но тогда не будет конструктор работать. А есть ещё варианты?
  6. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Какой параметр не обязательный?
  7. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Нужно делать дополнительно отбор по договору. Текст запроса тот же. Только в первом случае он выполняется как есть, а во втором с дополнительным отбором по договору.
    Сделал через вставку переменной в текст запроса. Вроде работает.

    Возник такой вопрос если я в типовой в регистр бухгалтерии добавлю свой регистратор(документ) при обновлении он затираться не будет?
    То есть каждый раз специально следить за тем что бы он не затёрся надо?
  8. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Надо, если будет изменение типового РБ.
    Сделай отбор по регистратору через условие "выбор когда..."
  9. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    В УПП вроде же давно уже РБ не меняется?
    Мне в УПП надо добавить. И надо что бы доп документ формировал проводки по РБ. Бух хочет через ОСВ всё видеть. Да и вообще по правилам надо на забалансовых вести. Но функционала в "операции" не хватает. Нужны проверки и тд. В БП хорошо есть механизм "Типовые операции". А в УПП нет.
    Сделать отбор где? Не понял....
  10. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Сам регистр меняется редко, не только в УПП, но могут так же добавить какой-нить новый документ.

    Отбор в запросе по договору имелось в виду, а не по регистратору.
  11. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Я так сделал:
    Код:
    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет = &СчетУчета, &ВидыСубконто,"+ Договор +" Организация = &Организация) КАК ХозрасчетныйОстатки
    Ну и в "договор" передаю строку.
  12. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Да я понял, но это говнокод. Сделай через "выбор когда...."
  13. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    А есть пример как через Выбор когда?
  14. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    А в каком случае нужен отбор по договору?
  15. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    У меня две операции у документа "Передача в аренду" и "Возврат из аренды" вот в случае возврата мне надо контролировать передавалось ли возвращаемое ОС в аренду по договору по которому вернуть.
  16. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Тогда как-то так:

    выбор когда регистратор.ВидОперацииАрендыОС = Значение(ЧемуТамОноУТебяРавно) тогда субконто2 = &Договор иначе Истина Конец и Организация = &Организация
  17. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Я бы этого не делал.

    Делай операцией.

    Если функционала Операции не хватает - создай свой служебный документ, который при проведении будет формировать автоматически документ Операция с нужными проводками.
  18. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Уже сделал.
    Свой служебный то же проблема....
    Ну и почему бы не делал? В чём проблема?
    Если обновлением снесут регистратор то в принципе достаточно указать что новый документ регистратор и перепровести.
  19. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    1. Ты можешь проанализировать все отчеты (ну благо бухалтерских там немного ОСВ, да Анализ счета грубо говоря), а также все регламентированные отчеты - чтобы узнать будут ли подтягиваться туда в том числе данные заведенные твоим регистратором (т.е. грубо говоря что нигде не стоит ГДЕ Регистратор ССЫЛКА какой-то документ)?
    2. Т.е. гипотетически ты допускаешь что могут похерить регистратор в регистре бухгалтерии, а то что могут при обновлении похерить твой новый документ - нет?
  20. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Каким образом могут "похерить" мой документ обновлением?
    Вадим выше писал что если есть какие то изменения в РБ или в него добавят новый регистратор то может похерится. Но опять же не сам документ а только его движения. Так как у меня "забаланс" то в принципе если такое случится добавляем его опять регистратором и перепроводим.
    Вообще не понял... А при чём тут мой документ? Он на забалансе делает движения. При чём тут отборы по "каким то документам"?

Поделиться этой страницей