Sazhnev Andrey

97
Рейтинг

kentavr27



  •   Регистрация: 23.06.2008 (15 лет назад)

  •   Был(а) на сайте: 08.10.2023

Подписчики 12

Группы

Профессиональный разработчик

Рейтинг 97

Ревизия / копирование пользовательских настроек (управляемые формы)

Инструменты и обработки Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) Информационная безопасность

Обработка позволяет увидеть факт наличия пользовательских настроек в системе, удалить выбранные настройки, скопировать выбранные настройки другому пользователю.

2 стартмани

07.05.2019    6452    17    kentavr27    5       

2

Универсальная печать документов в Word + визуальный конструктор макета

Инструменты и обработки Для всех Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Конфигурация (md, cf) Инструментарий разработчика

Эта публикация представляет инструмент, который позволяет на пользовательском уровне создавать макеты печатных документов Word без какого-либо участия программиста и знания "внутренностей" 1С.

3 стартмани

12.08.2015    19919    41    kentavr27    4       

17

Создание и печать этикеток (ценников). Со штрих-кодами и без. Универсальная обработка

Отчеты и формы Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Windows Абонемент ($m) Конфигурация (md, cf) Этикетки, ценники

Эта обработка (в составе демонстрационной конфигурации) представляет собой инструмент, который позволяет делать только лишь два полезных действия: 1. создать макет для печати этикеток (ценников) в пользовательском режиме 2. напечатать заданное количество этикеток (ценников) по выбранной номенклатуре. НО!...

5 стартмани

18.07.2015    96674    314    kentavr27    59       

42

Подсистема хранения данных на разных языках или "мультиязычные" данные

Инструменты и обработки Программист Платформа 1С v8.3 Windows Абонемент ($m) Подсистема Инструментарий разработчика

Данная публикация поможет решить одну из не так часто встречающихся задач. Мультиязычность данных будет интересна, наверное, больше тем, кто ведет торговлю / работает с зарубежными компаниями, когда одни и те же данные нужно отражать на разных языках при различных условиях. (выгрузка БД, Только управляемые формы)

3 стартмани

02.07.2015    19746    30    kentavr27    2       

15

Расшифровка аббревиатур форм собственности юридических и физических лиц

Инструменты и обработки Бухгалтер Платформа 1С v8.3 Конфигурации 1cv8 Украина Россия Windows Абонемент ($m) Подсистема Кадровый учет

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

1 стартмани

01.02.2015    16615    1    kentavr27    1       

0

Демонстрация работы сканера штрих кода "в разрыв клавиатуры" с использованием внешнего события.

Инструменты и обработки Системный администратор Программист Платформа 1С v8.3 Windows Абонемент ($m) Архив с данными Сканер штрих-кода

Данная конфигурация демонстрирует возможность использования сканера "в разрыв клавиатуры" с генерацией внешнего события. При этом дополнительные драйвера для сканера не используются. В конфигурации использована компонента FormEx от АЛьФ'а (для 7.7) и перехватчик клавиатуры NATIVE от Kobra_RU (для 8.2)

1 стартмани

17.03.2013    31650    115    kentavr27    3       

10

Комментарии

DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#13 01.08.21 3:51
(11)
PS
В справочнике характеристики у Вас в разделе Данные->Характеристики наверняка заполнена таблица. Возможно с этим связано поведение запроса
DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#12 01.08.21 3:39
(11)
Цитата
У меня такой запрос работает по "И"
Вот это как раз странно. Либо что-то не то, либо одно из двух :)
покрутите запрос из (1) в консоли запросов. Я его специально сделал без привязки к какой-либо конфигурации, что бы запускать без допиливания можно было где угодно.
DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#10 31.07.21 2:56
(9) это именно тот вариант, который приведен в (1). Он отрабатывает именно как "ИЛИ"
Например набор условий фильтра:

Предмет - шкаф
Размер - большой
Цвет - черный

Вернет все элементы, которые в свойствах содержат: Или "шкаф", или "большой", или "черный" даже если по факту это будет "черный маленький телевизор"

И как раз по этому и искал решение.

Если этот запрос модифицировать условием из (6) -- то тогда конечно подойдет! :) И именно в таком виде сейчас и работает

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

DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#8 30.07.21 3:57
(7)
Цитата
Так что лучше проверять не на количество свойств, а на количество значений
В принципе согласен. Правда я пока (по крайней мере в своей задачи) не вижу точки сбоя.
Я просто показал принцип довольно простого решения задачи. У себя на всякий случай переделал на проверку пары Свойство/Значение.
Правда в этом случае в качестве условия пришлось передавать ТЗ, а не массив.
DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#6 29.07.21 3:56
(1) если кому интересно, в общем и целом нашел простое решение...
самое главное в нем -- это статический текст запроса :)
ну а сводится к тому, что нужно добавить еще одно маленькое действие: на выходе сравнить количество удовлетворяющих свойств из списка переданного условия и отсечь все те элементы, количество удовлетворяющих свойств которых меньше размера переданных условий (массива, ТЗ, списка -- не имеет значения).
Выглядеть будет примерно так:
Код
ВЫБРАТЬ
   "Элемент1" КАК Элемент,
   ВложенныйЗапрос.Свойство КАК Свойство,
   ВложенныйЗапрос.Значение КАК Значение
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
   (ВЫБРАТЬ
      "Свойство1" КАК Свойство,
      1 КАК Значение
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство2",
      2
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство3",
      3
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство4",
      4) КАК ВложенныйЗапрос

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Элемент2",
   ВложенныйЗапрос.Свойство,
   ВложенныйЗапрос.Значение
ИЗ
   (ВЫБРАТЬ
      "Свойство1" КАК Свойство,
      1 КАК Значение
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство2",
      3) КАК ВложенныйЗапрос

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Элемент3",
   ВложенныйЗапрос.Свойство,
   ВложенныйЗапрос.Значение
ИЗ
   (ВЫБРАТЬ
      "Свойство1" КАК Свойство,
      1 КАК Значение
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство4",
      2
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство3",
      4) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ИсходныеДанные.Элемент КАК Элемент,
   ИсходныеДанные.Свойство КАК Свойство,
   ИсходныеДанные.Значение КАК Значение
ПОМЕСТИТЬ ВыборкаПоУсловию
ИЗ
   ИсходныеДанные КАК ИсходныеДанные
ГДЕ
   ИсходныеДанные.Значение В
         (ВЫБРАТЬ
            1 КАК Поле1
      
         ОБЪЕДИНИТЬ ВСЕ
      
         ВЫБРАТЬ
            3)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВыборкаПоУсловию.Элемент КАК Элемент,
   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВыборкаПоУсловию.Свойство) КАК КолВо
ПОМЕСТИТЬ КоличествоПодходящих
ИЗ
   ВыборкаПоУсловию КАК ВыборкаПоУсловию

СГРУППИРОВАТЬ ПО
   ВыборкаПоУсловию.Элемент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВыборкаПоУсловию.Элемент КАК Элемент,
   ВыборкаПоУсловию.Свойство КАК Свойство,
   ВыборкаПоУсловию.Значение КАК Значение
ИЗ
   ВыборкаПоУсловию КАК ВыборкаПоУсловию
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличествоПодходящих КАК КоличествоПодходящих
      ПО ВыборкаПоУсловию.Элемент = КоличествоПодходящих.Элемент
         И (КоличествоПодходящих.КолВо = 2)

где в КоличествоПодходящих.КолВо = 2
2 -- либо передать параметром в запрос, либо посчитать размер условия в этом же запросе (что я собственно и сделал на "боевой" задаче)
DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#5 29.07.21 3:47
(2) имеет право на жизнь, но... в макете запроса указал только два значения фильтра. А если их будет 10? Это нужно N соединений построить. И это динамическое построение текста запроса. Не самый лучший вариант...
Спасибо
DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#4 29.07.21 3:43
(3) в вашем варианте искомые значения в УСЛОВИИ запроса. А именно "Элемент_N" -- это то что нужно получить на выходе. Как же их можно в условие поместить? :)
Но спасибо за участие.
DevВопрос к знатокам запросов. Логическое"И" в условии с выборкой#1 28.07.21 1:01
Всем привет. Есть следующий общий макет запроса (без привязки к конкретным данным)
Код
ВЫБРАТЬ
   "Элемент1" КАК Элемент,
   ВложенныйЗапрос.Свойство КАК Свойство,
   ВложенныйЗапрос.Значение КАК Значение
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
   (ВЫБРАТЬ
      "Свойство1" КАК Свойство,
      1 КАК Значение
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство2",
      2
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство3",
      3
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство4",
      4) КАК ВложенныйЗапрос

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Элемент2",
   ВложенныйЗапрос.Свойство,
   ВложенныйЗапрос.Значение
ИЗ
   (ВЫБРАТЬ
      "Свойство1" КАК Свойство,
      1 КАК Значение
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство2",
      3) КАК ВложенныйЗапрос

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   "Элемент3",
   ВложенныйЗапрос.Свойство,
   ВложенныйЗапрос.Значение
ИЗ
   (ВЫБРАТЬ
      "Свойство1" КАК Свойство,
      1 КАК Значение
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство4",
      2
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
      "Свойство3",
      4) КАК ВложенныйЗапрос
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ИсходныеДанные.Элемент КАК Элемент,
   ИсходныеДанные.Свойство КАК Свойство,
   ИсходныеДанные.Значение КАК Значение
ИЗ
   ИсходныеДанные КАК ИсходныеДанные
ГДЕ
   ИсходныеДанные.Значение В
         (ВЫБРАТЬ
            1 КАК Поле1
      
         ОБЪЕДИНИТЬ ВСЕ
      
         ВЫБРАТЬ
            3)


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

Кто чем может помочь? Есть здесь такие ГУРУ?
AdminРевизия / копирование пользовательских настроек (управляемые формы)#2 12.07.21 2:52
(1) не совсем понял суть этого скриншота и что именно показывает обработка. К сожалению, у меня нет УНФ, что бы посмотреть. Но в принципе конфигурация не имеет значения. Напишите мне в личку -- попробуем разобраться