Получение остатков (дата прихода)

Тема в разделе "1C и всё что с ней связано", создана пользователем KatyariK, 10 авг 2009.

  1. KatyariK

    KatyariK Гость

    Такая ситуация - есть отчет по получению остатков по складу (с группировкой по счету). Необходимо получить дату прихода номенклатуры по которой есть остатки. Когда поступает номенклатура на склад - ей дается или какая то характеристика или серия (поступления номенклатуры с одинаковой характеристикой или серией - не будет). - Вот и нужно вытянуть эту дату - чтобы посмотреть, вдруг товар лежит уже несколько лет.
    Но из регистра у меня не получается выудить эту дату. Может кто подскажет?

    Вот листинг отчета который как бы уже работает давно, но начальство требует чтобы можно было посмотреть с какого числа был приход - и как долго находится на складе. Отчет сделан через консоль отчетов (1С 8.1)

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

    thinkfast Гость

    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Период КАК Дата.
     
  3. KatyariK

    KatyariK Гость

    Не совсем - я может плохо расписал свою ситуацию (просто опыта мало в этом деле).
    Есть регистр "ПартииТоваровНаСкладахБухгалтерскийУчет", а я получаются делаю выборку по остаткам из виртуальной таблицы остатков "ПартииТоваровНаСкладахБухгалтерскийУчетОстатки" - а здесь поля Период нету.

    Т.е. я смотрю остатки на данную дату которые есть на складе - которых уже нету меня не интересуют.
    Может как то по другому посоветуете?
     
  4. thinkfast

    thinkfast Гость

    Все правильно поля период нету в таблице потому, что оно не выбирается запросом.
    Чтобы оно попало в ТЗ надо указать запросу выбирать дату
    Строка будет похожа на "ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Период КАК Дата".
    А ваша ТЗ "ПартииТоваровНаСкладахБухгалтерскийУчетОстатки" это представление регистра по параметру &Организация.
    А в самом регистре поля "Период" присутствует неявно.

    Вопрос другой, какая дата там будет ) Вставьте строку и глянем что будет )
    Теперь в Выборке будет доступно поле Дата, прописать ее на макете и смотреть что туда попадет)))


    З.Ы. сразу говорю я сам не гуру Запросов
     
  5. KatyariK

    KatyariK Гость

    Пишет что поле период не найдено. Просто период если я правильно понимаю - он есть в реальной таблице "ПартииТоваровНаСкладахБухгалтерскийУчет" - когда есть поступление или уменьшение товара в регистре накопления.
    А тут же сразу идет выборка из виртуальной таблицы остатков - в которой уже посчитаны остатки - а поля "Период" нету - потому что система не поймет к какому периоду ей обращатсья - увеличения или уменьшения остатков.

    Или может таким образом никак не вытянуть данную дату? Может как по другому попробовать?
     
  6. thinkfast

    thinkfast Гость

    Про регистр.остатки мой фейл )) не обратил внимания еще алкоголь в крови с выходных )))

    По-другому писать свой. Этот вам выберет все позиции, где есть отстаток, а ваш запрос найдет в регистре.приход дату поступления, или сделать вложенный запрос, если хотите получать все в одной таблице)
    но тогда надо убирать ПРЕДСТАВЛЕНИЕ() ибо оно все преобразует в строку.
     
  7. KatyariK

    KatyariK Гость

    Спасибо, сейчас попробую, должно получиться наверно.
     
  8. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Период задается в параметрах виртуальной таблицы.
     
  9. KatyariK

    KatyariK Гость

    тут не период - а именно дата прихода номенклатуры у которой еще есть остатки.
     
  10. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А что за конфа?
    Предположу, что есть измерение "Партия" типа "Документ", и вам нужно взять "РегистрТакойТо.Партия.Дата".
    Не так?
     
  11. KatyariK

    KatyariK Гость

    Конфигурация УПП. А про "измерения - есть измерения "ДокументОприходования" типа "ДокументСсылка.xxxxx" (но там много составной тип - т.е. много документов).. но если просматривать регистр накопления "ПартииТоваровНаСкладахБухгалтерскийУчет" - то там пустая строка - счелкнул по которой мы переходим на "ДокументСсылка.xxxxx".

    Может через это как нибудь?
     
  12. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Много непонятно.
    Почему нельзя использовать ДокументОприходования.Дата?
    Измерение-то заполняется?
     
  13. KatyariK

    KatyariK Гость

    когда просматриваю сам регистр накопления - то ячейка как бы пустая в измерении ДокументОприходования, когда пытаюсь вытянуть эту дату - ничего не выводит - я пробовал - но увы :ph34r: почему не знаю.
     
  14. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Если и в визуальном просмотре регистра там пусто, тогда хреново - значит косяк в проведении документа. Единственно как тогда тебе вытаскивать это через регистратор.дата (дай-ты бог чтобы там не справочник был), и например КоличествоПриход >0 (но не в таблице остатков, а в оборотах) и соединять с остатками. плюс отсечь другие виды документов (типа возврат, ввод начальных остатков, где вроде нету поставщика).
     
  15. KatyariK

    KatyariK Гость

    Всем спасибо огромное за советы. У меня получилось вытянуть дату :) Спасибо за идею puh14 - просто не приходило в голову сделать через остатки.
    Вот что у меня получилось в итоге:

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

    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СчетУчета,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Организация,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Склад,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ДокументОприходования,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ХарактеристикаНоменклатуры,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СерияНоменклатуры,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.КоличествоОборот,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.КоличествоПриход,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.КоличествоРасход,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СтоимостьОборот,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СтоимостьПриход,
    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СтоимостьРасход
    ИТОГИ
    СУММА(КоличествоОборот),
    СУММА(СтоимостьОборот)
    ПО
    Организация,
    Склад,
    СчетУчета[/codebox]

    В принципе отчет работает довольно быстро - но может у кого есть какие советы по оптимизации - буду весьма благодарен.
     
  16. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Так что же у вас с проведением?)
     
  17. KatyariK

    KatyariK Гость

    Измерение ДокументОприходования - при просмотре самого регистра накопления пустая графа. Но сейчас посмотрев внимательнее - данное измерение заполняется только для одного склада ... Почему оно так записывает - сказать пока не могу - нужно смотреть, но начинать программировать с УПП ... в которой все запутано - сложновато - я то может и найду - но не так быстро.
     
  18. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Можно использовать ОстаткиИОбороты - тогда равенство на приход/расход нафиг не надо, расход тоже не нужен - чисто отбор по КоличествоПриход>0, видам документов, и группировка по Регистратор.Дата.

    а остатки вытягивать как в первом листинге.
     
  19. KatyariK

    KatyariK Гость

    Ну в принципе да - работает и так, проверил, только еще нужно добавлять ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоКонечныйОстаток > 0 - без него не будет работать.
    Спасибо.

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

    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СчетУчета,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Организация,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ХарактеристикаНоменклатур
    ы,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СерияНоменклатуры,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоКонечныйОстаток
    ,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьКонечныйОстаток
    ИТОГИ
    СУММА(КоличествоКонечныйОстаток),
    СУММА(СтоимостьКонечныйОстаток)
    ПО
    Склад[/codebox]
     
Загрузка...

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