1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем KatyariK, 10 авг 2009.

  1. KatyariK

    KatyariK Гость

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

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

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

    thinkfast Гость

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

    KatyariK Гость

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

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

    thinkfast Гость

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

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


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

    KatyariK Гость

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

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

    thinkfast Гость

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

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

    KatyariK Гость

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

    unknown181538 НеГуру

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

    KatyariK Гость

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

    unknown181538 НеГуру

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

    KatyariK Гость

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

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

    unknown181538 НеГуру

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

    KatyariK Гость

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

    puh14 Well-Known Member

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

    KatyariK Гость

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

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

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

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

    unknown181538 НеГуру

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

    KatyariK Гость

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

    puh14 Well-Known Member

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

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

    KatyariK Гость

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

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

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

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