8.х регистры накопления остатки и обороты

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

  1. TopicStarter Overlay
    Lesly
    Offline

    Lesly

    Регистрация:
    14 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Всем здравствуйте! Подскажите, пожалуйста, как осуществить отбор по определенному регистратору в Регистрах накопления Остатки и Обороты?
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Смотри синтаксис-помощник: РегистрНакопленияМенеджер

    Код:
    Движения = РегистрыНакопления.Продажи.ВыбратьПоРегистратору(Ссылка);
    
    
    
  3. TopicStarter Overlay
    Lesly
    Offline

    Lesly

    Регистрация:
    14 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое, но у меня весь отчет построен на регистреНакопленияОстаткиИОбороты и сейчас необходимо, чтобы запрос к данного регистра по одному из оборотов выбирал данные только одного регистратора, а не весь приход. Уже 4 дня бьюсь, но ничего не могу придумать :unsure:
  4. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    запрос в студию!
  5. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Периодичность поставь Регистратор
  6. TopicStarter Overlay
    Lesly
    Offline

    Lesly

    Регистрация:
    14 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    спасибо всем, я сделала через вложенный запрос
  7. TopicStarter Overlay
    Lesly
    Offline

    Lesly

    Регистрация:
    14 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Упс... Количество приходя теперь идет, зато сбиваются другие цифры, а вернее увеличивается количество начального остатка в n (КОЛИЧЕСТВО ДОКУМЕНТОВ ПОСТУПЛЕНИЯ) раз. Чушь какая-то. Вот оригинал запроса. Нужно сделать так, чтобы количество прихода считалось только по документам одного вида.
    Код:
    "ВЫБРАТЬ
    |	ТоварыОрганизацийОстаткиИОбороты.Номенклатура.Артикул,
    |	ТоварыОрганизацийОстаткиИОбороты.Номенклатура,
    |	СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток) КАК НачальныйОстаток,
    |	СРЕДНЕЕ(ЗакупкиВНачалеПериода.Цена) КАК ЦенаЗакупкиВНачалеПериода,
    |	СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) КАК СтоитостьВНачалеПериода,
    |	СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоПриход) КАК Приход,
    |	ВЫБОР
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) = 0
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена)
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) ЕСТЬ NULL
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена)
    |		ИНАЧЕ СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот)
    |	КОНЕЦ КАК ЦенаЗакупкиЗаПериод1,
    |	ВЫБОР
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) = 0
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоПриход)
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоПриход) ЕСТЬ NULL
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоПриход)
    |		ИНАЧЕ СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоПриход)
    |	КОНЕЦ КАК СтоимотьПрихода,
    |	СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоРасход) КАК Расход,
    |	ВЫБОР
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) = 0
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена)
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) ЕСТЬ NULL
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена)
    |		ИНАЧЕ СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот)
    |	КОНЕЦ КАК ЦенаЗакупкиЗаПериод2,
    |	ВЫБОР
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) = 0
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоРасход)
    |		КОГДА СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоРасход) ЕСТЬ NULL
    |			ТОГДА СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоРасход)
    |		ИНАЧЕ СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена - ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток * ЗакупкиВНачалеПериода.Цена) / СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоОборот) * СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоРасход)
    |	КОНЕЦ КАК СтоимотьРасхода,
    |	СРЕДНЕЕ(ПродажиЗаПериод.Цена) КАК ЦенаПрожажиЗаПериод,
    |	СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КонечныйОстаток,
    |	СРЕДНЕЕ(ЗакупкиВКонцеПериода.Цена) КАК ЦенаЗакупкиВКонцеПериода,
    |	СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоКонечныйОстаток * ЗакупкиВКонцеПериода.Цена) КАК СтоитостьВКонцеПериода
    |ИЗ
    |	РегистрНакопления.ТоварыОрганизаций.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , ) КАК ТоварыОрганизацийОстаткиИОбороты
    |		ЛЕВОЕ СОЕДИНЕНИЕ 
    |		(ВЫБРАТЬ Номенклатура, СРЕДНЕЕ(Цена) КАК Цена ИЗ 
    |			(ВЫБРАТЬ
    |				Номенклатура КАК Номенклатура,
    |				СРЕДНЕЕ(ВЫБОР
    |					КОГДА КоличествоОборот = 0
    |						ТОГДА 0
    |						ИНАЧЕ СтоимостьОборот / КоличествоОборот
    |					КОНЕЦ) КАК Цена
    |			ИЗ
    |				РегистрНакопления.Закупки.Обороты(НАЧАЛОПЕРИОДА(&ДатаНач, ГОД), &ДатаКон, , ) КАК ЗакупкиОбороты
    |			СГРУППИРОВАТЬ ПО
    |				Номенклатура
    |			ОБЪЕДИНИТЬ ВСЕ
    |			ВЫБРАТЬ ПересортТовары.НоменклатураНовая КАК Номенклатура,
    |           		СРЕДНЕЕ(ПересортТовары.ЦенаНовая) КАК Цена
    |			ИЗ Документ.Пересорт.Товары КАК ПересортТовары
    |			ГДЕ ПересортТовары.Ссылка.Дата >= НАЧАЛОПЕРИОДА(&ДатаНач, ГОД) И ПересортТовары.Ссылка.Дата <= &ДатаНач
    |			СГРУППИРОВАТЬ ПО
    |				ПересортТовары.НоменклатураНовая
    |				)  КАК ЗакупкиВНачалеПериода 
    |		СГРУППИРОВАТЬ ПО
    |			Номенклатура
    |			) КАК ЗакупкиВНачалеПериода
    |		ПО ТоварыОрганизацийОстаткиИОбороты.Номенклатура = ЗакупкиВНачалеПериода.Номенклатура
    |		ЛЕВОЕ СОЕДИНЕНИЕ 
    |		(ВЫБРАТЬ Номенклатура, СРЕДНЕЕ(Цена) КАК Цена ИЗ 
    |			(ВЫБРАТЬ
    |				Номенклатура КАК Номенклатура,
    |				СРЕДНЕЕ(ВЫБОР
    |					КОГДА КоличествоОборот = 0
    |						ТОГДА 0
    |						ИНАЧЕ СтоимостьОборот / КоличествоОборот
    |					КОНЕЦ) КАК Цена
    |			ИЗ
    |				РегистрНакопления.Закупки.Обороты(НАЧАЛОПЕРИОДА(&ДатаНач, ГОД), &ДатаКон, , ) КАК ЗакупкиОбороты
    |			СГРУППИРОВАТЬ ПО
    |				Номенклатура
    |			ОБЪЕДИНИТЬ ВСЕ
    |			ВЫБРАТЬ ПересортТовары.НоменклатураНовая КАК Номенклатура,
    |           		СРЕДНЕЕ(ПересортТовары.ЦенаНовая) КАК Цена
    |			ИЗ Документ.Пересорт.Товары КАК ПересортТовары
    |			ГДЕ ПересортТовары.Ссылка.Дата >= НАЧАЛОПЕРИОДА(&ДатаНач, ГОД) И ПересортТовары.Ссылка.Дата <= &ДатаКон
    |			СГРУППИРОВАТЬ ПО
    |				ПересортТовары.НоменклатураНовая
    |				)  КАК ЗакупкиВКонцеПериода 
    |		СГРУППИРОВАТЬ ПО
    |			Номенклатура
    |			) КАК ЗакупкиВКонцеПериода
    |		ПО ТоварыОрганизацийОстаткиИОбороты.Номенклатура = ЗакупкиВКонцеПериода.Номенклатура
    |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |			ПродажиОбороты.Номенклатура КАК Номенклатура,
    |			СРЕДНЕЕ(ВЫБОР
    |					КОГДА ПродажиОбороты.КоличествоОборот = 0
    |						ТОГДА 0
    |					ИНАЧЕ ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот
    |				КОНЕЦ) КАК Цена
    |		ИЗ
    |			РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты
    |		
    |		СГРУППИРОВАТЬ ПО
    |			ПродажиОбороты.Номенклатура) КАК ПродажиЗаПериод
    |		ПО ТоварыОрганизацийОстаткиИОбороты.Номенклатура = ПродажиЗаПериод.Номенклатура
    |
    |СГРУППИРОВАТЬ ПО
    |	ТоварыОрганизацийОстаткиИОбороты.Номенклатура.Артикул,
    |	ТоварыОрганизацийОстаткиИОбороты.Номенклатура
    |ИТОГИ
    |	СУММА(СтоитостьВНачалеПериода),
    |	СУММА(СтоимотьПрихода),
    |	СУММА(СтоимотьРасхода),
    |	СУММА(СтоитостьВКонцеПериода)
    |ПО ОБЩИЕ
    |{ИТОГИ ПО
    |	Номенклатура}
    |";
    
  8. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    Код:
     СУММА(ТоварыОрганизацийОстаткиИОбороты.КоличествоНачальныйОстаток) КАК НачальныйОстаток,
    
    Зачем суммировать начальный остатак ?
  9. TopicStarter Overlay
    Lesly
    Offline

    Lesly

    Регистрация:
    14 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Да, косяк. Незачем. Код не мой, но все равно беру на себя - это лишнее. суммировать там нечего
  10. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    А что надо из регистра выбрать?
    С учетом именно ТИПА регистратора а не конкретного документа.
  11. TopicStarter Overlay
    Lesly
    Offline

    Lesly

    Регистрация:
    14 июл 2008
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Из данного запроса требуется выбрать приход только по документу "ПоступлениеТоваровУслуг".
    В регистре по умолчанию в формировании прихода участвуют несколько документов, а нужен всего 1 тип - "ПоступлениеТоваровУслуг".
  12. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    Код:
     
    | ГДЕ
    |	Обороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг 
    

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