8.х УНФ Помогите с запросом

Тема в разделе ""1С:Управление небольшой фирмой УНФ"", создана пользователем Dr.Digital, 6 фев 2018.

  1. TopicStarter Overlay
    Dr.Digital
    Offline

    Dr.Digital Опытный в 1С

    Регистрация:
    17 авг 2017
    Сообщения:
    55
    Симпатии:
    4
    Баллы:
    29
    Не могу сделать запрос, для параметра расчетов ЗП.
    Нужно в запросе обратиться к значению дополнительного реквизита приходной накладной, не могу сообразить как это сделать, помощи прошу у тех кто знает
  2. Rad&K
    Offline

    Rad&K Профессионал в 1С

    Регистрация:
    3 авг 2015
    Сообщения:
    1.232
    Симпатии:
    100
    Баллы:
    104
    Параметр.. обратиться в запросе к ДР.. как и для чего?
    Вы хотя бы просто по-человечески опишите, что хотите и что у вас сидит в этом ДР приходной. :)
  3. TopicStarter Overlay
    Dr.Digital
    Offline

    Dr.Digital Опытный в 1С

    Регистрация:
    17 авг 2017
    Сообщения:
    55
    Симпатии:
    4
    Баллы:
    29
    Создал дополнительный реквизит в расходной накладной "Аванс работнику", тип булевый, задача в запросе за расчетный период высчитать параметр для расчета зарплаты по этому реквизиту. Т.е. просто вычислить сумму накладных, у которых присутствует отметка "Аванс работнику", по регистру Продажи.

    (Работники собственные просто часто берут под аванс товар в нашем розничном магазине, процедура такая:
    Оформляем перемещение с розницы на основной склад ->выписываем расходную накладную на этого работника -> приход денег в кассу -> зарплатная ведомость на эту сумму под аванс -> расход из кассы. Другого ничего не придумали, как выдать товар под аванс работнику. Но при такой схеме зарплата продавцам на эти авансы естественно не считается, поэтому и создал доп реквизит, для дополнительного расчета зарплаты продавцам)
    Последнее редактирование: 7 фев 2018
  4. pavl_vs
    Offline

    pavl_vs Профессионал в 1С

    Регистрация:
    18 июн 2011
    Сообщения:
    503
    Симпатии:
    42
    Баллы:
    54
    Например, так
    Код:
    ВЫБРАТЬ
    РасходнаяНакладная.Ссылка КАК Ссылка,
    РасходнаяНакладная.Дата КАК Дата,
    РасходнаяНакладная.СуммаДокумента КАК СуммаДокумента
    ИЗ
    Документ.РасходнаяНакладная КАК РасходнаяНакладная
    ГДЕ
    РасходнаяНакладная.ДополнительныеРеквизиты.Значение = &АвансРаботнику
    И РасходнаяНакладная.Дата МЕЖДУ &ДатаНач И &ДатаКон
    
    Назначения и значения параметров думаю понятны.
  5. TopicStarter Overlay
    Dr.Digital
    Offline

    Dr.Digital Опытный в 1С

    Регистрация:
    17 авг 2017
    Сообщения:
    55
    Симпатии:
    4
    Баллы:
    29
    Спасибо, понял. Буду пробовать
  6. TopicStarter Overlay
    Dr.Digital
    Offline

    Dr.Digital Опытный в 1С

    Регистрация:
    17 авг 2017
    Сообщения:
    55
    Симпатии:
    4
    Баллы:
    29
    Сделал через левое соединение:

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(ЕСТЬNULL(Продажи.Сумма * &ВалютаУчетаКурс * &ВалютаДокументаКратность / (&ВалютаДокументаКурс * &ВалютаУчетаКратность), 0)) КАК СуммаПродаж
    ИЗ
    Документ.РасходнаяНакладная.ДополнительныеРеквизиты КАК РасходнаяНакладнаяДополнительныеРеквизиты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
    ПО (РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка = Продажи.Регистратор.Ссылка)
    ГДЕ
    РасходнаяНакладнаяДополнительныеРеквизиты.Свойство.Имя = "АвансИзМагазина"
    И РасходнаяНакладнаяДополнительныеРеквизиты.Значение = ИСТИНА
    И Продажи.Организация = &Организация
    И Продажи.Период МЕЖДУ &НачалоПериода И &КонецПериода

    Проблема вылезла в том что при заполнении нового параметра расчетов, 1С не хочет заполнять вкладку "параметры" параметрами из текста запроса. Победить так и не смог, главное удалить параметр можно, а вот добавить в таблицу никак и сама она автоматически не добавляет :( может я что-то не так делаю?
    Вышел из положения так: Заполнил по шаблону "Сумма продаж по ответственному", а затем поменял текст запроса на свой.
  7. pavl_vs
    Offline

    pavl_vs Профессионал в 1С

    Регистрация:
    18 июн 2011
    Сообщения:
    503
    Симпатии:
    42
    Баллы:
    54
    По-моему, всё то, что здесь написано - это все ради упражнения в использовании соединений в запросе.
    Зачем, обращаясь к одному из регистраторов Регистра продаж - Расходной накладной, цепляете через левое соединение опять же Регистр продаж; какое-то "масло масляное", или как то, что в математике называют тождеством.

    Если уж хочется использоавать Регистр, то надо выбирать продажи из него по конкретному регистратору, так логичнее.

    По ходу Вы как-то изменили задачу, если посмотреть два первых поста;
    написали тьму параметров, которые можно получить просто из накладной.
    И что за новый параметр, который не понравился 1С?

    Если, всё же, я правильно понял начальную задачу, то мой простенький запрос решает Вашу задачу - в нем нужно лишь вычислить сумму по всем найденным накладным.
    Последнее редактирование: 10 фев 2018
    Rad&K нравится это.
  8. TopicStarter Overlay
    Dr.Digital
    Offline

    Dr.Digital Опытный в 1С

    Регистрация:
    17 авг 2017
    Сообщения:
    55
    Симпатии:
    4
    Баллы:
    29
    Согласен с конструктивной критикой, делал по образцу из примера с соседнего форума, с одной стороны логика в соединении есть, ибо дополнительные реквизиты это я как понимаю представлены в расходной накладной как отдельная таблица, тем не менее запрос переделал, так более правильно?

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(ЕСТЬNULL(РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка.СуммаДокумента * &ВалютаУчетаКурс * &ВалютаДокументаКратность / (&ВалютаДокументаКурс * &ВалютаУчетаКратность), 0)) КАК СуммаПродаж
    ИЗ
    Документ.РасходнаяНакладная.ДополнительныеРеквизиты КАК РасходнаяНакладнаяДополнительныеРеквизиты
    ГДЕ
    РасходнаяНакладнаяДополнительныеРеквизиты.Свойство = &АвансИзМагазина
    И РасходнаяНакладнаяДополнительныеРеквизиты.Значение В (ИСТИНА)
    И РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И РасходнаяНакладнаяДополнительныеРеквизиты.Ссылка.Проведен В (ИСТИНА)

    С параметрами так и не разобрался, 1С-ка на вкладку параметры их так и не добавляет, если прописываешь в запросе новый параметр на вкладке параметры он не появляется (
  9. pavl_vs
    Offline

    pavl_vs Профессионал в 1С

    Регистрация:
    18 июн 2011
    Сообщения:
    503
    Симпатии:
    42
    Баллы:
    54
    1. Наверно правильно - не разбирался.

    2. Не получится.

    Во-первых, 1С-ке такой вкладки просто нет (где Вы её нашли?).

    Во-вторых, в консоли Параметры заполняются через анализ открытого Конструктора запросов специальной командой (ВзятьИзЗапроса, ЗаполнитьПараметры и т.п.), или, если хотите, внутренней обработкой. В Конфигураторе 1С-ки таковой нет, да в ней и нет особого смысла, т.к. часто параметры создаются программно как результат выполнения других запросов или, например, конкатенацией строк, состав которых зависит от предваряющих конечный запрос условий.

    Не ломайте голову, лучше направьте усилия на написание оптимальных и прозрачных запросов.
    Последнее редактирование: 14 фев 2018
  10. TopicStarter Overlay
    Dr.Digital
    Offline

    Dr.Digital Опытный в 1С

    Регистрация:
    17 авг 2017
    Сообщения:
    55
    Симпатии:
    4
    Баллы:
    29
    Я имею ввиду вкладку с параметрами, передаваемыми запросу. Если в запросе указать параметр и при этом он не будет присутствовать в этой вкладке, то запрос вываливается с ошибкой, в штатных запросах эта таблица заполнена по умолчанию, по идее если в запросе добавляешь новый параметр, он должен попадать в эту таблицу, но этого не происходит, пробовал и через конструктор запросов и если просто забить его явно в текст запроса. параметры.jpg
  11. Rad&K
    Offline

    Rad&K Профессионал в 1С

    Регистрация:
    3 авг 2015
    Сообщения:
    1.232
    Симпатии:
    100
    Баллы:
    104
    Параметры указанные в редактируемом запросе заполняются сами при повторном нажатии "Редактировать запрос", т.е. по закрытию его редактирования.
    Запрос-запросом, но скажите, а это принципиально, что удержание нужно делать именно из зарплаты? Как и кто тогда контролирует оплату по РН? Установку/снятие этой "галочки" вРН? Как у Вас, вообще, связано ПеремещениеЗапасов и расчёт зарплаты продавцам? :(
    Последнее редактирование: 27 фев 2018
  12. Rad&K
    Offline

    Rad&K Профессионал в 1С

    Регистрация:
    3 авг 2015
    Сообщения:
    1.232
    Симпатии:
    100
    Баллы:
    104
    Посмотрим более шире и отдельно от предыдущего поста:
    1) РН определяет реализацию контрагенту Покупатель. В справочнике контрагентов можно создать группу типа "Собственные" и счёт учёта у таковых установить "Расчеты с разными дебиторами"(76.01) с типом Прочие. Это чтобы не влезало в продажи Покупателям по 60сч.
    Т.о. можно получить в отчётах, что же и на какую сумму вообще отпустили Собственным.
    2) На основании РН можно создать Приход денег(план) с указанием планируемой даты оплаты. Может быть сотрудник со следующей зарплаты хочет расплатиться или, к примеру, по 2-ум РН сейчас, а по другим позже. :)
    Так же появится возможность посмотреть, а не много ли уже Собственные задолжали и не просрАчено ли уже давно?
    3) Сотрудник получил зарплату - будь добр внести в кассу что можешь и получить ПО создаваемый на основании Приход денег(план) по конкретным РН. Не думаю, что хороша ситуация, при которой чел прошлом месяце взял на 10руб, а в этом на 10тыс.р. А з/плата за прошлый...
    4) Опять же, при наличии такой оплаты связанной с РН, в списке РН появится "зелёный кружочек". Сразу видим, что РН оплачена.
    Последнее редактирование: 27 фев 2018

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