Как сделать связь в 1с

Обновлено: 03.07.2024

Чтобы не курочить справочник Номенклатуры был создан справочник "Объекты", который содержит кучу полей, параметров, статусов и т.д. Т.е. этот справочник дополняет свойствами нужные элементы справочника "Номенклатура".

Элементы справочника "Объекты" необходимо связать с элементами справочника "Номенклатура".

Как лучше это сделать, чтобы было удобно в отчетах и компоновке через номенклатуру получать элемент справочника "Объекты".

Приходит на ум два варианта:
1. Регистр сведений, но тогда усложняется получение данных в компоновке.
2. Создать реквизит "Объект" в Номенклатуре и реквизит "Номенклатура" в объекте - но это как-то не красиво.

Есть еще варианты?

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

(0) вообще в типовых доп.реквизиты организуются регистром сведений типа:

Номенклатура1 - НазваниеДопРеквизита1- ЗначениеДопРевизита1.
Номенклатура1 - НазваниеДопРеквизита2- ЗначениеДопРевизита2.
Номенклатура2 - НазваниеДопРеквизита1- ЗначениеДопРевизита3.

Т.е. добавить регистр сведений вместо спр. Объекты.

В типовый такой, например "ЗначенияСвойствОбъектов" (как-то похоже зовется)

(3) Свойствами это не решить. Справочник "Объекты" параллелен справочнику "Номенклатура" и используется как основополагающий в других разрезах учета.

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: делаем связь наборов данных

Автор уроков и преподаватель школы: Владимир Милькин

Ставим цель

  • Написать отчёт, который выводит клиентов и их любимые продукты. У каждого клиента есть любимый цвет, а у каждого продукта свой цвет - вот на основании этих цветов и нужно определять "любимость" продукта. К примеру, если у Андрея любимый цвет красный, то одним из его любимых продуктов будут помидоры (они красного цвета).
  • Применить в отчёте два набора данных. Первый набор - это данные из таблицы справочника "Клиенты". Второй - данные из таблицы справочника "Еда".
  • Осуществить связь этих двух наборов, чтобы в отчёте остались только любимые продукты для каждого из клиентов.

Создаем новый отчет

Открываем базу "Гастроном" в конфигураторе и через главное меню создаём новый отчет:

Вид документа - "Внешний отчет":

В форме нового отчёта указываем имя "Урок6" и нажимаем кнопку "Открыть схему компоновки данных":


Оставляем имя схемы по умолчанию:

Добавляем первый набор данных

В открывшейся схеме переходим на закладку "Наборы данных" и через зелёный плюсик выбираем "Добавить набор данных - запрос":


Вызываем конструктор запроса:


Указываем таблицу "Клиенты" и поля, которые требуется получить из запроса:

Получился такой текст запроса:


Добавляем второй набор данных

Выделяем мышкой пункт "Наборы данных".


. и добавляем ещё один набор данных - запрос:


Выделяем его (НаборДанных2) и снова вызываем конструктор запроса:


Указываем таблицу справочника "Еда" и поля, которые требуется получить из запроса:

Получился такой текст запроса:


Обратите внимание, что у нас сейчас в отчёте присутствуют два набора данных: НаборДанных1 и НаборДанных2. У каждого свой текст запроса и свои данные.

Делаем имена более наглядными

Для наглядности, давайте переименуем НаборДанных1 в Клиенты, а НаборДанных2 в Еда.

Сделайте это двойным щелчком по каждому из наборов:


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

В данный момент у набора "Клиенты" следующие поля: "Наименование" и "ЛюбимыйЦвет", а у набора "Еда": "Наименование" и "Цвет".

Видим, что имена пересекаются и мы легко запутаемся. Поэтому давайте изменим имена полей на более говорящие.

Выделяем набор "Клиенты" и меняем имена полей так:


Затем выделяем набор "Еда" и меняем имена полей так:


Вызываем конструктор настроек

Наконец, переходим на закладку "Настройки" и нажимаем волшебную палочку, чтобы вызвать конструктор настроек:


Тип отчета - "Список. ":

Выбираем поля для отчета из обоих наборов:

Видите почему так важно было изменить имена полей? На этапе настроек компоновки данных мы не видим из каких наборов эти поля. Видим только их имена.

Проверяем отчёт

Сохраняем отчет и формируем в режиме пользователя:


Ага. Хорошо, но не совсем. Произошло так называемое перекрёстное соединение двух наборов (вам это должно быть хорошо знакомо по соединениям в запросах, которые мы изучали в прошлых модулях). Каждой записи из таблицы "Клиенты" сопоставлена запись из таблицы "Еда".

Но нам нужно из всех этих записей оставить только те у которых поле "ЛюбимыйЦветКлиента" равно полю "ЦветЕды":


Осуществляем связь двух наборов данных

Для этого осуществим связь двух наборов данных (Клиенты и Еда) по полям ЛюбимыйЦветКлиента и ЦветЕды.

Переходим на закладку "Связи наборов данных" и нажимаем на кнопку-плюсик, чтобы добавить новую связь:


Настраиваем параметры как на рисунке ниже:


Источник и приёмник связи. Ну тут всё понятно. Указываем первый набор (Клиенты) и второй набор (Еда) данных. Хочу обратить особое внимание, что связь будет осуществляться по принципу внешнего левого соединения (мы его проходили в теме запросов в прошлых модулях). Исходя из этого и нужно выбирать какой набор будет источником, а какой приёмником.

Выражение источник. Указываем здесь выражение или просто поле из набора данных источника (мы здесь указали поле ЛюбимыйЦветКлиента из набора Клиенты).

Выражение приемник. Указываем здесь выражение или просто поле из набора данных приёмника (мы здесь указали поле ЦветЕды из набора Еда).

Таким образом данная связь оставит из прошлого списка только те строки, у которых поле ЛюбимыйЦветКлиента равно полю ЦветЕды.

Сохраним отчёт и запустим в режиме пользователя:


Сделаю пояснение про поле "Условие связи", об которое так часто бьют свои копья начинающие программисты.

Условие связи - это вспомогательное поле. Туда можно писать выражения с участием полей только из набора данных, указанного в источнике связи.

В этом случае для всех строк из источника связи перед осуществлением связи будет проверяться это выражение (условие связи). И если это выражение равно ИСТИНА, то будет предприниматься попытка установить связи этой строки со строками из приемника связи. Если же выражение равно ЛОЖЬ, то таких попыток предприниматься не будет.

Вот, к примеру, давайте поставим такую цель: сделать так, чтобы связь указанных нами наборов данных осуществлялась только, если клиента зовут "Андрей". То есть любимые продукты (если они есть) выводились только для Андрея, а для других клиентов - не выводились (даже если они есть).

Очень просто. Напишем в условии связи выражение ИмяКлиента = "Андрей":


Сохраним отчёт и сформируем в режиме пользователя:


Войдите на сайт как ученик

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Для реализации поставленной задачи необходимо выполнить следующие действия:

1. Добавить кнопку вывода отчета на форму

Для этого можно:

// СтандартныеПодсистемы.ПодключаемыеКоманды
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

2. Настроить критерий отбора СвязанныеДокументы

Тип критерия отбора

Перечень подчиненных объектов указывается на вкладке Состав.

Состав критерия отбора

Остались вопросы?
Спросите в комментариях к статье.

Типы связей, которые могут существовать между перечисленными сущностями, хранятся в справочнике; при этом в нем сразу задано множество предопределенных значений:

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

Вопрос 02.28 экзамена 1С:Профессионал по Документообороту. Новый тип связи внутреннего документа может быть создан:

  1. пользователем в режиме 1C: Предприятие
  2. программистом в режиме Конфигуратор
  3. верны ответы 1 и 2

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

Вопрос 02.39 экзамена 1С:Профессионал по Документообороту. При создании внутреннего документа на основании другого внутреннего документа:

  1. автоматически устанавливается предопределенная связь между ними.
  2. можно для удобства связать эти документы, но только вручную.
  3. связь может быть установлена автоматически, если предварительно будет создан тип связь данных видов документов.
  4. связывать внутренние документы нельзя.

Верный ответ третий, см. выше.

Вопрос 02.45 экзамена 1С:Профессионал по Документообороту. Чтобы посмотреть связи внутреннего документа необходимо:

  1. в учетной карточке внутреннего документа перейти на закладку "Связи".
  2. в форме списка внутренних документов в меню "Еще", подгруппе "Просмотр" выполнить команду "Связи", будут показаны все связи текущего в списке документа.
  3. сформировать отчет "Структура связей документа".
  4. верны варианты 1 и 3.
  5. верны варианты 1, 2 и 3.

Правильный ответ четвертый.

Вопрос 02.01 экзамена 1С:Профессионал по Документообороту. В карточке внутреннего документа можно посмотреть связанные с ним:

  1. записи форума.
  2. протокол работы и историю срока действия.
  3. мероприятия.
  4. верны варианты 2 и 3.
  5. верны варианты 1, 2 и 3.

Правильный ответ пятый. Обсуждения (форум) точно можно посмотреть, рис. ниже. Мероприятия могут быть привязаны через связи.

Вопрос 02.26 экзамена 1С:Профессионал по Документообороту. На основании внутреннего документа можно создавать:

  1. исходящий документ, процесс.
  2. мероприятие, запись календаря.
  3. внутренний документ.
  4. верны варианты 1 и 3.
  5. верны варианты 1, 2 и 3.

Вопрос 02.40 экзамена 1С:Профессионал по Документообороту. При создании внутреннего документа на основании другого внутреннего:

В данной статье подробно описан процесс настройки синхронизации 1С:БП и 1С:ЗУП, а также описаны возможные варианты настройки синхронизации.

Перечень синхронизируемых данных

Документы:

1.jpg

Регламентированные отчеты:

Расчет по страховым взносам;

Подтверждение вида деятельности;

Соответствие условий труда;

Сведения о среднесписочной численности;

Необходимые условия для синхронизации

Для успешной настройки синхронизации данных БП 3.0 и ЗУП 3.1 обязательно выполнение ряда условий:

1. Релизы конфигурации ЗУП и БП должны быть выпущены примерно в одно время.

Перед настройкой синхронизации необходимо проверить релизы БП и ЗУП. Фирма 1С всегда поддерживает конфигурации в актуальном состоянии и выпускает несколько релизов обновлений за один месяц, в некоторых релизах присутствуют значительные изменения, например, появляются новые объекты. Они появляются как в ЗУП, так и в БП, поэтому для успешной настройки синхронизации релизы этих двух конфигураций должны быть примерно одинаковыми. При сравнении можно ориентироваться на месяц выпуска релиза.

2. Настройку синхронизации должен настраивать пользователь с полными правами.

Если в вашей информационной базе заведены пользователи, то настраивать синхронизацию должен пользователь с полными правами.

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

Перейти к справочнику можно следующим образом:

2.jpg

3.jpg

4.jpg

Перейти к справочнику можно следующим образом:

5.jpg

6.jpg

В ЗУП справочник хранит только наименование способа отражения, так как проводок в конфигурации нет.

7.jpg

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

Настройка синхронизации

8.jpg

Для этого необходимо перейти в раздел Администрирование – Синхронизация данных как в БП, так и в ЗУП.

9.jpg

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

10.jpg

Далее можно начать настройку в любой из ИБ. В примере настройка синхронизации будет начинаться в ЗУП.

11.jpg

Далее открывается список всех существующих синхронизаций, если синхронизация настраивается впервые, список будет пуст.

12.jpg

Первый этап настройки в ЗУП. Настройка параметров подключения.

14.jpg

В окне представлены возможные варианты настройки подключения. Необходимо выбрать подходящий вам способ подключения к БП. Варианты настройки перечислены на картинке ниже.

15.jpg

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

Читайте также: