На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Этот раздел предназначен для заполнения/проверки/рехтования/* содержимого будущего FAQ и не более того.
Все вопросы касательно 1С следует задавать здесь: 1С: Проблемы и решения
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
> Вопросы-ответы№4 , format complete, осталось проверить
    Как объединить данные из двух таблиц по определенному условию?
    ExpandedWrap disabled
      ВЫБРАТЬ
          ВЫБОР
              КОГДА (ЗаказыПокупателейОстатки.Номенклатура) ЕСТЬ NULL ТОГДА ЗаказыПоставщикамОстатки.Номенклатура
              ИНАЧЕ ЗаказыПокупателейОстатки.Номенклатура
          КОНЕЦ КАК Номенклатура,
          ЗаказыПокупателейОстатки.КоличествоОстаток КАК ЗаказаноПокупателями,
          ЗаказыПоставщикамОстатки.КоличествоОстаток КАК ЗаказаноПоставщикам
      ИЗ
          РегистрНакопления.ЗаказыПокупателей.Остатки(&ДатаОтч) КАК ЗаказыПокупателейОстатки
          ПОЛНОЕ СОЕДИНЕНИЕ
              РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаОтч) КАК ЗаказыПоставщикамОстатки
          ПО
              ЗаказыПокупателейОстатки.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
       
      ВЫБРАТЬ
          ВложенныйЗапрос.Номенклатура,
          СУММА(ВложенныйЗапрос.ЗаказаноПокупателями) КАК ЗаказаноПокупателями,
          СУММА(ВложенныйЗапрос.ЗаказаноПоставщикам) КАК ЗаказаноПоставщикам
      ИЗ
          (ВЫБРАТЬ
              ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
              ЗаказыПокупателейОстатки.КоличествоОстаток КАК ЗаказаноПокупателями,
              0 КАК ЗаказаноПоставщикам
          ИЗ
          РегистрНакопления.ЗаказыПокупателей.Остатки(&ДатаОтч, ) КАК ЗаказыПокупателейОстатки
          ОБЪЕДИНИТЬ
       
          ВЫБРАТЬ
              ЗаказыПоставщикамОстатки.Номенклатура,
              0,
              ЗаказыПоставщикамОстатки.КоличествоОстаток
          ИЗ
              РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаОтч, ) КАК ЗаказыПоставщикамОстатки
          ) КАК ВложенныйЗапрос
      СГРУППИРОВАТЬ ПО
          ВложенныйЗапрос.Номенклатура
      Как вывести некоторое значение вместо NULL в запросе?
      ExpandedWrap disabled
        ВЫБРАТЬ
            ЕСТЬNULL(Справочник.Номенклатура.Артикул, "---") КАК Артикул,
            Справочник.Номенклатура.Представление КАК Номенклатура
        Как вместе с данными некоторой таблицы получить общие итоги из этой же таблицы?
        ExpandedWrap disabled
          ВЫБРАТЬ
              ПродажиОбороты.Номенклатура КАК Номенклатура,
              ПродажиОбороты.СуммаОборот КАК СуммаПродаж,
              ПродажиОбороты.СуммаОборот / СовокупныеОбороты.СуммаОборот * 100 КАК ПроцентнаяДоля
          ИЗ
              РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон) КАК ПродажиОбороты
              ВНУТРЕННЕЕ СОЕДИНЕНИЕ
                  РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон) КАК СовокупныеОбороты
              ПО
                  ИСТИНА
          УПОРЯДОЧИТЬ ПО
              ПроцентнаяДоля УБЫВ
          Как получить иерархические итоги по группе справочника?
          ExpandedWrap disabled
            ВЫБРАТЬ
                ТоварыГруппы.Ссылка КАК Номенклатура,
                ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
            ИЗ
                (ВЫБРАТЬ
                   Номенклатура.Ссылка КАК Ссылка
               ИЗ
                   Справочник.Номенклатура КАК Номенклатура
               ГДЕ
                   Номенклатура.Родитель В ИЕРАРХИИ(&Группа) И (Номенклатура.ЭтоГруппа = ЛОЖЬ)
               ) КАК ТоварыГруппы
               ЛЕВОЕ СОЕДИНЕНИЕ
                   РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментПолучения, Номенклатура В ИЕРАРХИИ (&Группа)) КАК ТоварыНаСкладахОстатки
               ПО
                   ТоварыГруппы.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
            ИТОГИ СУММА(КоличествоОстаток) ПО
               Номенклатура ТОЛЬКО ИЕРАРХИЯ
            Как по состоянию на заданную дату по регистру "ОстаткиНаСкладе" найти последний документ "ПоступлениеТоваровУслуг", по которому приходила номенклатура?
            ExpandedWrap disabled
              ВЫБРАТЬ
                  ВложенныйЗапрос.Номенклатура,
                  МАКСИМУМ(ТоварыНаСкладах.Регистратор) КАК Регистратор
              ИЗ
                  (ВЫБРАТЬ
                      ТоварыНаСкладах.Номенклатура КАК Номенклатура,
                      МАКСИМУМ(ТоварыНаСкладах.Период) КАК Период
                  ИЗ
                      РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
                  ГДЕ
                      ТоварыНаСкладах.Период <= &ДатаОтчета И (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг)
                  СГРУППИРОВАТЬ ПО
                      ТоварыНаСкладах.Номенклатура
                  ) КАК ВложенныйЗапрос
                  ВНУТРЕННЕЕ СОЕДИНЕНИЕ
                      РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
                  ПО
                      ВложенныйЗапрос.Номенклатура = ТоварыНаСкладах.Номенклатура И ВложенныйЗапрос.Период = ТоварыНаСкладах.Период
              ГДЕ
                  (ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг)
              СГРУППИРОВАТЬ ПО
                  ВложенныйЗапрос.Номенклатура
              Как подсчитать количество записей с одинаковым значением некоторого поля?
              ExpandedWrap disabled
                ВЫБРАТЬ
                    Контрагенты.ОсновнойМенеджерПокупателя,
                    КОЛИЧЕСТВО(Контрагенты.Ссылка) КАК КоличествоЗакрепленных
                ИЗ
                    Справочник.Контрагенты КАК Контрагенты
                ГДЕ
                    (Контрагенты.ЭтоГруппа = ЛОЖЬ) И (Контрагенты.ОсновнойМенеджерПокупателя <> &НеЗаполненМенеджер)
                СГРУППИРОВАТЬ ПО
                    Контрагенты.ОсновнойМенеджерПокупателя
                УПОРЯДОЧИТЬ ПО
                    КоличествоЗакрепленных УБЫВ
                Как в итоговых записях вывести количество различных записей?
                ExpandedWrap disabled
                  ВЫБРАТЬ
                      Контрагенты.ОсновнойМенеджерПокупателя.Представление КАК ОсновнойМенеджерПокупателя,
                      Контрагенты.Представление,
                      1 КАК КоличествоЗакрепленных
                  ИЗ
                      Справочник.Контрагенты КАК Контрагенты
                  ГДЕ
                      (Контрагенты.ЭтоГруппа = ЛОЖЬ)
                  УПОРЯДОЧИТЬ ПО
                      КоличествоЗакрепленных УБЫВ
                  ИТОГИ КОЛИЧЕСТВО(КоличествоЗакрепленных) ПО
                      ОсновнойМенеджерПокупателя
                  Как узнать количество записей в результате запроса?
                  ExpandedWrap disabled
                    Результат = Запрос.Выполнить();
                    КолЗаписей = Результат.Выбрать().Количество();
                    Как проверить достаточность остатков товаров на складах, указанных в документе?
                    ExpandedWrap disabled
                      ВЫБРАТЬ
                          ВложенныйЗапрос.Номенклатура,
                          ВложенныйЗапрос.Размещение КАК Склад,
                          ВложенныйЗапрос.КоличествоСписываемое,
                          ТоварыНаСкладахОстатки.КоличествоОстаток
                      ИЗ
                          (ВЫБРАТЬ
                              ВнутреннийЗаказТовары.Номенклатура КАК Номенклатура,
                              ВнутреннийЗаказТовары.Размещение КАК Размещение,
                              СУММА(ВнутреннийЗаказТовары.Количество *ВнутреннийЗаказТовары.Коэффициент) КАК КоличествоСписываемое
                          ИЗ
                              Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТовары
                          ГДЕ
                              ВнутреннийЗаказТовары.Ссылка = &Ссылка
                          СГРУППИРОВАТЬ ПО
                              ВнутреннийЗаказТовары.Номенклатура,
                              ВнутреннийЗаказТовары.Размещение
                          ) КАК ВложенныйЗапрос
                          ЛЕВОЕ СОЕДИНЕНИЕ
                              РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментВремениДокумента,
                                      Склад В (ВЫБРАТЬ РАЗЛИЧНЫЕ
                                                     ВЫРАЗИТЬ(ВнутреннийЗаказТоварыДляОтбора.Размещение КАК Справочник.Склады)
                                                     ИЗ
                                                         Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТоварыДляОтбора
                                                     ГДЕ
                                                         ВнутреннийЗаказТоварыДляОтбора.Ссылка = &Ссылка
                                                         И
                                                         НЕ ВЫРАЗИТЬ(ВнутреннийЗаказТоварыДляОтбора.Размещение КАК Справочник.Склады) ЕСТЬ NULL)
                                      И
                                      Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ
                                          ВнутреннийЗаказТоварыДляОтбора.Номенклатура
                                      ИЗ
                                          Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТоварыДляОтбора
                                      ГДЕ
                                          ВнутреннийЗаказТоварыДляОтбора.Ссылка = &Ссылка)) КАК ТоварыНаСкладахОстатки
                          ПО
                              ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И ВложенныйЗапрос.Размещение = ТоварыНаСкладахОстатки.Склад
                      Как в запросе осуществить отбор по значению перечисления?
                      ExpandedWrap disabled
                        Запрос.Текст = "ВЫБРАТЬ
                        |   ВоинскийУчетСрезПоследних.Физлицо
                        |ИЗ
                        |   РегистрСведений.ВоинскийУчет.СрезПоследних(&ДатаОтчета) КАК ВоинскийУчетСрезПоследних
                        |ГДЕ
                        |   ВоинскийУчетСрезПоследних.ОтношениеКВоинскомуУчету = &Состоит"
                         
                        Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета);
                        Запрос.УстановитьПараметр("Состоит", Перечисления.ОтношениеКВоинскомуУчету.Состоит);
                        Как получить курсы валют на две интересующие даты?
                        ExpandedWrap disabled
                          ВЫБРАТЬ
                              ВалютыСрезПоследних.Валюта,
                              ВалютыСрезПоследних.Курс,
                              &ПерваяДата Как Дата
                          ИЗ
                              РегистрСведений.Валюты.СрезПоследних(&ПерваяДата, ) КАК ВалютыСрезПоследних
                          ОБЪЕДИНИТЬ ВСЕ
                           
                          ВЫБРАТЬ
                              ВалютыСрезПоследних.Валюта,
                              ВалютыСрезПоследних.Курс,
                              &ВтораяДата
                          ИЗ
                              РегистрСведений.Валюты.СрезПоследних(&ВтораяДата, ) КАК ВалютыСрезПоследних
                          Как одним запросом получить таблицу расхождений курсов взаиморасчетов всех выписанных документов "ЗаказПокупателя" с официальным курсом?
                          ExpandedWrap disabled
                            ВЫБРАТЬ
                                ВложенныйЗапрос.Ссылка КАК Документ,
                                ВложенныйЗапрос.ДоговорКонтрагентаВалютаВзаиморасчетов КАК ВалютаДоговора,
                                ВложенныйЗапрос.КурсВзаиморасчетов,
                                ВЫБОР
                                    КОГДА КурсыВалют.Курс ЕСТЬ NULL ТОГДА 0
                                    ИНАЧЕ КурсыВалют.Курс
                                КОНЕЦ КАК КурсОфициальный,
                                ВЫБОР
                                    КОГДА КурсыВалют.Курс ЕСТЬ NULL ТОГДА ВложенныйЗапрос.КурсВзаиморасчетов
                                    ИНАЧЕ ВложенныйЗапрос.КурсВзаиморасчетов - КурсыВалют.Курс
                                КОНЕЦ КАК Превышение
                            ИЗ
                                (ВЫБРАТЬ
                                    ЗаказПокупателя.Ссылка КАК Ссылка,
                                    МАКСИМУМ(КурсыВалют.Период) КАК Период,
                                    ЗаказПокупателя.КурсВзаиморасчетов КАК КурсВзаиморасчетов,
                                    ЗаказПокупателя.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ДоговорКонтрагентаВалютаВзаиморасчетов
                                ИЗ
                                    Документ.ЗаказПокупателя КАК ЗаказПокупателя
                                    ЛЕВОЕ СОЕДИНЕНИЕ
                                        РегистрСведений.КурсыВалют КАК КурсыВалют
                                    ПО
                                        ЗаказПокупателя.ДоговорКонтрагента.ВалютаВзаиморасчетов = КурсыВалют.Валюта И ЗаказПокупателя.Дата >= КурсыВалют.Период
                                СГРУППИРОВАТЬ ПО
                                    ЗаказПокупателя.КурсВзаиморасчетов,
                                    ЗаказПокупателя.ДоговорКонтрагента.ВалютаВзаиморасчетов,
                                    ЗаказПокупателя.Ссылка
                                ) КАК ВложенныйЗапрос
                                ЛЕВОЕ СОЕДИНЕНИЕ
                                    РегистрСведений.КурсыВалют КАК КурсыВалют
                                ПО
                                    ВложенныйЗапрос.ДоговорКонтрагентаВалютаВзаиморасчетов = КурсыВалют.Валюта И ВложенныйЗапрос.Период = КурсыВалют.Период
                            Как написать запрос таким образом, чтобы на определенном уровне иерархии запроса считались одни итоговые функции, а на другом уровне другие?
                            ExpandedWrap disabled
                              ВЫБРАТЬ
                                  ОстаткиТоваровКомпанииОстатки.Номенклатура КАК Номенклатура,
                                  ОстаткиТоваровКомпанииОстатки.Номенклатура.Представление,
                                  ОстаткиТоваровКомпанииОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                                  ОстаткиТоваровКомпанииОстатки.ХарактеристикаНоменклатуры.Представление,
                                  ОстаткиТоваровКомпанииОстатки.КоличествоОстаток КАК КоличествоОстаток,
                                  NULL как Заказ,
                                  0 КАК Резерв
                              ИЗ
                                  РегистрНакопления.ОстаткиТоваровКомпании.Остатки КАК ОстаткиТоваровКомпанииОстатки
                               
                              ОБЪЕДИНИТЬ ВСЕ
                               
                              ВЫБРАТЬ
                                  ЗаказыПокупателейОстатки.Номенклатура,
                                  ЗаказыПокупателейОстатки.Номенклатура.Представление,
                                  ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры,
                                  ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры.Представление,
                                  0,
                                  ЗаказыПокупателейОстатки.ЗаказПокупателя,
                                  ЗаказыПокупателейОстатки.КоличествоОстаток
                              ИЗ
                                  РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
                              ИТОГИ СУММА(КоличествоОстаток), СУММА(Резерв) ПО
                                  Номенклатура,
                                  ХарактеристикаНоменклатуры
                              Как получить перечень документов, приведших данные подчиненного периодического регистра сведений к определенному состоянию?
                              ExpandedWrap disabled
                                ВЫБРАТЬ
                                    КандидатыНаРаботу.ФизЛицо КАК ФизЛицо,
                                    КандидатыНаРаботу.Регистратор КАК Документ,
                                    КандидатыНаРаботу.Статус КАК Статус
                                ИЗ
                                    РегистрСведений.КандидатыНаРаботу.СрезПоследних(&ДатаОтчета, ) КАК КандидатыНаРаботуСрезПоследних
                                    ЛЕВОЕ СОЕДИНЕНИЕ
                                        РегистрСведений.КандидатыНаРаботу КАК КандидатыНаРаботу
                                    ПО
                                        КандидатыНаРаботуСрезПоследних.ФизЛицо = КандидатыНаРаботу.ФизЛицо
                                ГДЕ
                                    КандидатыНаРаботуСрезПоследних.Статус = &Отложен И КандидатыНаРаботу.Период <= &ДатаОтчета
                                УПОРЯДОЧИТЬ ПО
                                    КандидатыНаРаботу.ФизЛицо.Наименование,
                                    Документ
                                ИТОГИ МАКСИМУМ(Статус) ПО
                                    ФизЛицо
                                АВТОУПОРЯДОЧИВАНИЕ
                                Как установить параметры запроса, если текст запроса заранее не известен?
                                ExpandedWrap disabled
                                  Запрос = Новый Запрос("
                                  |ВЫБРАТЬ
                                  |    Номенклатура.Ссылка
                                  |ИЗ
                                  |    Справочник.Номенклатура КАК Номенклатура
                                  |ГДЕ
                                  |    Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)");
                                   
                                  // Получить описание параметров запроса.
                                  ПараметрыЗапроса = Запрос.НайтиПараметры();
                                   
                                  Для Каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл
                                      ЗаданноеЗначение = Неопределено;
                                      // Открыть диалог ввода значения данного параметра.
                                      Если ВвестиЗначение(ЗаданноеЗначение, "Задайте значение параметра " + ПараметрЗапроса.Имя, ПараметрЗапроса.ТипЗначения) Тогда
                                          Запрос.УстановитьПараметр(ПараметрЗапроса.Имя, ЗаданноеЗначение);
                                      Иначе
                                          Возврат;
                                      КонецЕсли;
                                  КонецЦикла;
                                   
                                  РезультатЗапроса = Запрос.Выполнить();
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0599 ]   [ 17 queries used ]   [ Generated: 28.03.24, 20:06 GMT ]