Сравнение НУ и БУ основных средств и периодические реквизиты.

Тема в разделе "1C и всё что с ней связано", создана пользователем unknown181538, 27 янв 2011.

  1. unknown181538

    unknown181538 НеГуру
    1C Team

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

    Попробовал сравнивать данные реквизитов на момент ввода начальных остатков:
    ТекстЗапроса = "ВЫБРАТЬ
    |Подзапрос.СрокПолезногоИспользования КАК [СрокПолезногоИспользования $Число],
    |Подзапрос.СрокПолезногоИспользованияН КАК [СрокПолезногоИспользованияН $Число],
    |Подзапрос.ПервоначальнаяСтоимость КАК [ПервоначальнаяСтоимость $Число],
    |Подзапрос.ПервоначальнаяСтоимостьН КАК [ПервоначальнаяСтоимостьН $Число],
    |Подзапрос.ОС КАК [ОС $Справочник.ОсновныеСредства],
    |Подзапрос.DOCID КАК [Документ $Документ.ВводВЭксплуатациюОС],
    |Подзапрос.Дата,
    |ВЫБОР КОГДА (Подзапрос.СрокПолезногоИспользования = Подзапрос.СрокПолезногоИспользованияН)И
    |(Подзапрос.ПервоначальнаяСтоимость = Подзапрос.ПервоначальнаяСтоимостьН)ТОГДА
    |1
    |ИНАЧЕ
    |0
    |КОНЕЦ КАК НетРасхождений
    |
    |ИЗ(
    |ВЫБРАТЬ Константы.OBJID КАК ОС,
    |Максимум(ВЫБОР КОГДА Константы.ID = :ИсторияРеквизита.ОсновныеСредства.СрокПолезногоИспользования ТОГДА
    | Константы.VALUE
    |ИНАЧЕ
    |0
    |КОНЕЦ) КАК СрокПолезногоИспользования,
    |Максимум(ВЫБОР КОГДА Константы.ID = :ИсторияРеквизита.ОсновныеСредства.СрокПолезногоИспользованияН ТОГДА
    | Константы.VALUE
    |ИНАЧЕ
    |0
    |КОНЕЦ) КАК СрокПолезногоИспользованияН,
    |Максимум(ВЫБОР КОГДА Константы.ID = :ИсторияРеквизита.ОсновныеСредства.ПервоначальнаяСтоимость ТОГДА
    | Константы.VALUE
    |ИНАЧЕ
    |0
    |КОНЕЦ) КАК ПервоначальнаяСтоимость,
    |Максимум(ВЫБОР КОГДА Константы.ID = :ИсторияРеквизита.ОсновныеСредства.ПервоначальнаяСтоимостьН ТОГДА
    | Константы.VALUE
    |ИНАЧЕ
    |0
    |КОНЕЦ) КАК ПервоначальнаяСтоимостьН,
    |Максимум(Константы.DOCID) КАК DOCID,
    |Константы.DATE КАК Дата
    |ИЗ Константы КАК Константы
    |ГДЕ
    |((Константы.ID = :ИсторияРеквизита.ОсновныеСредства.СрокПолезногоИспользования)ИЛИ
    |(Константы.ID = :ИсторияРеквизита.ОсновныеСредства.СрокПолезногоИспользованияН)
    |ИЛИ(Константы.ID = :ИсторияРеквизита.ОсновныеСредства.ПервоначальнаяСтоимость)
    |ИЛИ(Константы.ID = :ИсторияРеквизита.ОсновныеСредства.ПервоначальнаяСтоимостьН))
    |СГРУППИРОВАТЬ ОС,Дата)КАК Подзапрос
    |УПОРЯДОЧИТЬ НетРасхождений,Дата";

    получил, что многие данные вводились вручную. Попробовал соединять данные по датам, выяснил, что многое вводилось разными числами одного месяца. Т.е. лучше было бы взять данные из месяца ввода... Но это уже потребует кучи соединений.
    Может есть у кого идеи?
    Дело довольно любопытным мне показалось.
     
Загрузка...

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