8.х Как выбрать информацию из регистра

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

  1. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Будьте добры Подскажите как возможно найти первый документ,
    приведший к появлению кредитового остатка на счете по
    контрагентам с адресами из ХозрасчетныйОстаткиИОбороты
    БлагодарюВас
  2. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Не могли бы вы более конкретно описать вопрос. Желательно с примером, а то не совсем понятно, что имеется в виду....
  3. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Есть возможность выбрать первый документ ,приведший к появлению кредитового
    остатка на счете таким образом:
    ВЫБРАТЬ ПЕРВЫЕ 1
    ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор
    ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаН, &ДатаК, Регистратор, ,
    Счет=&Счет, ,) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт>0
    УПОРЯДОЧИТЬ ПО
    Регистратор

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

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Я так понимаю, что это может быть первый документ определенного вида - например Поступление товаров или еще какой, тогда надо добавить условие в ГДЕ:
    "И (НЕ ВЫРАЗИТЬ(ВзаиморасчетыСКонтрагентами.Регистратор КАК Документ.ПоступлениеТоваровУслуг) ЕСТЬ NULL)"

    А еще вариант - если нужен первый документ по определенному контрагенту то нужно условие на субконто задать! Это в конструкторе запросов лучше сделать.
  5. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Дело в том,что необходимо найти самый первый документ любого вида
    по каждому контрагенту и при этом вид документа показать.
    Счет конкретный и документ формирует кредитовый остаток на определенный период.
    Контрагент выбирается из СубКонто1 из РегистраБухгалтерии.Хозрасчетный ОстаткиИОбороты
    но ему нужно подцепить адрес.
    Не знаю, доходчиво ли я смогла объяснить и возможно ли это сделать
    Благодарю Вас
  6. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Если надо первый документ сразу по каждому контрагенту (таблицу такую первых документов), то запрос по-другому строить надо, если для выбранного контрагента, то поставить условие на Субконто1.

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

    Чтобы подцепить адрес надо сделать левое соединение с регистром сведений Контактная информация.

    Сам запрос я с ходу не напишу под вашу задачу, многое зависит от конфигурации и доработок, соответственно запрос придется писать вам.

    чтобы сделать левое соединение - надо добавить в запрос еще одлну таблицу и настроить связи прямо в конструкторе :)
  7. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Не получается у меня сразу правильно выразиться
    Запрос сформирован контрагенты с кредитовым остатком по заданному счету за определенный
    период выбраны из РегистраБухгалтериии вот у этих выбранных контрагентов надо найти первый
    документ ,который приводит к образованию кредитового остатка

    //ВЫБРАТЬ ПЕРВЫЕ 1
    //ХозрасчетныйОстаткиИОбороты.Регистратор КАК Регистратор,

    ВЫБРАТЬ
    ХозрасчетныйОстаткиИобороты.СубКонто1 КАК СубКонто1,
    СУММА(ХозрасчетныйОстаткиИобороты.СуммаКонечныйОстатокКт
    ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаН, &ДатаК, ПЕРИОД, ,
    Счет=&Счет, ,) КАК ХозрасчетныйОстаткиИОбороты
    ГДЕ ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт>0
    УПОРЯДОЧИТЬ ПО
    //Регистратор
    СубКонто1
    Очень благодарна Вам
  8. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    А вы делаете собственный отчет какой-то или для каких целей.

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

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

    Основной в таком случае похож на этот, но без регистратора, а вложенный как раз должен отбирать первые регистраторы, но привязать к субконто у меня пока не получилось.
  9. TopicStarter Overlay
    OIT
    Offline

    OIT Опытный в 1С

    Регистрация:
    7 май 2007
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Да мне понятна ваша идея
    Надо немного будет поработать
    Благодарю Вас

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