А в каком нибудь регистре сидят безусловно приходные цены УПП Читаю форум , интеренет, и никак не найду однозначного утверждения есть ли в каком регистре однозначно приходные цены Везде что то типа "В этом регистре хранится информация о зарегистрированных ценах контрагентов. Цены контрагентов регистрируются с помощью документа «Установка цен номенклатуры контрагентов». Цены поставщиков могут быть также зарегистрированы при поступлении товаров от поставщика с помощью документа «Поступление товаров и услуг». Цены могут быть зарегистрированы с периодичностью - день. " Т.е. это цены надо специально отдельно регистрировать ? А если их не регистрировали, то их там и нет ? Задача получить средние приходные цены за период Я пока их однозначно получаю через "ВЫБРАТЬ | ПоступлениеТоваровУслуг.Дата, | ПоступлениеТоваровУслуг.Проведен, | ПоступлениеТоваровУслуг.СуммаВключаетНДС КАК СуммВклНДС, | ПоступлениеТоваровУслуг.Товары.( | Номенклатура КАК Тов, | Количество КАК Кол, | Цена, | Сумма КАК Сум_ма, | СуммаНДС КАК СумНДС | ) |ИЗ | Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ГДЕ | ПоступлениеТоваровУслуг.Дата МЕЖДУ &Дата1 И &Дата2 | И ПоступлениеТоваровУслуг.Проведен = ИСТИНА"; А хотелось бы через регистры... |
Закупки |
1-Lexusss > Спасибо всё шикарно а вот какое бы еще условие задать вот в этот запрос ВЫБРАТЬ Закупки.Номенклатура КАК Номенклатура, Закупки.Количество, Закупки.Стоимость, Закупки.Стоимость / Закупки.Количество КАК Поле1 ИЗ РегистрНакопления.Закупки КАК Закупки ГДЕ Закупки.Период МЕЖДУ &Дата1 И &Дата2 И Закупки.Номенклатура = &Номенклатура СГРУППИРОВАТЬ ПО Закупки.Номенклатура, Закупки.Количество, Закупки.Стоимость УПОРЯДОЧИТЬ ПО Номенклатура Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ? |
О боже!!! Кто Вас учил писАть такие запросы в 8ке??? Убейте его, пожалуйста, веником! Используй виртуальную таблицу Обороты с отборами, и да пребудет с тобой СИЛА! |
расстрелять |
(3) чувствуется 7-ый подход.. я бы, не знаю 8-кит тоже написал бы что-то подобное... |
3-Lexusss > а можно поподробнее ? Т.е. вообще не из этого регистра, или не так ? 5-Чучундер > Честно говоря в семерке запросами практически вообще не пользовался - сильно не предсказуемый результат :-), так что запросы вплотную начал изучать по видеокурсам Чистов, Митичкин, книга Радченко "Практическое пособие для 8.2" |
3-Lexusss > я далек от запросов 8ки, но даже в книге такие примеры приводятся. Напишите как на Ваш взгляд было бы правильно или гламурно |
(6) ВЫБРАТЬ Номенклатура, Количество, Стоимость, ВЫБОР КОГДА Количество = 0 ТОГДА 0 ИНАЧЕ Стоимость / Количество КОНЕЦ КАК Цена ИЗ РегистрНакопления.Закупки.Обороты(&Дата1, &Дата2,, Номенклатура = &Номенклатура) Внимая книге, узри смысл, а не комбинацию из 3х пальцев, мой юный подаван! (7) Подобные книги - сжечь!!! Скажи как называется эта книга с таким примером? Весь тираж изымем, автора предадим анафеме. Вместо использования вирт таблицы с готовыми агрегатами, окунаться напрямую в таблицу движений - это волчий билет в 8ке. Я таких разработчиков с собеседования гоню поганой метлой. |
>окунаться напрямую в таблицу движений - это волчий билет в 8ке. Эх! Твои бы слова - да в уши разработчиков РАУЗ! Там на этом все завязано. Причем даже без контроля активности записей :( |
Хмм... Виртуальная таблица - это хорошо, но неужто ничего не сжалось внутри при написании в (2) [em]Стоимость / Количество[/em] ? |
10-VZ > Сжалось конечно, в оригинале вовращаю отдельно стоимость отдельно количество, так как потом приходится выгружать в таблицу и сворачивать по номенклатуре и там уже вычислять среднюю цену прихода, и там проверка уже стоит. [quote=Lexusss;25406130]Вместо использования вирт таблицы с готовыми агрегатами,[/quote] А где в твоем запросе виртуальная таблица ? |
11-med > РегистрНакопления.Закупки.Обороты |
2(11) [em]А где в твоем запросе виртуальная таблица ? [/em] РегистрНакопления.Закупки.[b]Обороты[/b] Внимательнее! |
13-Климов Сергей >12-VZ > А где бы почитать, почему и в чем использование виртуальных таблиц предпочтительнее ? |
[quote=Lexusss;25391711]Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ? [/quote] Кстати, а вот на этот вопрос никто не подсказал... |
14-med > "Выртуальная таблица" - это тот же самый регистр, только открытый по соответствующему набору индексов. При включении ВТ в запрос сразу ставится фильтр по параметрам, и запрос имеет дело с гораздо меньшим количеством записей. Следовательно, быстрее перебор. В рассматриваемом случае запрос имеет дело с виртуальной таблицей, в которой остались только записи с нужной номенклатурой и датой в заданном диапазоне. Без использования ВТ запрос будет шарить по всему регистру, терпеливо отбирая нужные записи. При коротком регистре разница будет незаметна, при не коротким в [b]данном[/b] запросе - несущественна, но если этот регистр будет вызываться в [b]соединении[/b].... Тогда [b]очень[/b] будет существенно. А чтоб не думать каждый раз, просто заимей привычку использовать ВТ всега ;) |
2(14) [url]http://www.v8.1c.ru/metod/books/[/url] |
[quote=med;25408392] Цитата: Что бы выдавал ни список из позиции номенклатуры и ее цены , а одну строку = номенклатура и средняя цена ? Кстати, а вот на этот вопрос никто не подсказал... [/quote] И что бы будешь делать с этой строкой? Для задействовать расшифровку парсить, чтобы выцерапать из нее отдельно наименование (а по нему искать ссылку)? А+В сделать легко и просто... Попробуй из результата выцарапить А или Б. Часто эта задача сродни обратному процессу воссоздания исходных компонентов из яишницы. Не пытался, не? |
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] Я первоначально данные по закупочным ценам получал из документов поступления, но если я смогу получить запрос, в котором будет только одна строчка номенклатура и средня цена, то через полное объединение запросов я получу требуемый отчет и смогу вставить его в СКД. |
19-med > И как будешь объединять запросы? Строку из одного с ссылкой на справочник из второго? По моему, ты перепутал порядок задействования пальцев и головы. |
20-VZ > А в чем проблема ? во всех запросах есть Номенклатура, штатно через NULL и ОБЪЕДИНИТЬ ВСЕ |
21-med > "Номенклатура" может быть представлена в в виде либо ссылки, либо ее представлением. Заявленая "одна строка = номенклатура и средняя цена" - это вообще-то "представление". Только испорченное. Объединять две записи по заведомо уникальному полю (ссылка) - это одно. Объединять записи по [b]НЕ[/b] уникальной строке (представление) - совсем другое. Объединять записи по не уникальной строке с необходимому парсингу (надо отчекрыжить предварительно "и средняя цена") - это уже совсем что-то выдающееся по замыслу. Тем паче, что формируя запрос с выдачей ссылки, представления, двух полей цен - мы имеем очень несложную конкатенацию для получения желательного вида строки отчета. Без гемороя. Формируя запросы, которые будет выдавать строки, мы гарантировано получим попаболь при объединении результата, которая (попаболь) будет намного мощнее и болезненней, нежели при применении запроса, выдающего ссылки и представления. Не говоря уж о том, что "объединения" запросов и не нужно: можно все получить в рамках одного запроса. |
[quote=VZ;25414343]Не говоря уж о том, что "объединения" запросов и не нужно: можно все получить в рамках одного запроса. [/quote] Хм, а можно подробнее, как получить в рамках одного запроса без объединения текщие продажные цены и средние приходные цены за период ? Они же в разных регистрах хранятся. |
Текущее время: 08:09. Часовой пояс GMT +3. |