Имя: Пароль:
1C
1С v8
Помогите найти решение задачки из курса 1С
0 Dimon8822
 
08.04.22
06:59
Добрый день! Изучаю самостоятельно курс 1С в котором не могу разобраться с указанной ниже задачей (многие из ван наверняка её решали в своё время ). Не прошу код - подскажите путь решения, а то не могу понять, что в итоге должно получиться.
Заранее спасибо.

1. Создайте справочники «Контрагенты» и «Контактные лица».
2. Для «Контрагенты» должна быть  определена иерархия групп и элементов.  
3. Для «Контактные лица» определены реквизиты:  день рождения  и телефон.
4. Необходимо обеспечить, чтобы  одно и то же контактное лицо могло быть определено для разных контрагентов.  Например, Иванова Мария является главным бухгалтером организации «Альфа» и кассиром организации «Бета».
1 Обработка
 
08.04.22
07:03
(0) А что тут думать-то.
Создаешь два справочника. В первом реквизит контактное лицо.
Во втором 2 реквизита ДР и Тел.

Не забудь иерархию галочку поставить все.
ТУт тупо делаешь  и готово.
2 Обработка
 
08.04.22
07:04
+(1) Кода тут вообще нет. И не будет.
3 Обработка
 
08.04.22
07:04
Задача на 2-3 минуты для даже не 1сника. Если понять что есть справочник и ее реквизиты.
4 Aleksey
 
08.04.22
07:07
ТАк тут еще и должность где то хранить нужно
5 Обработка
 
08.04.22
07:09
По ходу очередной студент техникума решает задачу преподу зачет сдать.
6 Мимохожий Однако
 
08.04.22
07:22
Для начала открой конфигуратор и попытайся сделать хоть что-то.
7 Dimon8822
 
08.04.22
07:25
А я и не скрываю, что учусь, и до такого простого решения дойти действительно совсем не сложно, но тогда получаются просто 2 независимых справочника, а должна получиться какая-то единая структура, тк в задаче еще и должность фигурирует - Вот в этом и непонятность. Думал, что многие из вас решали её и просто направите на путь решения - дальше и сам разберусь.

Вся задача выглядит следующим образом:

1. Создайте справочники «Контрагенты» и «Контактные лица».
2. Для «Контрагенты» должна быть  определена иерархия групп и элементов.  
3. Для «Контактные лица» определены реквизиты
3,1 день рождения
3,2 и телефон.
4. Необходимо обеспечить, чтобы  одно и то же контактное лицо могло быть определено для разных контрагентов.  Например, Иванова Мария является главным бухгалтером организации «Альфа» и кассиром организации «Бетта».
5. Нужно хранить информацию о том, в какой должности числится контактное лицо для определённого  контрагента.
6. Создайте служебную обработку «Проверка контрагентов». При нажатии на кнопку «Выполнить» система должна выдавать список тех контрагентов, у которых не задано  контактное лицо.   При этом группы справочника контрагенты не должны обрабатываться.
8 Anchorite
 
08.04.22
07:30
Папа у Васи силен в математике,
Учится папа за Васю весь год,
Где это видано, где это слыхано,
Папа решает, а Вася сдает?
9 rphosts
 
08.04.22
07:32
(3) не одинэснегу не знающему где что искать в свойствах и конфигураторе - не на 2 минуты а чуть подольше
10 Мимохожий Однако
 
08.04.22
07:34
(7) Выполни пункт 1. И посмотри, что получилось.Будут вопросы-пиши. Задача поставлена вполне понятно и последовательно. Решай проблемы по мере поступления, т.е. по пунктам.
11 alarm2020
 
08.04.22
07:36
(0) Регистр сведений
12 Dimon8822
 
08.04.22
07:38
10) Дошёл до 4-го пп и завис, тк не могу сообразить какую структуру в итоге нужно создать, поэтому и решил попросить помощи у Вас.
13 Dimon8822
 
08.04.22
07:39
До Регистров сведений курс ещё не дошёл
14 Kigo_Kigo
 
08.04.22
08:57
В справочнике контрагента создай реквизит с типом должность, с ссылкой на справочник должности, второй реквизит - Исполнитель, со ссылкой на «Контактные лица»
5- автоматом от 4-го
6 простенький запрос к справочнику Контрагенты, где Исполнитель = Справочники.КонтактныеЛица.ПустаяСсылка() и  безГрупп
15 yurikmellon2
 
08.04.22
09:04
(14) хм, и как в таком решении указать, что МарьВанна ГлБух контрагента Альфа, в ПалВасилич ГенДир в той же Альфа? Две записи в справочнике Контрагенты для двух должностей?
16 Kigo_Kigo
 
08.04.22
09:05
(15) Это уже ТЧ, но так вопрос не стоит
17 yurikmellon2
 
08.04.22
09:07
(16) ну если ТС это ещё не проходил, то может лучше ещё один служебный справочник с полями ФИО/Должность/Контрагент
18 Ryzeman
 
08.04.22
09:07
Задача выглядит не полной. Где и как должна информация по должностям храниться? На усмотрение исполнителя?
(7)>>но тогда получаются просто 2 независимых справочника, а должна получиться какая-то единая структура,
Это нормально, они и должны быть независимыми. Подчинённость тут не нужна, это исходит из условия задачи. У тебя будет просто один реквизитом другого.

В типовых это сделано в виде табличной части. Но я не думаю, что у тебя стоит так заморачиваться. Там кстати должность - это всё-таки реквизит контактного лица, что в целом логично.
19 Kigo_Kigo
 
08.04.22
09:11
безГрупп =
ГДЕ
    (Контрагент.ЭтоГруппа = ЛОЖЬ)
     и (Контрагент.Исполнитель = &ПустойСполнитель)

Запрос.УстановитьПараметр("ПустойСполнитель",Справочники.КонтактныеЛица.ПустаяСсылка());
(17) думаю сейчас на этом не стоит заостратся, а то ему кол влепят :)

(18) Там кстати должность - это всё-таки реквизит контактного лица, это реквилит контрагента, одно и тоже КонтЛицоа у разных контрагентов в разных должностях , читай задание
20 Ryzeman
 
08.04.22
09:14
(19) Я прочитал. Просто дал человеку к сведению для расширения кругозора. Вряд ли он видел типовые конфы в глаза.
21 Kassern
 
08.04.22
09:20
(0) вам даже по шагам расписали, что нужно сделать в задаче
создать справочники - это вы умеете делать? Добавлять реквизиты справочника, выбирать тип данных для нового реквизита? Выводить это дело на форму?
делать привязки по владельцу между справочниками
"Необходимо обеспечить, чтобы  одно и то же контактное лицо могло быть определено для разных контрагентов" - это значит привязка "один ко многим", получается, что владельцем справочника контактных лиц должен быть справочник контрагенты.
22 yurikmellon2
 
08.04.22
09:21
(19) реквизит "Должность" в справочнике "Контрагенты", это костыль всем костылям костыль. Даже из условия задачи видно, что МарьВанна может быть и Кассиром и ГлБухом. Получается, что в Контрагенте мы может указать только одну должность, что ну совсем оторвано от реальности. Ну или отдельная запись для в справочнике Контрагенты для каждой должности, что тоже криво и ещё как.
23 Kassern
 
08.04.22
09:22
(22) в задаче ни слова про должность, только лишь пример, что одно и то же контактное лицо может быть у 2 контрагентов
24 yurikmellon2
 
08.04.22
09:23
(19) хотя, может и вправду, не стоит усложнять. Но ведь потом такие спецы приходят с парадигмой: куяк куяк и в продакшн
25 yurikmellon2
 
08.04.22
09:24
(23) как это ни слова? вот же "Например, Иванова Мария является главным бухгалтером организации «Альфа» и кассиром организации «Бетта»."
26 Kassern
 
08.04.22
09:25
(25) это в контексте "Необходимо обеспечить, чтобы  одно и то же контактное лицо могло быть определено для разных контрагентов"
27 Kassern
 
08.04.22
09:26
можно было проще написать без должностей, мол Марьиванна может быть как у контрагента альфа, так и у бета. Должности это лишь пример реальный не более.
28 yurikmellon2
 
08.04.22
09:28
(27) в том то и дело, что ни фига не реальный. Просто МарьВанна как контактное лицо у Контрагента, тут да. Понятие должности лишнее, оно только всё запутывает
29 Kassern
 
08.04.22
09:34
(28) то что запутывает, это хорошо)) Подготавливает 1сника к реальной жизни, заказчики будут еще не так запутывать в своих хотелках)
30 Обработка
 
08.04.22
09:55
(0)  https://disk.yandex.kz/d/9xyZo7PNwb3weQ

Вот скачай и загрузи базу. там все есть.
На него потратил 10-15 мин.
31 dvrk
 
08.04.22
09:58
(30) что там?
у меня версия платформы не подходит)
32 dvrk
 
08.04.22
10:03
(31) ой бл...
33 Обработка
 
08.04.22
10:04
(31) На 18м релизе сделал его задачу полностью.
Для его уровня это просто 5 баллов.
34 Kassern
 
08.04.22
10:05
(33) не надо так делать, иначе смысла нет в задаче
35 Kigo_Kigo
 
08.04.22
10:05
(22) Ну да костыль, давайте еще РС ему порекомендуем, Контрагент/Должность/КонтактноеЛицо, да еще и переодический, ведь сегодня МарьВанна кассир, завтра ГлБух  и о боже, она же может быть и продавцом, вот так будет правильно :)))
36 Обработка
 
08.04.22
10:05
Создал РС "должности контактных лиц" хотя правильнее было бы создать просто контактные лица контрагента а и обойтись без реквизита.
Но мое решение тоже имеет место быть.
37 Kassern
 
08.04.22
10:05
он должен своим умом дойти, иначе 1сником вряд ли станет, максимум, можно подсказать статьями, или навести на мысль
38 Kassern
 
08.04.22
10:06
не надо вообще ничего про должности делать в этой задаче
39 Kigo_Kigo
 
08.04.22
10:06
Такими темпами, мы до ЕРП дойдем :)))
40 rsv
 
08.04.22
10:06
(0) да в общем тут и одинэса нет.
Задача на создание двух табличек в реляционной базе данных.
1с потом появится …. Выгрузить в json , распарсить , перегнать в xml ,
Далее распарсить  xml , обратно в таблички и запрос…..и тд
41 Обработка
 
08.04.22
10:07
(34) Если он умный то повторит сам а не заюзает решение. И если надо улучшит иначе ничего не поможет.
42 Kigo_Kigo
 
08.04.22
10:07
(7) к (38) Цитата - 5. Нужно хранить информацию о том, в какой должности числится контактное лицо для определённого  контрагента.
43 rsv
 
08.04.22
10:08
+(40) и незабыть конечно фоновые … в очереди
44 Kassern
 
08.04.22
10:09
(43) а как же все это дело обмазать веб сервисами?
45 Kassern
 
08.04.22
10:09
ну и вишенкой на торте будет написание внешней компоненты для кролика
46 Обработка
 
08.04.22
10:13
Решение без РС...

https://disk.yandex.kz/d/U6T8ehVAcnxo6Q
47 Kassern
 
08.04.22
10:16
(46) как там ваши розницы поживают, не тормозят уже?)
48 Обработка
 
08.04.22
10:18
(47) Пока норм работает. Чтоб облегчить обмены решили уменьшить размер пакета отправлений в РИБ.
А это как раз при создании сегмента было. Задачу можешь глянуть у меня в темах. И как решаю.
49 Fish
 
08.04.22
10:19
(23) Смотри п.5 в (7)
50 Kassern
 
08.04.22
10:19
(49) увидел уже, ТС не удосужился сразу все пункты написать...
51 Dmitrii
 
гуру
08.04.22
10:21
(13) >> До Регистров сведений курс ещё не дошёл.

Значит табличная часть КонтактныеЛица у справочника Контрагенты. В табличной части два реквизита - Должность (строка) и КонтактноеЛицо (СправочникСсылка.КонтактныеЛица).
52 Обработка
 
08.04.22
10:25
(51) Не сказано что их (кнтактных лиц) может быть несколько в задаче.
53 Fish
 
08.04.22
10:28
(52) Я бы даже сказал, что по п.6 из условий в (7) явно сказано, что контактное лицо одно. Но это не точно.
54 rsv
 
08.04.22
10:34
(51) зачем таблички плодить . Есть же контрагенты и пункт 2 при нем . Это значит
что в этой табличке появляется поле парент ( родитель) , имха группа должность ( наименование) , элемент контрагент. Выше группы
должность при необходимости еще куча  групп ( организация и тд)
55 Dimon8822
 
08.04.22
14:44
(46) Спасибо за потраченное время.
56 Leo81
 
12.04.22
02:56
(21) А может наоборот? Как ты планируешь элементу подчиненного справочника десяток родителей задать? Только там в задаче проблема в другом, что связь должна быть много ко многим (т.к. у контрагента тоже может быть несколько контактных лиц), а потом еще (при дальнейшей доработке) в документах реализации будет необходимо указывать обязательный реквизит - контактное лицо для каждого контрагента.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn