0
- 05.06.2012 - 10:12
|
УПП Читаю форум , интеренет, и никак не найду однозначного утверждения есть ли в каком регистре однозначно приходные цены Везде что то типа "В этом регистре хранится информация о зарегистрированных ценах контрагентов. Цены контрагентов регистрируются с помощью документа «Установка цен номенклатуры контрагентов». Цены поставщиков могут быть также зарегистрированы при поступлении товаров от поставщика с помощью документа «Поступление товаров и услуг». Цены могут быть зарегистрированы с периодичностью - день. " Т.е. это цены надо специально отдельно регистрировать ? А если их не регистрировали, то их там и нет ? Задача получить средние приходные цены за период Я пока их однозначно получаю через "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Проведен, | ПоступлениеТоваровУслуг.СуммаВключаетНДС КАК СуммВклНДС, | ПоступлениеТоваровУслуг.Товары.( | Номенклатура КАК Тов, | Количество КАК Кол, | Цена, | Сумма КАК Сум_ма, | СуммаНДС КАК СумНДС | ) |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2 | И ПоступлениеТоваровУслуг.Проведен = ИСТИНА"; А хотелось бы через регистры... | | |
1
- 05.06.2012 - 10:25
| Закупки | | |
2
- 05.06.2012 - 11:33
|
1-Lexusss > Спасибо всё шикарно а вот какое бы еще условие задать вот в этот запрос ВЫБРАТЬ Закупки.Номенклатура КАК Номенклатура, Закупки.Количество, Закупки.Стоимость, Закупки.Стоимость / Закупки.Количество КАК Поле1 ИЗ РегистрНакопления.Закупки КАК Закупки ГДЕ Закупки.Период МЕЖДУ &Дата1 И &Дата2 И Закупки.Номенклатура = &Номенклатура СГРУППИРОВАТЬ ПО Закупки.Номенклатура, Закупки.Количество, Закупки.Стоимость УПОРЯДОЧИТЬ ПО Номенклатура Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ? | | |
3
- 05.06.2012 - 12:44
|
О боже!!! Кто Вас учил писАть такие запросы в 8ке??? Убейте его, пожалуйста, веником! Используй виртуальную таблицу Обороты с отборами, и да пребудет с тобой СИЛА! | | |
4
- 05.06.2012 - 22:34
| расстрелять | | |
5
- 06.06.2012 - 00:42
| (3) чувствуется 7-ый подход.. я бы, не знаю 8-кит тоже написал бы что-то подобное... | | |
6
- 06.06.2012 - 06:31
|
3-Lexusss > а можно поподробнее ? Т.е. вообще не из этого регистра, или не так ? 5-Чучундер > Честно говоря в семерке запросами практически вообще не пользовался - сильно не предсказуемый результат :-), так что запросы вплотную начал изучать по видеокурсам Чистов, Митичкин, книга Радченко "Практическое пособие для 8.2" | | |
7
- 06.06.2012 - 09:35
| 3-Lexusss > я далек от запросов 8ки, но даже в книге такие примеры приводятся. Напишите как на Ваш взгляд было бы правильно или гламурно | | |
8
- 06.06.2012 - 09:45
|
(6) ВЫБРАТЬ Номенклатура, Количество, Стоимость, ВЫБОР КОГДА Количество = 0 ТОГДА 0 ИНАЧЕ Стоимость / Количество КОНЕЦ КАК Цена ИЗ РегистрНакопления.Закупки.Обороты(&Дата1, &Дата2,, Номенклатура = &Номенклатура) Внимая книге, узри смысл, а не комбинацию из 3х пальцев, мой юный подаван! (7) Подобные книги - сжечь!!! Скажи как называется эта книга с таким примером? Весь тираж изымем, автора предадим анафеме. Вместо использования вирт таблицы с готовыми агрегатами, окунаться напрямую в таблицу движений - это волчий билет в 8ке. Я таких разработчиков с собеседования гоню поганой метлой. | | |
9
- 06.06.2012 - 10:43
|
>окунаться напрямую в таблицу движений - это волчий билет в 8ке. Эх! Твои бы слова - да в уши разработчиков РАУЗ! Там на этом все завязано. Причем даже без контроля активности записей :( | | |
10
- 06.06.2012 - 10:59
| Хмм... Виртуальная таблица - это хорошо, но неужто ничего не сжалось внутри при написании в (2) Стоимость / Количество ? | | |
11
- 06.06.2012 - 11:16
|
10-VZ > Сжалось конечно, в оригинале вовращаю отдельно стоимость отдельно количество, так как потом приходится выгружать в таблицу и сворачивать по номенклатуре и там уже вычислять среднюю цену прихода, и там проверка уже стоит. А где в твоем запросе виртуальная таблица ? | | |
12
- 06.06.2012 - 11:21
| 11-med > РегистрНакопления.Закупки.Обороты | | |
13
- 06.06.2012 - 11:23
|
2(11) А где в твоем запросе виртуальная таблица ? РегистрНакопления.Закупки.Обороты Внимательнее! | | |
14
- 06.06.2012 - 11:25
| 13-Климов Сергей >12-VZ > А где бы почитать, почему и в чем использование виртуальных таблиц предпочтительнее ? | | |
15
- 06.06.2012 - 11:26
| Кстати, а вот на этот вопрос никто не подсказал... | | |
16
- 06.06.2012 - 11:46
|
14-med > "Выртуальная таблица" - это тот же самый регистр, только открытый по соответствующему набору индексов. При включении ВТ в запрос сразу ставится фильтр по параметрам, и запрос имеет дело с гораздо меньшим количеством записей. Следовательно, быстрее перебор. В рассматриваемом случае запрос имеет дело с виртуальной таблицей, в которой остались только записи с нужной номенклатурой и датой в заданном диапазоне. Без использования ВТ запрос будет шарить по всему регистру, терпеливо отбирая нужные записи. При коротком регистре разница будет незаметна, при не коротким в данном запросе - несущественна, но если этот регистр будет вызываться в соединении.... Тогда очень будет существенно. А чтоб не думать каждый раз, просто заимей привычку использовать ВТ всега ;) | | |
17
- 06.06.2012 - 11:48
| 2(14) http://www.v8.1c.ru/metod/books/ | | |
18
- 06.06.2012 - 11:53
| Цитата:
А+В сделать легко и просто... Попробуй из результата выцарапить А или Б. Часто эта задача сродни обратному процессу воссоздания исходных компонентов из яишницы. Не пытался, не? | | |
19
- 06.06.2012 - 12:17
|
18-VZ > просто всё это для решения задачки http://forums.kuban.ru/f1040/%D0%9A%...5-2682405.html Я первоначально данные по закупочным ценам получал из документов поступления, но если я смогу получить запрос, в котором будет только одна строчка номенклатура и средня цена, то через полное объединение запросов я получу требуемый отчет и смогу вставить его в СКД. | | |
20
- 06.06.2012 - 13:23
|
19-med > И как будешь объединять запросы? Строку из одного с ссылкой на справочник из второго? По моему, ты перепутал порядок задействования пальцев и головы. | | |
21
- 06.06.2012 - 13:26
|
20-VZ > А в чем проблема ? во всех запросах есть Номенклатура, штатно через NULL и ОБЪЕДИНИТЬ ВСЕ | | |
22
- 06.06.2012 - 16:13
|
21-med > "Номенклатура" может быть представлена в в виде либо ссылки, либо ее представлением. Заявленая "одна строка = номенклатура и средняя цена" - это вообще-то "представление". Только испорченное. Объединять две записи по заведомо уникальному полю (ссылка) - это одно. Объединять записи по НЕ уникальной строке (представление) - совсем другое. Объединять записи по не уникальной строке с необходимому парсингу (надо отчекрыжить предварительно "и средняя цена") - это уже совсем что-то выдающееся по замыслу. Тем паче, что формируя запрос с выдачей ссылки, представления, двух полей цен - мы имеем очень несложную конкатенацию для получения желательного вида строки отчета. Без гемороя. Формируя запросы, которые будет выдавать строки, мы гарантировано получим попаболь при объединении результата, которая (попаболь) будет намного мощнее и болезненней, нежели при применении запроса, выдающего ссылки и представления. Не говоря уж о том, что "объединения" запросов и не нужно: можно все получить в рамках одного запроса. | | |
23
- 08.06.2012 - 08:45
| Хм, а можно подробнее, как получить в рамках одного запроса без объединения текщие продажные цены и средние приходные цены за период ? Они же в разных регистрах хранятся. | |
| Интернет-форум Краснодарского края и Краснодара |