Задать вопрос
  • Есть шаблон form.result.new. Как прикрутить Ajax?

    @KTG Автор вопроса
    не работает.
    создал рядом с шаблоном файл .parameters.php
    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
    
    $arComponentParameters = array(
    	"PARAMETERS" => array(
    		"AJAX_MODE" => "Y"
    		)
    	)
  • Есть шаблон form.result.new. Как прикрутить Ajax?

    @KTG Автор вопроса
    Нарыл что в папке с шаблоном можно создать файл .patametrs.php и дополнять параметры компонента.
    Осталось понять что туда писать?
    В компоненте "form" есть намёк на AJAX: "AJAX_MODE" => array(). Но подобного не нашел в form.result.new
  • Как сделать анкетирование на сайте под управлением битрикс?

    @KTG Автор вопроса
    добавил форму. Если Ajax включать, то после отправки висит сообщение "загрузка". Если отключить, то форма вернется на себя, но при повторной отправке сообщение об успешной отправке не исчезнет.
    Да и проверки нет на повторную отправку для незарегистрированных пользователей...

    Чет намудрили с этим Битриксом...
    Вот еще какой вопрос. Можно ли через скрытое поле в форме сохранять IP адрес?
  • Как сделать отбор по вхождению части строки с разделителями в строку с разделителями?

    @KTG Автор вопроса
    d-stream, если значений в будущем будет больше? например 1000, "OR" на каждый писать...

    А так да, список значений можно хранить в материализованной вьюшке, думаю быстрее будет чем каждый раз раскладывать.
    Этот вариант то же был на заметке.

    Но мы легких путей не ищем.
    Возможно ли подобное написать одним запросом (использовать PL/SQL стандартные функции допускается)?
  • Как сделать отбор по вхождению части строки с разделителями в строку с разделителями?

    @KTG Автор вопроса
    что имелось ввиду под "банальный like" - не понятно, конечное сопоставление? Или изначально всё решение задачи?

    Хранить данные правильно не получится - сторонний разработчик ПО, который вряд ли будет менять логику своего продукта, в том числе и структуру БД.
    Да и никто не отменял PL/SQL блоки или ЯП на уровне приложения, что бы сделать отбор.
  • Как сделать отбор по вхождению части строки с разделителями в строку с разделителями?

    @KTG Автор вопроса
    SELECT 
          id
        , groups
        FROM data_table dt
            INNER JOIN val_table# vt# ON INSTR(dt.groups, vt#.val) != 0   
        GROUP BY id, groups

    И
    SELECT 
          id
        , groups
        FROM val_table# vt#
            INNER JOIN data_table dt ON groups LIKE '%'||vt#.val||'%'
        GROUP BY id, groups

    можно еще так, но думаю тяжелее:
    SELECT 
          id
        , groups
         FROM data_table dt
         HAVING (SELECT COUNT(vt#.val) FROM val_table# vt# WHERE groups LIKE '%'||vt#.val||'%' ) > 0
         GROUP BY id, groups

    Порядок подключения таблиц в первых 2-х вариантах на план выполнения запроса не повлиял, но думаю все таки буду пользоваться исходя из размеров: к большой (data_table) подключаем маленькую (val_table#)
  • Как корректно построить запрос к двум таблицам?

    @KTG Автор вопроса
    idShura, ну на счет pivot я то же думал. Но поворачивать таблицу при большом количестве записей не хотелось бы.
  • Как корректно построить запрос к двум таблицам?

    @KTG Автор вопроса
    Модератор, ну ваш проект - ваши правила. учту на будущее.
    А не понятно что получает подписчки тега "Базы данных", если не вопросы по входящим в тему группам. т.к. "Проектирование БД" есть отдельный тег, "Администрирование БД" наверянка то же.
    Общий тег по логике вещей и нужен, что бы не ограничивать себя отдельно взятой технологией или областью и читать все связанное.
    Если при указывании входящих тегов возникают дубли - то понятно, но это можно подредактировать в запросе, той же группировкой или дистинктом.
    А если под тегом "Базы данных" подразумеваете какой-то специфичный набор тем... то да же интерсно что к ним относится.
  • Как корректно построить запрос к двум таблицам?

    @KTG Автор вопроса
    нет. В данном случае вернется запись даже если пользователь входит в одну из категорий. Нужно отслеживать вхождение в обе категории. "AND" вместо "OR" не поставишь, т.к. привязка в разных строках.

    Плюс left join у вас без отсечения ненужных записей.
  • Как корректно построить запрос к двум таблицам?

    @KTG Автор вопроса
    Модератор, и почему же тэг "базы данных" является некорректным к данному вопросу?
  • Как вклинить в список выбора свой флажок (1С)?

    @KTG Автор вопроса
    Задачу сняли раньше чем что-либо успел сделать и наконц перешли на новую версию. Всем спасибо за советы.
  • Какой вариант запроса из двух производительней?

    @KTG Автор вопроса
    8 шагов. 1 запро кординальность везде 8,на базе примеоа 368 байт. Во втором вопросе 8 шагов. кординальность максиму 6, 230 байт. Но я в этом мало что понимаю.
  • 1С. Как обращаться по имени к дополнительным сведениям документов?

    @KTG Автор вопроса
    Дмитрий Кинаш,
    Вот я именно про 1С головного мозга потому и сказал, что куча слов - ничего не понятно, и уж точно не по делу, как и в документации.
    1. ПВХ это инструмент платформы.
    2. Во всех типовых конфигурациях 1С реализован механизм добавления "Дополнительного реквизита" и "Дополнительного сведения" к документу. (Сведение и РегистрСведений это разные вещи, т.к. 1-ое почти то же самое что и реквизит, а второе регистр!)
    Найти хоть в БП, и в УТ, и в ЗУП можно: "Администрирование - Настройки - Общие Настройки- Дополнительные реквизиты и сведения"

    Все остальные пункты ответа бессмысленны.
  • 1С. Как обращаться по имени к дополнительным сведениям документов?

    @KTG Автор вопроса
    Дмитрий, у вас 1С головного мозга.
    Я вот так же документацию читал, и ни черта не понял.

    1. Добавлено сведение. Не реквизит.
    Оно добавляется в режиме предприятия - "Дополнительные сведения".
    2. Добавляя дополнительное сведение к документы ты сам задаешь и Наименование и есть возможность задать Имя (если не задал, оно генерируется автоматически)
    3. Я ищу не документ по наименованию, я ищу Дополнительное сведение по наименованию и нахожу, но хочу обращаться напрямую по имени, т.е. без поиска.

    Т.к. упустили важную деталь что работаем НЕ с документом, НЕ с реквизитом, А с дополнительным сведением документа, то все остальные 90% ответа - не в тему и какая-то мешанина.
    Возможно вас запутало слово "свойство". Извините.
    НО эта строка и основной вопрос должны были однозначно дать понять о чем идет речь: ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию
    1С. Как обращаться по имени к дополнительным сведениям документов?

    З.Ы.:
    Исправлю в тексте
    "К нему добавляем дополнительное свойство типа строка.
    У дополнительного свойства имени 2: 1. Наименование "Событие", 2. Имя "СведСобытия"."
    Что тут не свойство, а сведение.
  • Как вклинить в список выбора свой флажок (1С)?

    @KTG Автор вопроса
    Спасибо, за ответ.
    По поводу учета - нет, не хочу. Переход на новую версию ЗуП планируется.
    Но пока работаем в этой, да и собственно одна из целей - научиться разработке 1С на конкретных задачах.

    Обязательно попробую Ваш способ... и потом отпишусь.
    Тем более что как я уже понял, Нельзя тут "образно" взять две таблицы, нащелкать мышкой связь по каким-либо полям и вывести их в одной табличной части. (Как в Access или Filemaker, или на том же Delphi через компоненты работы с базой).
  • Как создать динамический справочник в 1С?

    @KTG Автор вопроса
    Посмотрел что такое план видов характеристик - да, этот вариант намного лучше. И как мне кажется, правильней. Глянул обучающий ролик, как оно работает. Думаю его и попробую. Спасибо.
  • Как передать имя документа через параметр в 1С?

    @KTG Автор вопроса
    Константин Нагибович,
    выражение "Запрос.текст" подразумевает что запрос полностью в текстовом виде, т.е. строка.
    и что по идее значение параметра "Документ.Акт" как строка должно было пройти.
    Но видимо он все равно проверяет на указанный источник (откуда брать данные) после "ИЗ".
    И скорей всего проверяет что бы источник был именно объектом метаданных.

    Если я правильно понимаю
    "выбрать номер ИЗ Документ.Акт", работает, потому что "Документ.Акт" - это объект метаданных, а не строка.
  • Как передать имя документа через параметр в 1С?

    @KTG Автор вопроса
    Константин Нагибович, да.
    Так он "проглотил" имя "таблицы". Больше спасибо.
    Но все равно не понятно, почему он не хотел этого делать через параметр.

    Подозреваю что после "ИЗ" он ищет объект метаданных, несмотря на "запрос.текст", но тогда вопрос, как по этой строке получить этот объект?
  • Как передать имя документа через параметр в 1С?

    @KTG Автор вопроса
    Нет, такого реквизита нет. Разумеется я понимаю что параметр у меня это строка.

    Видимо не совсем мой вопрос был понят:
    Есть например два документа:
    "Документ.Акт" и "Документ.Счет"
    У обоих документов есть поле "Номер".

    Хочу на форме выбирать, к какому именно документу обращается запрос.

    Если выбрать из списка "Акт", то запрос должен читаться как:
    ВЫБРАТЬ Док.Номер ИЗ Документ.АКТ как Док

    Если в списке стоит "Счет", то запрос будет другой:
    ВЫБРАТЬ Док.Номер ИЗ Документ.Счет как Док

    Суть передать именно имя документа (вид) из которого будет запрашиваться номер.
    ВЫБРАТЬ Док.Номер ИЗ Документ.&ВидДокумента как Док
  • Как правильно проверить профиль группы доступа у пользователя?

    @KTG Автор вопроса
    Отчет прописывается в стороннем справочнике - имя, путь, параметры отчеты. Сами отчеты внешними файлами лежат на компьютере где кому удобно, и называться могут по разному. И при регистрации отчета каждый сам себе может задать имя отчета.
    Механизм внедрила сторонняя организаций, и собственно у меня нет достаточных знаний 1С, что бы переписать его.
    Отчетов там штук 5-6, и только избранные должны пользоваться 7.
    Не совсем понимаю как их отлавливать по RLS.

    Ну и собственно запрет на пользование отчетом поставил в самом отчете, т.к. редактировать его и потом рассылать по всем проще, чем редактировать конфигурацию и рассылать уже ее.

    UPD (только сейчас дошло):
    Глюк конечно, что каждый может открыть отчет в конфигурации и подправить, но таких пользователей 100% нет.

    Поможет мне тут RLS и как это реализовать?