1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Вопрос по составлению запроса 1С

Тема в разделе "Программирование", создана пользователем Devillio, 19.05.06.

Статус темы:
Закрыта.
  1. Devillio

    Devillio Активный участник

    1.198
    2
    Можете помочь? Нужен кое-какой отчет, на форме лежат две таблицы значений с определенным перечнем складов. Мне нужна выборка по всем позициям номенклатуры и количеством, сколько "прошло" по одному и второму перечню складов товара.
    Типа так:
    Перечень складов 1:
    Склад 1
    Склад 2

    Перечень складов 2:
    Склад 3
    Склад 4
    Склад 5

    И результат запроса такой:
    Товар Прошло по первому перечню Прошло по второму перечню

    P.S. сам программирую на sql, delphi, вроде просто, но запросы русскими буквами... это перебор :fignya:
     
  2. Mix

    Mix Активный участник

    7.768
    0
    Телепатов в студию нужно. Или ты попробуй объяснить получше.
    Что есть, что нужно. Из чего какую информацию выбираем, и какие итоги, группировки нужны?
    ЗЫ: Из таблиц значений выбирать запросом - гиблое дело. А уж из формы и подавно.
     
  3. Mix

    Mix Активный участник

    7.768
    0
    Фух, при повторном прочтении стало понятней. Конфа? ТиС 9.2?
     
  4. Devillio

    Devillio Активный участник

    1.198
    2
    Задача такая. Составить "индекс брака" для товара. ТиС. Есть справочник товара. На форме есть таблица значений с розничными складами и складами брака. (вообще то это в справочнике, но при запуске формы - гружу в таблицы значений).
    Вооот. Выбираю период и хочу перебрать все позиции номенклатуры и выяснить, сколько прошло по розничным складам, сколько по браку (например, приходы), поделить одно на второе и получить тем самым процент брака. вот задача.
     
  5. buffoon

    buffoon Активный участник

    6.367
    0
    Devillio,
    конфу скажи - так проще будет
     
  6. Mix

    Mix Активный участник

    7.768
    0
    Хм. Постановка своеобразная. Вообще то правильней сделать вид списания. И по нему анализировать причины выбытия товара.
    Опять же зачем таблицы значений? У вас что? пользователь может убрать добавить склады в эти списки?
    Ну в общем так.
    Товар=Регистр.ОстаткиТМЦ.Номенклатура;
    Склад=Регистр.ОстаткиТМЦ.Склад;
    Колво=Регистр.ОстаткиТМЦ.Количество;
    КолвоПриход=Приход(Колво) когда (Склад в сзСкладыНормальные);
    КолвоБрак=Приход(Колво) когда (Склад в сзСкладыБрака);
    Группировка Товар;

    Звиняюсь если перепутал по синтаксису, Эски под рукой нет.
    Вообще когда спрашиваешь - неплохо бы конфигурацию используемую оглашать.
     
  7. Mix

    Mix Активный участник

    7.768
    0
    Кстати работать такая конструкция будет довольно таки медленно.
     
  8. buffoon

    buffoon Активный участник

    6.367
    0
    лучшы 2мя запросами...
    и ставить Условие(Склад в сзСкладов)

    а вообще - это гадание на кофейной гуще.. желательно узнать конфу или структуру хранения откуда брать данные
     
  9. Mix

    Mix Активный участник

    7.768
    0
    Лушче не двумя запросами. Лушче по значению реквизита у склада. Но нам его идентификатор не озвучили.
     
  10. buffoon

    buffoon Активный участник

    6.367
    0
    это при условии что он есть и отбор действительно по нему
     
  11. buffoon

    buffoon Активный участник

    6.367
    0
    но похоже автор свалил и мы сами телепатируем ;)
     
  12. Devillio

    Devillio Активный участник

    1.198
    2
    :d мужыки, я не свалил! (выходные никто ж не отменял)
    Итак, 1С ТиС, редакция 8. (версия движка 7.7)

    Если надо ввести реквизит для складов, что типа это "брачный склад", я введу :).
    щас попробую предложение Mix.

    спасибо :)

    кстати, там действительно у фирмы 3 филиала, они все в терминале 1С, и там получается 3 склада брака (или даже 4), так что я решил ввести справочник - "склады расхода" - "склады брака". И из них при загрузке формы отчета в невидимые таблицы значений грузятся списки.
     
  13. buffoon

    buffoon Активный участник

    6.367
    0
    [off]ужоснах[/off]
     
  14. buffoon

    buffoon Активный участник

    6.367
    0
    мож лучше реквизит добавить в справочник МХ?
     
  15. Devillio

    Devillio Активный участник

    1.198
    2
    стопудово, но клиент - всегда прав :d

    блин, забацал запрос, но че то он пустой :(. хотел выложить - одна кряквазябла вставляется. как сюда русский текст из 1с скопировать?
     
  16. Devillio

    Devillio Активный участник

    1.198
    2
    а как тогда изменится запрос? если не секрет? :glasses:
     
  17. buffoon

    buffoon Активный участник

    6.367
    0
    при копировании и вставке текста раскладку языка переключи в русский
     
  18. Devillio

    Devillio Активный участник

    1.198
    2
    Запрос=СоздатьОбъект("Запрос");

    Если КонДата>=ПолучитьДатуТА() Тогда
    ДатаКонца=ПолучитьДатуТА();
    Иначе
    ДатаКонца=КонДата;
    КонецЕсли;

    ТекстЗапроса =
    "ПЕРИОД С НачДата По ДатаКонца;
    |Товар=Регистр.ОстаткиТоваров.Товар;
    |Склад=Регистр.ОстаткиТоваров.Склад;
    |Колво=Регистр.ОстаткиТоваров.ОстатокТовара;
    |Функция КолвоПриход=Приход(Колво) когда (Склад в ВходСклады);
    |Функция КолвоБрак=Приход(Колво) когда (Склад в ВыходСклады);
    |Группировка Товар;";

    Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
    Возврат;
    КонецЕсли;

    Пока Запрос.Группировка("Товар") = 1 Цикл
    Сообщить(Запрос.Товар + " " + Запрос.КолвоПриход + " " + Запрос.КолвоБрак);
    КонецЦикла;
     
  19. Devillio

    Devillio Активный участник

    1.198
    2
    воооот. так вот че то ниче не сообщается :(
     
  20. buffoon

    buffoon Активный участник

    6.367
    0
    это что такое??
     
  21. Devillio

    Devillio Активный участник

    1.198
    2
    buffoon, спасибо.

    тему можно закрыть
     
Статус темы:
Закрыта.