Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   А в каком нибудь регистре сидят безусловно приходные цены (http://forums.kuban.ru/f1040/v_kakom_nibud-_registre_sidyat_bezuslovno_prihodnye_ceny-2687491.html)

med 05.06.2012 10:12

А в каком нибудь регистре сидят безусловно приходные цены
 
УПП
Читаю форум , интеренет, и никак не найду однозначного утверждения
есть ли в каком регистре однозначно приходные цены
Везде что то типа
"В этом регистре хранится информация о зарегистрированных ценах контрагентов. Цены контрагентов регистрируются с помощью документа «Установка цен номенклатуры контрагентов».

Цены поставщиков могут быть также зарегистрированы при поступлении товаров от поставщика с помощью документа «Поступление товаров и услуг».

Цены могут быть зарегистрированы с периодичностью - день.
"
Т.е. это цены надо специально отдельно регистрировать ?
А если их не регистрировали, то их там и нет ?
Задача получить средние приходные цены за период
Я пока их однозначно получаю через

"ВЫБРАТЬ
| ПоступлениеТоваровУслуг.Дата,
| ПоступлениеТоваровУслуг.Проведен,
| ПоступлениеТоваровУслуг.СуммаВключаетНДС КАК СуммВклНДС,
| ПоступлениеТоваровУслуг.Товары.(
| Номенклатура КАК Тов,
| Количество КАК Кол,
| Цена,
| Сумма КАК Сум_ма,
| СуммаНДС КАК СумНДС
| )
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
|ГДЕ
| ПоступлениеТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2
| И ПоступлениеТоваровУслуг.Проведен = ИСТИНА";


А хотелось бы через регистры...

Lexusss 05.06.2012 10:25

Закупки

med 05.06.2012 11:33

1-Lexusss > Спасибо всё шикарно
а вот какое бы еще условие задать вот в этот запрос
ВЫБРАТЬ
Закупки.Номенклатура КАК Номенклатура,
Закупки.Количество,
Закупки.Стоимость,
Закупки.Стоимость / Закупки.Количество КАК Поле1
ИЗ
РегистрНакопления.Закупки КАК Закупки
ГДЕ
Закупки.Период МЕЖДУ &Дата1 И &Дата2
И Закупки.Номенклатура = &Номенклатура

СГРУППИРОВАТЬ ПО
Закупки.Номенклатура,
Закупки.Количество,
Закупки.Стоимость

УПОРЯДОЧИТЬ ПО
Номенклатура

Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ?

Lexusss 05.06.2012 12:44

О боже!!! Кто Вас учил писАть такие запросы в 8ке??? Убейте его, пожалуйста, веником!
Используй виртуальную таблицу Обороты с отборами, и да пребудет с тобой СИЛА!

lalex23 05.06.2012 22:34

расстрелять

Чучундер 06.06.2012 00:42

(3) чувствуется 7-ый подход.. я бы, не знаю 8-кит тоже написал бы что-то подобное...

med 06.06.2012 06:31

3-Lexusss > а можно поподробнее ? Т.е. вообще не из этого регистра, или не так ?
5-Чучундер > Честно говоря в семерке запросами практически вообще не пользовался - сильно не предсказуемый результат :-), так что запросы вплотную начал изучать по видеокурсам Чистов, Митичкин, книга Радченко "Практическое пособие для 8.2"

Vacony 06.06.2012 09:35

3-Lexusss > я далек от запросов 8ки, но даже в книге такие примеры приводятся. Напишите как на Ваш взгляд было бы правильно или гламурно

Lexusss 06.06.2012 09:45

(6)
ВЫБРАТЬ
Номенклатура,
Количество,
Стоимость,
ВЫБОР
КОГДА Количество = 0 ТОГДА 0
ИНАЧЕ Стоимость / Количество
КОНЕЦ КАК Цена
ИЗ
РегистрНакопления.Закупки.Обороты(&Дата1, &Дата2,, Номенклатура = &Номенклатура)
Внимая книге, узри смысл, а не комбинацию из 3х пальцев, мой юный подаван!

(7) Подобные книги - сжечь!!! Скажи как называется эта книга с таким примером? Весь тираж изымем, автора предадим анафеме.
Вместо использования вирт таблицы с готовыми агрегатами, окунаться напрямую в таблицу движений - это волчий билет в 8ке. Я таких разработчиков с собеседования гоню поганой метлой.

Самарочка 06.06.2012 10:43

>окунаться напрямую в таблицу движений - это волчий билет в 8ке.
Эх! Твои бы слова - да в уши разработчиков РАУЗ! Там на этом все завязано. Причем даже без контроля активности записей :(

VZ 06.06.2012 10:59

Хмм... Виртуальная таблица - это хорошо, но неужто ничего не сжалось внутри при написании в (2) [em]Стоимость / Количество[/em] ?

med 06.06.2012 11:16

10-VZ > Сжалось конечно, в оригинале вовращаю отдельно стоимость отдельно количество, так как потом приходится выгружать в таблицу и сворачивать по номенклатуре и там уже вычислять среднюю цену прихода, и там проверка уже стоит.
[quote=Lexusss;25406130]Вместо использования вирт таблицы с готовыми агрегатами,[/quote]
А где в твоем запросе виртуальная таблица ?

VZ 06.06.2012 11:21

11-med > РегистрНакопления.Закупки.Обороты

Климов Сергей 06.06.2012 11:23

2(11) [em]А где в твоем запросе виртуальная таблица ? [/em]
РегистрНакопления.Закупки.[b]Обороты[/b]
Внимательнее!

med 06.06.2012 11:25

13-Климов Сергей >12-VZ > А где бы почитать, почему и в чем использование виртуальных таблиц предпочтительнее ?

med 06.06.2012 11:26

[quote=Lexusss;25391711]Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ? [/quote]
Кстати, а вот на этот вопрос никто не подсказал...

VZ 06.06.2012 11:46

14-med > "Выртуальная таблица" - это тот же самый регистр, только открытый по соответствующему набору индексов. При включении ВТ в запрос сразу ставится фильтр по параметрам, и запрос имеет дело с гораздо меньшим количеством записей. Следовательно, быстрее перебор.
В рассматриваемом случае запрос имеет дело с виртуальной таблицей, в которой остались только записи с нужной номенклатурой и датой в заданном диапазоне.
Без использования ВТ запрос будет шарить по всему регистру, терпеливо отбирая нужные записи.
При коротком регистре разница будет незаметна, при не коротким в [b]данном[/b] запросе - несущественна, но если этот регистр будет вызываться в [b]соединении[/b].... Тогда [b]очень[/b] будет существенно.
А чтоб не думать каждый раз, просто заимей привычку использовать ВТ всега ;)

Климов Сергей 06.06.2012 11:48

2(14) [url]http://www.v8.1c.ru/metod/books/[/url]

VZ 06.06.2012 11:53

[quote=med;25408392] Цитата: Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ? Кстати, а вот на этот вопрос никто не подсказал... [/quote]
И что бы будешь делать с этой строкой? Для задействовать расшифровку парсить, чтобы выцерапать из нее отдельно наименование (а по нему искать ссылку)?
А+В сделать легко и просто... Попробуй из результата выцарапить А или Б. Часто эта задача сродни обратному процессу воссоздания исходных компонентов из яишницы.
Не пытался, не?

med 06.06.2012 12:17

18-VZ > просто всё это для решения задачки
[url]http://forums.kuban.ru/f1040/%D0%9A%D0%B0%D0%BA_%D0%B2_%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC_%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%B5_%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B8%D1%82%D1%8C_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-2682405.html[/url]
Я первоначально данные по закупочным ценам получал из документов поступления, но если я смогу получить запрос, в котором будет только одна строчка номенклатура и средня цена, то через полное объединение запросов я получу требуемый отчет и смогу вставить его в СКД.

VZ 06.06.2012 13:23

19-med > И как будешь объединять запросы? Строку из одного с ссылкой на справочник из второго?
По моему, ты перепутал порядок задействования пальцев и головы.

med 06.06.2012 13:26

20-VZ > А в чем проблема ? во всех запросах есть Номенклатура, штатно через NULL и
ОБЪЕДИНИТЬ ВСЕ

VZ 06.06.2012 16:13

21-med > "Номенклатура" может быть представлена в в виде либо ссылки, либо ее представлением. Заявленая "одна строка = номенклатура и средняя цена" - это вообще-то "представление". Только испорченное. Объединять две записи по заведомо уникальному полю (ссылка) - это одно.
Объединять записи по [b]НЕ[/b] уникальной строке (представление) - совсем другое.
Объединять записи по не уникальной строке с необходимому парсингу (надо отчекрыжить предварительно "и средняя цена") - это уже совсем что-то выдающееся по замыслу.
Тем паче, что формируя запрос с выдачей ссылки, представления, двух полей цен - мы имеем очень несложную конкатенацию для получения желательного вида строки отчета. Без гемороя.
Формируя запросы, которые будет выдавать строки, мы гарантировано получим попаболь при объединении результата, которая (попаболь) будет намного мощнее и болезненней, нежели при применении запроса, выдающего ссылки и представления.
Не говоря уж о том, что "объединения" запросов и не нужно: можно все получить в рамках одного запроса.

med 08.06.2012 08:45

[quote=VZ;25414343]Не говоря уж о том, что "объединения" запросов и не нужно: можно все получить в рамках одного запроса. [/quote]
Хм, а можно подробнее, как получить в рамках одного запроса без объединения текщие продажные цены и средние приходные цены за период ? Они же в разных регистрах хранятся.


Текущее время: 08:09. Часовой пояс GMT +3.