На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
  
> Хранение временной информации в базе
    Есть задача - построение отчетов из Битрикс 24.

    С помощью рест апи буду получать данные. Данные в json

    Собственно вопрос:
    1 Для построения встроенных запросов данные должны быть сохранены в базе, или достаточно только в форме?
    2 если на первый вопрос ответ нет, то как мне данные актуализировать? Т.е. я по кнопке загружаю таблицу, далее мне нужно как-то актуализировать базу. Возможен ли вариант использования временных таблиц, которые после закрытия базы удаляются? Не будут ли временные таблицы забивать базу(рост размера файла)?
    3 Если ответ на первый вопрос да, то как мне лучше данные вставлять в форму(управляемое приложение)?

    По сути там будет около 7-10 связанных по ИД элемента справочников, или документов, если в справочнике нет табличных частей.
      В объект обработки или отчета можно добавить реквизит - таблицу значений с колонками заданных типов. По идее в запросе можно использовать параметры-таблицы, так что данные можно передать в запрос.
      Ну и этот реквизит можно будет отобразить на форме. После закрытия обработки или отчета все реквизиты очистятся.
        evGenius
        В конструкторе запросов нет таблиц значений с формы. Опять-же не ясно как связывать эти таблицы(и нужно ли вообще)
        или ты что-то другое имеешь в виду?
        Прикреплённый файлПрикреплённый файл1c1.png (45,32 Кбайт, скачиваний: 726)
          Цитата ^D^ima @
          В конструкторе запросов нет таблиц значений с формы.

          Таблицу передавай, как параметр запроса.

          Добавлено
          ВЫБРАТЬ * ИЗ &таб
            kosten
            при этом конструктор запросов не будет работать?
              Цитата ^D^ima @
              В конструкторе запросов нет таблиц значений с формы

              ExpandedWrap disabled
                Запрос = Новый Запрос;
                Запрос.Текст = "ВЫБРАТЬ
                |   ТЗ.Код КАК Код,
                |   ТЗ.Наименование КАК Наименование
                |ИЗ
                |   &ТаблицаФормы КАК ТЗ";
                Запрос.УстановитьПараметр("ТаблицаФормы", РеквизитФормыВЗначение("Реквизит1"));

              как то так.
                Цитата ^D^ima @
                при этом конструктор запросов не будет работать?

                А что ты от него хочешь? Поля твоей таблицы он знать не будет - сам все пропишешь. Связи с другими таблицами может позволит сделать.
                  Конструктор не ошибается по крайней мере :D

                  Концептуально понял. Как таблицы растащить по страницам?
                    Цитата ^D^ima @
                    Как таблицы растащить по страницам?

                    что?
                      На управляемой форме 10 табличных частей в разных закладках
                        Цитата ^D^ima @
                        На управляемой форме 10 табличных частей в разных закладках

                        И в чем проблема?
                          Добавляешь на форму вкладки и в каждую таскаешь мышкой таблицы из дерева свойств.
                            А как я отчеты к своим табличным формам своей обработки привяжу? :(
                            Я имею в виду компоновку данных, объект отчеты в конфигурации
                              Цитата ^D^ima @
                              А как я отчеты к своим табличным формам своей обработки привяжу?

                              Можно компоновке данных указать что данные для отчета нужно брать из таблицы значений.
                                Цитата Rust @
                                Можно компоновке данных указать что данные для отчета нужно брать из таблицы значений.

                                В данном случае только так, да. Либо делать отчет не на СКД.
                                  Цитата Rust @
                                  Можно компоновке данных указать что данные для отчета нужно брать из таблицы значений.

                                  Можно пример?

                                  Добавлено
                                  Под данными отчета имеется в виду запрос? Мне нужно через запрос, для гибкого построения отчетов
                                    Цитата ^D^ima @
                                    Под данными отчета имеется в виду запрос? Мне нужно через запрос, для гибкого построения отчетов

                                    ну я так понял что ты заполняешь табличную часть обработки (или таблицу значений в обработке) данными из битрикса, а потом строишь по ним отчет, при этом тебе не надо хранить данные в базе?
                                    во вложении простой пример как построить отчет по данным таблицы значений
                                    Прикреплённый файлПрикреплённый файл__________________________________________________________.zip (3,88 Кбайт, скачиваний: 424)
                                    Сообщение отредактировано: Rust -
                                      Rust
                                      Спасибо!

                                      Несколько вопросов:
                                      1 ВнешнийНаборДанных = Новый Структура("ПримерТаблицыЗначений", ТЗ); Это означает ли что ТЗ должна полностью повторять структуру данных ПримерТаблицыЗначений или наоборот? Т.е. если у моей ТЗ есть какой-то реквизит, должен ли он быть в ПримерТаблицыЗначений?
                                      2 Если у меня несколько ТЗ, я предположим их перенес в наборы данных компоновки, как построить SQL запрос в результирующий наборы данных? Или нужно Сделать SQL запросы напрямую из ТЗ в каую-то результирующую ТЗ, а потом ее переложить в набор данных компоновки для дальнейшей визуальной обработки?
                                        Цитата ^D^ima @
                                        Это означает ли что ТЗ должна полностью повторять структуру данных ПримерТаблицыЗначений или наоборот?


                                        1. Да. Таблицы должны быть идентичны. Данные в компоновку ты передаешь из таблицы значений, эту таблицу значений представляешь системе компоновки как "набор данных - объект", и в этом наборе данных описываешь что именно лежит в передаваемой таблице значений.

                                        2. Здесь как тебе удобнее. Можешь получить из битрикса сразу результирующую таблицу и в системе компоновки работать именно с одной большой таблицей. Но это может быть затратно. Например может быть вариант отчета где нужны данные только одной таблицы и тебе незачем тянуть еще данные из остальных таблиц (тут я про битрикс). Я бы разбил получаемые данные на несколько наборов, связал их через Связи наборов данных, а потом через настройки вариантов отчетов формировал нужные отчеты. При этом СКД сама будет строить запросы исходя из настроек варианта отчета.

                                        По пункту 2 не могу точно что-то посоветовать, просто высказал свое имхо, т.к. не знаю какие данные у тебя есть и какие отчеты будешь формировать. Все зависит от входящих данных из битрикса.

                                        Добавлено
                                        Оффтоп.

                                        Уже много лет работаю с 1С, но с битриксом так ни разу и не сталкивался. Хоть и интегрировал кучу совершенно разных систем с 1С :)

                                        Добавлено
                                        Цитата ^D^ima @
                                        Если у меня несколько ТЗ, я предположим их перенес в наборы данных компоновки, как построить SQL запрос в результирующий наборы данных?

                                        В случае работы с набором данных - объект тебе не надо писать запросы. Ты просто описываешь поля таблицы на закладке Наборы данных, в модуле объекта отчета подсовываешь СКД свои данные в виде таблицы значений, на закладке Настройки формируешь внешний вид твоего отчета, и все. СКД дальше все сделает сама. Твоя задача только описать какую таблицу ты передашь СКД, передать ей таблицу и указать СКД как должен выглядеть твой отчет.
                                        Сообщение отредактировано: Rust -
                                          Rust
                                          1 Из битрикса REST API запросами не вытянуть итоговые данные, только по таблицам(т.к. это облачный портал, нет доступа к базе данных напрямую. есть ещё стандартная оьработка по синхронизации, но она далеко не все данные передает)
                                          2 Исходя из ограничений п.1. придется вначале дергать таблицы, потом в Результирующую ТЗ SQLэм формировать нужные данные и уже потом подставлять результирующую ТЗ в компоновку. Да и как понимаю так просто не поработать с ТЗ в запросе - нужно создавать временную таблицу там
                                            Цитата ^D^ima @
                                            потом в Результирующую ТЗ SQLэм формировать нужные данные и уже потом подставлять результирующую ТЗ в компоновку.

                                            А почему бы не сделать несколько "наборов данных - объект", по количеству таблиц, получаемых из битрикса, и работать в СКД сразу с этими наборами данных?
                                            Имхо, обрабатывать запросами таблицы значений, чтобы получить другую таблицу значений лишнее.
                                              Цитата Rust @
                                              "наборов данных - объект", по количеству таблиц, получаемых из битрикса, и работать в СКД сразу с этими наборами данных?

                                              А как к ним применить SQL запрос?

                                              Добавлено
                                              ExpandedWrap disabled
                                                    Запрос = новый Запрос;
                                                    Запрос.Текст= "ВЫБРАТЬ
                                                                  | Подразделение.ИД КАК ИД,
                                                                  | Подразделение.Наименование КАК Наименование
                                                                  |ПОМЕСТИТЬ Временная
                                                                  |ИЗ
                                                                  | &Подразделение КАК Подразделение ;
                                                                  |
                                                                  |////////////////////////////////////////////////////////////////////////////////
                                                                  |ВЫБРАТЬ
                                                                  | Временная.ИД КАК ИД,
                                                                  | Временная.Наименование КАК Наименование
                                                                  |ИЗ
                                                                  | Временная КАК Временная";
                                                    Запрос.УстановитьПараметр("Подразделение",ТаблицаПодразделения);
                                                    
                                                    Выборка = запрос.Выполнить().Выбрать();


                                              Что он хочет от меня?
                                              ExpandedWrap disabled
                                                {Обработка.ОКГ_Битрикс24.Форма.Форма.Форма(155)}: Ошибка при вызове метода контекста (Выполнить)
                                                    Выборка = запрос.Выполнить().Выбрать();
                                                по причине:
                                                {(6, 2)}: Неверные параметры "Подразделение"
                                                <<?>>&Подразделение КАК Подразделение
                                                 
                                                по причине:
                                                {(6, 2)}: Неверные параметры "Подразделение"
                                                <<?>>&Подразделение КАК Подразделение


                                              ТаблицаПодразделения через вычислить выражение определяется
                                                Цитата ^D^ima @
                                                А как к ним применить SQL запрос?

                                                а зачем?

                                                в СКД есть несколько наборов данных - набор данных запрос, набор данных объект и набор данных объединение.
                                                Запрос используется в наборе данных запрос. Набор данных объект - ты "рисуешь" и заполняешь или подсовываешь готовый объект сам. Объединение - для объединения нескольких наборов в один.
                                                Пример выше с получением данных запросом из таблицы значений в твоей задаче можно не использовать, вместо него используй в СКД набор данных объект и подсовывай в объект нужную таблицу значений.
                                                Можно конечно и с запросами заморочиться, но это уже наверное дело вкуса.

                                                Добавлено
                                                Цитата ^D^ima @
                                                ТаблицаПодразделения через вычислить выражение определяется

                                                видимо неверно формируется таблица значений.

                                                у меня твой пример вот в таком виде работает
                                                ExpandedWrap disabled
                                                  ТаблицаПодразделения = Новый ТаблицаЗначений;
                                                      ТаблицаПодразделения.Колонки.Добавить("ИД", Новый ОписаниеТипов("Строка"));
                                                      ТаблицаПодразделения.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
                                                          
                                                      НоваяСтрока              = ТаблицаПодразделения.Добавить();
                                                      НоваяСтрока.ИД           = "123";
                                                      НоваяСтрока.Наименование = "Наименование строки";
                                                      
                                                      Запрос = новый Запрос;
                                                      Запрос.Текст= "ВЫБРАТЬ
                                                       | Подразделение.ИД КАК ИД,
                                                       | Подразделение.Наименование КАК Наименование
                                                       |ПОМЕСТИТЬ Временная
                                                       |ИЗ
                                                       | &Подразделение КАК Подразделение ;
                                                       |
                                                       |////////////////////////////////////////////////////////////////////////////////
                                                       |ВЫБРАТЬ
                                                       | Временная.ИД КАК ИД,
                                                       | Временная.Наименование КАК Наименование
                                                       |ИЗ
                                                       | Временная КАК Временная";
                                                      Запрос.УстановитьПараметр("Подразделение",ТаблицаПодразделения);
                                                   
                                                      Выборка = Запрос.Выполнить().Выгрузить();


                                                В переменной Выборка в итоге оказывается сформированная таблица значений

                                                Добавлено
                                                Посмотри в отладчике что у тебя вот в этой строке Запрос.УстановитьПараметр("Подразделение", ТаблицаПодразделения) в переменной ТаблицаПодразделения
                                                  Я ТЗ с реквизитами накидываю на форму,

                                                  Цитата Rust @
                                                  в переменной ТаблицаПодразделения

                                                  ДанныеФормыКоллекция
                                                    Цитата ^D^ima @
                                                    ДанныеФормыКоллекция


                                                    тогда поможет
                                                    ExpandedWrap disabled
                                                      ТаблицаПодразделения = РеквизитФормыВЗначение("ТутИмяТаблицыНаФорме");
                                                      А это что за х-ня?
                                                      ExpandedWrap disabled
                                                            Запрос.Текст= "ВЫБРАТЬ
                                                                          | Подразделение.ИД КАК ПодразделениеИД,
                                                                          | Подразделение.Наименование КАК ПодразделениеНаименование,
                                                                          | Сотрудники.ИД КАК СотрудникиИД,
                                                                          | Сотрудники.ФИО КАК ФИО,
                                                                          | Сотрудники.ИДПодразделения КАК ИДПодразделения
                                                                          |ПОМЕСТИТЬ Временная
                                                                          |ИЗ
                                                                          | &Подразделение КАК Подразделение,
                                                                          | &Сотрудники КАК Сотрудники
                                                                          |;
                                                                          |
                                                                          |////////////////////////////////////////////////////////////////////////////////
                                                                          |ВЫБРАТЬ
                                                                          | Временная.ПодразделениеИД КАК ПодразделениеИД,
                                                                          | Временная.ПодразделениеНаименование КАК ПодразделениеНаименование,
                                                                          | Временная.СотрудникиИД КАК СотрудникиИД,
                                                                          | Временная.ФИО КАК ФИО,
                                                                          | Временная.ИДПодразделения КАК ИДПодразделения
                                                                          |ИЗ
                                                                          | Временная КАК Временная";
                                                            Запрос.УстановитьПараметр("Подразделение",РеквизитФормыВЗначение("ТаблицаПодразделения"));
                                                            Запрос.УстановитьПараметр("Сотрудники",РеквизитФормыВЗначение("ТаблицаСотрудники"));


                                                      ExpandedWrap disabled
                                                        {Обработка.ОКГ_Битрикс24.Форма.Форма.Форма(166)}: Ошибка при вызове метода контекста (Выполнить)
                                                            Выборка = запрос.Выполнить().Выбрать();
                                                        по причине:
                                                        При выборе данных из объекта в запросе не могут присутствовать соединения и объединения
                                                         
                                                        по причине:
                                                        При выборе данных из объекта в запросе не могут присутствовать соединения и объединения


                                                      Я хочу все таблицы запихнуть во временную и следующим вложенным запросом брать оттуда данные

                                                      Добавлено
                                                      Или каждую ТЗ в отдельную временную таблицу засунуть? :wall: :wall: :wall: :wall:
                                                        Цитата ^D^ima @
                                                        Или каждую ТЗ в отдельную временную таблицу засунуть?

                                                        Да.

                                                        Кстати, временную таблицу тоже нельзя соединить с выборкой из таблицы значений. Получишь ошибку
                                                        ExpandedWrap disabled
                                                          по причине:
                                                          Содержимое объекта данных может быть выбрано только во временную таблицу


                                                        Поэтому каждую таблицу значений заносишь в отдельную временную таблицу и дальше манипулируешь данными как тебе надо.
                                                        Сообщение отредактировано: Rust -
                                                          Долбанный неразрывный пробел :wall: :wall: :wall: час потратил чтобы понять почему не работает
                                                            Цитата ^D^ima @
                                                            час потратил чтобы понять почему не работает

                                                            это ты еще быстро разобрался.
                                                              Как такой формат привести к формату даты 1С?
                                                              ExpandedWrap disabled
                                                                2019-02-01T03:00:00+03:00
                                                                Цитата ^D^ima @
                                                                Как такой формат привести к формату даты 1С?

                                                                Из json получаешь?
                                                                  kosten
                                                                  да

                                                                  Добавлено
                                                                  Я вначале поле сделал дата\время, но туда из JSONа ничего не переходит, сделал строку
                                                                    Цитата ^D^ima @
                                                                    да

                                                                    Кури функцию ПрочитатьJSON. У нее один из аргументов - это имена свойств с типом дата. Она нормально сделает перевод в нужный формат.

                                                                    ExpandedWrap disabled
                                                                      ПрочитатьJSON(ЧтениеJSON,, "ДатаЗапроса", ФорматДатыJSON.ISO)
                                                                      kosten
                                                                      ExpandedWrap disabled
                                                                        ФорматДатыJSON.ISO – формат вида: “ГГГГ-ММ-ДДTЧЧ:ММ:ССZ”, Например: “2009-02-15T00:00:00Z”.
                                                                        ФорматДатыJSON.JavaScript – формат вида : “1234656000000”.
                                                                        ФорматДатыJSON.Microsoft – Формат вида: “/Date(123456000000)/”.

                                                                      Вот такой и выходит формат, а мне нужно в обычный ДЛФ=ДВ

                                                                      Добавлено
                                                                      Пока сделал по старинке
                                                                      ExpandedWrap disabled
                                                                        СтрЗаменить( Лев(Т1Итем.DEADLINE, 10),"-","")
                                                                        ExpandedWrap disabled
                                                                          Сериализатор = Новый СериализаторXDTO(ФабрикаXDTO);
                                                                          Результат = Сериализатор.XMLЗначение(Тип("Дата"), СокрЛП("2019-02-01T03:00:00+03:00"));


                                                                        В переменной Результат у нас получается
                                                                        01.02.2019 5:00:00

                                                                        ФабрикаXDTO в типовых уже есть.
                                                                        Пример обработки во вложении
                                                                        Прикреплённый файлПрикреплённый файл______________________.zip (3,52 Кбайт, скачиваний: 394)

                                                                        Добавлено
                                                                        Цитата Rust @
                                                                        01.02.2019 5:00:00

                                                                        А это уже можно обработать при помощи Формата
                                                                          Rust
                                                                          Спасибо, проверю.

                                                                          Возник такой вопрос - как в ТЗ отображать нули?

                                                                          Но умолчанию они не видны, а нужны. Не заполнено и ноль разные вещи, неясно как там где 0, ставить 0, где пусто ничего.
                                                                            Цитата ^D^ima @
                                                                            Возник такой вопрос - как в ТЗ отображать нули?

                                                                            В свойствах поля поставь Формат Представление нуля 0
                                                                            Смотри скриншот
                                                                            Прикреплённый файлПрикреплённый файлScreenshot_119.jpg (124,09 Кбайт, скачиваний: 591)
                                                                            Сообщение отредактировано: Rust -
                                                                              Почему тогда в ТЗ попадает 0 если переменная Неопределено???

                                                                              Т.е. я получаю JSON, и если какая-то переменная Неопределено, то он туда ставит 0??? Или для ТЗ 0 и неопределено одно и то-же?

                                                                              Добавлено
                                                                              Можно конечно строку сделать, но потом будет запутка что нужно к числу преобразовывать, забудешь и понеслось
                                                                                Цитата ^D^ima @
                                                                                Почему тогда в ТЗ попадает 0 если переменная Неопределено???

                                                                                Какого типа реквизит на форме? Если числового, то он не может быть Неопределено.

                                                                                Добавлено
                                                                                Цитата ^D^ima @
                                                                                Можно конечно строку сделать

                                                                                это лишние костыли
                                                                                  Цитата Rust @
                                                                                  Какого типа реквизит на форме? Если числового, то он не может быть Неопределено.

                                                                                  Числового

                                                                                  У меня в запросе такие строки:
                                                                                  ExpandedWrap disabled
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Январь) КАК Январь,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Февраль) КАК Февраль,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Март) КАК Март,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Апрель) КАК Апрель,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Май) КАК Май,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Июнь) КАК Июнь,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Июль) КАК Июль,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Август) КАК Август,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Сентябрь) КАК Сентябрь,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Октябрь) КАК Октябрь,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Ноябрь) КАК Ноябрь,
                                                                                                      | МАКСИМУМ(ОтгрузкаПоМесяцам.Декабрь) КАК Декабрь


                                                                                  И в Число они все как нули встают(и пустые значения и нули). Получается если числовая колонка не может быть пустой, то задача не решается без ухода в другой формат
                                                                                    Цитата ^D^ima @
                                                                                    Числового

                                                                                    Числовой тип не может быть Неопределено, будет 0.
                                                                                    Цитата ^D^ima @
                                                                                    Получается если числовая колонка не может быть пустой, то задача не решается без ухода в другой формат

                                                                                    опиши задачу и желаемый результат, потом можно подумать как получить нужный результат
                                                                                      Ничего Сотрудники ставят процент отгрузки задачи, она может быть и 0, это отражается в ТЗ
                                                                                        Как можно в запросе обыграть такую ситуацию:
                                                                                        В параметрах запроса я задаю данные для отбора в запросе(например дата), которые участвует в секции где
                                                                                        ExpandedWrap disabled
                                                                                                            | Календарь.Сотрудник КАК КалендарьСотрудник,
                                                                                                            | Календарь.ДатаНачала КАК КалендарьДатаНачала,
                                                                                                            | Календарь.ДатаКонца КАК КалендарьДатаКонца,
                                                                                                            | Календарь.Сделка КАК КалендарьСделка,
                                                                                                            | Календарь.Длительность КАК КалендарьДлительность
                                                                                                            |ПОМЕСТИТЬ ВременнаяКалендарь
                                                                                                            |ИЗ
                                                                                                            | &Календарь КАК Календарь
                                                                                                            |ГДЕ
                                                                                                            | Календарь.ДатаНачала >= &КалендарьДатаНачала
                                                                                                            | И Календарь.ДатаКонца <= &КалендарьДатаКонца
                                                                                                            |;
                                                                                                            |

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

                                                                                        Если я например не выбрал сотрудника и не передал его как парметр, то запрос формировал бы не по конкретному сотруднику данные, а по всем.

                                                                                        Я понимаю что некоторые данные можно фильтровать прямо в итоговой ТЗ, куда запрос передает данные, но некоторые(например дата по которой отбираются данные), так не сделать.
                                                                                          Цитата ^D^ima @
                                                                                          Как мне сделать так, чтобы если параметр запроса не задан, то этот параметр игнорируется в запросе.

                                                                                          Как то так

                                                                                          ExpandedWrap disabled
                                                                                                
                                                                                                Запрос = Новый Запрос;
                                                                                                ТекстЗапроса = "ВЫБРАТЬ
                                                                                                               |    Номенклатура.Код КАК Код,
                                                                                                               |    Номенклатура.Наименование КАК Наименование,
                                                                                                               |    Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения
                                                                                                               |ИЗ
                                                                                                               |    Справочник.Номенклатура КАК Номенклатура
                                                                                                               |{УсловиеВЗапросе";
                                                                                                
                                                                                                НуженОтбор = ЗначениеЗаполнено(ЭлементНоменклатура);
                                                                                                Если НуженОтбор Тогда
                                                                                                        ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "{УсловиеВЗапросе}", "Где Номенклатура.Ссылка = &СсылкаНаЭлемент");
                                                                                                    Запрос.УстановитьПараметр("СсылкаНаЭлемент", ЭлементНоменклатура);
                                                                                                Иначе
                                                                                                    ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "{УсловиеВЗапросе}", "");
                                                                                                КонецЕсли;
                                                                                                Запрос.Текст = ТекстЗапроса;
                                                                                          Сообщение отредактировано: Rust -
                                                                                            Rust
                                                                                            Хакерство какое-то :D

                                                                                            Почему это не прокатывает?

                                                                                            ExpandedWrap disabled
                                                                                                                |ГДЕ
                                                                                                                | ВЫБОР
                                                                                                                |         КОГДА Календарь.ДатаНачала = ДАТАВРЕМЯ(0001,01,01,0,0,0)
                                                                                                                |                 ИЛИ Календарь.ДатаКонца = ДАТАВРЕМЯ(0001,01,01,0,0,0)
                                                                                                                |             ТОГДА ИСТИНА
                                                                                                                |         ИНАЧЕ Календарь.ДатаНачала >= &КалендарьДатаНачала
                                                                                                                |                 И Календарь.ДатаКонца <= &КалендарьДатаКонца
                                                                                                                |     КОНЕЦ

                                                                                            Календарь.ДатаНачала это реквизит на форме дата время
                                                                                              Ничего не понял. Приведи весь запрос

                                                                                              Добавлено
                                                                                              наверное так?
                                                                                              ExpandedWrap disabled
                                                                                                |ГДЕ
                                                                                                |  ВЫБОР
                                                                                                |       КОГДА Календарь.ДатаНачала = ДАТАВРЕМЯ(0001,01,01,0,0,0) ИЛИ Календарь.ДатаКонца = ДАТАВРЕМЯ(0001,01,01,0,0,0)
                                                                                                |           ТОГДА  ИСТИНА
                                                                                                |       ИНАЧЕ
                                                                                                |           ВЫБОР
                                                                                                |               КОГДА  Календарь.ДатаНачала >= &КалендарьДатаНачала И Календарь.ДатаКонца <= &КалендарьДатаКонца
                                                                                                |                   ТОГДА ЛОЖЬ
                                                                                                |           КОНЕЦ
                                                                                                |   КОНЕЦ
                                                                                                Цитата ^D^ima @
                                                                                                Календарь.ДатаНачала это реквизит на форме дата время

                                                                                                В запросах не видно реквизиты формы.
                                                                                                  я слепой лошара
                                                                                                  так конечно :lol:
                                                                                                  ExpandedWrap disabled
                                                                                                                      |ГДЕ
                                                                                                                      | ВЫБОР
                                                                                                                      |         КОГДА &КалендарьДатаНачала = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                                                                                                                      |                 ИЛИ &КалендарьДатаКонца = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                                                                                                                      |             ТОГДА ИСТИНА
                                                                                                                      |         ИНАЧЕ Календарь.ДатаНачала >= &КалендарьДатаНачала
                                                                                                                      |                 И Календарь.ДатаКонца <= &КалендарьДатаКонца
                                                                                                                      |     КОНЕЦ
                                                                                                    ^D^ima, ты уже нашел консоль запросов?
                                                                                                      Как отловить событие ТЗ формы при программном создании элемента ЭлементТаблицы = ТаблицаКалендарь.Добавить(); или ЗначениеВРеквизитФормы(ЗначениеИзФайла("c:\ТаблицаКалендарь.txt"),"ТаблицаКалендарь");


                                                                                                      Я хочу при добавлении элемента в таблицу помещать данные в выпадающий список.

                                                                                                      Добавлено
                                                                                                      Цитата kosten @
                                                                                                      ты уже нашел консоль запросов?

                                                                                                      А что с нее толку-то? немного быстрее поможет писать код
                                                                                                        Цитата ^D^ima @
                                                                                                        Я хочу при добавлении элемента в таблицу помещать данные в выпадающий список.


                                                                                                        Если нет возможности вызывать обновление списка во всех местах кода где добавляется новый элемент таблицы, то я бы сделал так: добавил в таблицу какой-нибудь невидимый на форме реквизит Булево, для новой строки в таблице значений выставлял его Истина. Как только строка добавляется в выпадающий список - выставить в таблице Ложь.
                                                                                                        Потом используя ПодключитьОбработчикОжидания проверять таблицу значений на наличие строк с реквизитом Истина. Если есть такие - добавляешь в список и т.д.
                                                                                                        Описанный метод может вызвать подвисание если элементов в таблице много.

                                                                                                        Более изящного метода пока не приходит в голову
                                                                                                          Rust
                                                                                                          Я уже понял что проще добавлять в местах заполнения таблицы, т.к. обработчики реагируют на ручные операции.
                                                                                                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                                                          0 пользователей:


                                                                                                          Рейтинг@Mail.ru
                                                                                                          [ Script execution time: 0,1541 ]   [ 22 queries used ]   [ Generated: 24.04.24, 00:46 GMT ]