|
Создать группу в справочнике "Виды контактной информации" | ☑ | ||
---|---|---|---|---|
0
GoldMax2024
23.04.24
✎
11:40
|
Конфигурация ERP
В справочник претензии необходимо добавить группу "Контактная информация". Работа в этой группе будет методами БСП. Для этого в справочник "Виды контактной информации" необходимо добавить группу "СправочникПретензии". Все группы в справочнике "Виды контактной информации" являются предопределенными. Создавать новые группы запрещено. Как в расширении добавить новую предопределенную группу в справочник "Виды контактной информации"? Как можно добавить группу в этот справочник запросом? |
|||
1
GoldMax2024
23.04.24
✎
11:43
|
Программно создаю группу
&НаСервере Процедура СоздатьГруппуСправочникаВидыКонтактнойИнформацииНаСервере() ГруппаСправочника = Справочники.ВидыКонтактнойИнформации.СоздатьГруппу(); ГруппаСправочника.Наименование = "СправочникПретензии"; ГруппаСправочника.Записать(); КонецПроцедуры В справочнике группа не создается. Как программно создать группу в этом справочнике? |
|||
2
Волшебник
23.04.24
✎
11:43
|
>> ГруппаСправочника + """!" + ОписаниеОшибки());
Это что за ошмётки кода? |
|||
3
GoldMax2024
23.04.24
✎
11:52
|
(2) Исправил. Пытался каким то образом создать группу.
|
|||
4
GoldMax2024
23.04.24
✎
16:33
|
Справочник ВидыКонтактнойИнформацииНаСервере() заполнил.
Создал группу и 2 подчиненных элемента: - Адрес - Телефон В форме элемента справочника Претензии создал Группу - типа Страница для размещения контактной информации. В Модуле формы добавил все необходимые процедуры для отображения средствами БСП. Но на форме элемента справочника Претензии вкладка с контактной информацией не появляется. Что еще необходимо сделать чтобы появилась возможность вносить контактные данные средствами БСП в этот справочник? |
|||
5
Волшебник
23.04.24
✎
16:35
|
Что за молитвы на БСП? Вносите сразу в регистр сведений
|
|||
6
GoldMax2024
23.04.24
✎
16:38
|
(5) Пользователю надо показать диалог чтобы он мог вносить контактную информацию. Но вкладка с дополнительными реквизитами не появляется.
|
|||
7
Волшебник
23.04.24
✎
16:40
|
(6) Покажите форму записи регистра
|
|||
8
GoldMax2024
23.04.24
✎
16:51
|
(7) В регистр еще нечего записывать. На экране нет диалога чтобы пользователь мог внести контактные данные
|
|||
9
АннаО
23.04.24
✎
16:54
|
Права то дали?
|
|||
10
Кондер
23.04.24
✎
16:57
|
(0) Сова на глобус.
|
|||
11
Волшебник
23.04.24
✎
16:58
|
(8) Покажите форму для новой записи регистра
|
|||
12
GoldMax2024
23.04.24
✎
17:00
|
(9) Да. Но лучше проверить. Кому и какие права необходимо предоставить?
|
|||
13
АннаО
23.04.24
✎
17:09
|
А табличная часть "КонтактнаяИнформация" в справочнике Претензии есть?
|
|||
14
Кондер
23.04.24
✎
17:12
|
(13) Разумненько, но откуда ему там быть
|
|||
15
unenu
23.04.24
✎
17:16
|
(0)
1. В расширении установить свойства "иерархический", "галка", "Иерархия групп и элементов" 2. Добавить группу в расширении. Без п.1 нет кнопки группы. 3. Найти обработку "Универсальный подбор и обработка объектов" или программно установить реквизит созданной группы "Используется" в значение Истина. Тогда новая группа станет видна в списках и при выборе. Если посмотреть в произвольные запросы списков, то именно этот реквизит "блокирует" вывод новых групп. Добавить группу возможно, как это повлияет на обмены и прочее неведомо, вероятно никак. |
|||
16
unenu
23.04.24
✎
17:50
|
+ После удаления добавленной в расширении предопределенной группы - списки в приложении перестанут открываться пока не выполнить удаление помеченных объектов.
|
|||
17
GoldMax2024
23.04.24
✎
18:23
|
(15) Ошибка была в имени группы. Новая группа должна иметь название - "СправочникПретензии".
Потом у этой группы надо программно установить реквизит созданной группы "Используется" в значение Истина. |
|||
18
GoldMax2024
23.04.24
✎
18:28
|
(17) Все получилось. В справочнике претензии пользователь может заполнять контактную информацию в новой вкладке "Контактные данные".
Теперь следующая задача. Теперь вкладку контактную информацию надо заполнить программно из заказа клиента. Я делаю так: ТаблицаКонтактов = ДанныеЗаполнения.Контрагент.КонтактнаяИнформация.Выгрузить(); КонтактнаяИнформация.Загрузить(ТаблицаКонтактов); Табличная часть "КонтактнаяИнформация" заполняется , но на экране не отображается. При записи и повторном открытии формы вкладка "КонтактнаяИнформация" остается пустой. Как отобразить на экране заполненную табличную часть "контактнаяИнформация"? |
|||
19
GoldMax2024
24.04.24
✎
10:19
|
Как программно заполнить вкладку контактные данные из табличной части "Контактные данные"?
|
|||
20
yopQua
24.04.24
✎
10:22
|
(19) вернуть заполненные данные клиенту?
|
|||
21
GoldMax2024
24.04.24
✎
10:30
|
(20) Претензию создаю из заказа клиента. Программно заполняю пустые поля. Все поля заполняются а вкладка "Контактные данные остается пустой.
Но при этом табличная часть "Контактные данные" заполнена. Как отобразить на экране контактные данные? |
|||
22
GoldMax2024
24.04.24
✎
12:59
|
ТаблицаКонтактов = ДанныеЗаполнения.Контрагент.КонтактнаяИнформация.Выгрузить();
КонтактнаяИнформация.Загрузить(ТаблицаКонтактов); Этот код не помогает решить прооблему. Табличная часть заполнена а на экране пустые поля. Как отобразить на экране контактные данные? |
|||
23
maxab72
24.04.24
✎
13:04
|
Ностальгия. У меня когда-то такие же проблемы были, пока я не полистал книжку Радченко...
|
|||
24
GoldMax2024
24.04.24
✎
14:24
|
(23) Что советует в этой ситуации Радченко?
|
|||
25
maxab72
24.04.24
✎
14:45
|
(24) Пересказывать Радченко все равно что пытаться напеть из Карузо...
|
|||
26
GoldMax2024
24.04.24
✎
15:17
|
(26) Зашел в тупик. Пожалуйста подскажите если знаете решение задачи
|
|||
27
maxab72
24.04.24
✎
15:20
|
||||
28
GoldMax2024
24.04.24
✎
15:33
|
(27) Прочитал. Но все еще не понятно как решить мою задачу
|
|||
29
maxab72
24.04.24
✎
15:53
|
(28) У вас есть какой-то список (это могут быть данные из тч объекта базы или произвольная коллекция), и экранная форма для вывода списков. Вам надо их связать, как указано в книге. Тогда то что будет в списке отобразится на экране. При чтении не прыгайте, а идите последовательно, тогда увидите в чем суть.
|
|||
30
GoldMax2024
24.04.24
✎
16:25
|
(29) Если контактную информацию заполнять вручную то все работает отлично.
Не работает если контактная информация заполняется программно. Здесь проблема не в связях. Проблема в БСП. |
|||
31
Волшебник
24.04.24
✎
16:47
|
(30) Если проблема в БСП, то не используйте БСП
|
|||
32
GoldMax2024
24.04.24
✎
17:30
|
(31) Использование БСП обязательно
|
|||
33
maxab72
24.04.24
✎
18:31
|
Ни разу не обязательно. Если работает без БСП.
|
|||
34
Волшебник
24.04.24
✎
19:23
|
(32) Я Вам разрешаю не использовать БСП.
|
|||
35
GoldMax2024
24.04.24
✎
19:36
|
(35) Руководитель не разрешает
|
|||
36
Волшебник
24.04.24
✎
20:03
|
(35) Ваш руководитель мне не авторитет
|
|||
37
DrZombi
гуру
25.04.24
✎
06:27
|
(1) Оно таки просто не работает... :)
Хотя в последних версиях БСП 1С ушла от предопределённых элементов. И пришла к тому, что в справочнике есть обязательные поля к заполнению. |
|||
38
DrZombi
гуру
25.04.24
✎
06:29
|
(30) Проблема только в вас, БСП работает четко по своим правилам... А ваши надумки БСП не волнуют :DDDDD
|
|||
39
DrZombi
гуру
25.04.24
✎
06:32
|
(35) Читать до просветления. Смотреть в код.
Подсистема БСП «Контактная информация» https://its.1c.ru/db/pubcloud1c/content/80/hdoc Немного видео, для понимания. https://infostart.ru/video/w513422/ Если вы правите основную конфигурацию, то тут проще всего. Если вы правите через расширения, то вам придется немного тяжелее, но тоже можно присобачить свой справочник из расширения. Ваша группа создается, так то. Но система вашу группу попросту прячет, т.к. она не определена, как активная. :) |
|||
40
DrZombi
гуру
25.04.24
✎
06:39
|
+(30) Рекомендую вам ознакомиться с обработкой "Подсистема "Инструменты разработчика" 1С 8 "
https://devtool1c.ucoz.ru/ Там есть редактор объектов, удобная вещь для анализа элементов, просто визуально видно, какие реквизиты и как заполнены. Вам теперь надо ваши ново созданные элементы сравнить с тем, что создано в самой 1С ЕРП, т.е. сравнить с типовыми контактными элементами... И вы немного просветлеете, поняв, что и как вы не заполнили дополнительно :) |
|||
41
GoldMax2024
25.04.24
✎
10:46
|
(39) Видео я уже видел и все сделал по нему. Но видео для основной конфигурации. В расширении надо делать немного сложнее. Это я все уже сделал. В ручном режиме можно работать с контактной информацией.
Проблема сейчас при программном заполнении контактной информации (КИ). Процедура ФР_ПриСозданииНаСервере(Форма, Объект, Знач ДополнительныеПараметры, УдалитьПоложениеЗаголовкаКИ, Знач УдалитьИсключаемыеВиды, УдалитьОтложеннаяИнициализация Внутри этой процедуры в запросе возвращаются пустые строки КИ. Вот текст этого запроса: ВЫБРАТЬ КонтактнаяИнформация.Представление КАК Представление, КонтактнаяИнформация.Значение КАК Значение, КонтактнаяИнформация.ЗначенияПолей КАК ЗначенияПолей, КонтактнаяИнформация.НомерСтроки КАК НомерСтроки, КонтактнаяИнформация.ДействуетС КАК ДействуетС, КонтактнаяИнформация.ЭтоИсторическаяКонтактнаяИнформация КАК ЭтоИсторическаяКонтактнаяИнформация, КонтактнаяИнформация.Вид КАК Вид, 0 КАК ИдентификаторСтрокиТабличнойЧасти ПОМЕСТИТЬ КонтактнаяИнформация ИЗ &ТаблицаКонтактнойИнформации КАК КонтактнаяИнформация ИНДЕКСИРОВАТЬ ПО Вид ;//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВидыКонтактнойИнформации.Ссылка КАК Вид, ВЫБОР КОГДА ВидыКонтактнойИнформации.ИмяПредопределенногоВида <> "" ТОГДА ВидыКонтактнойИнформации.ИмяПредопределенногоВида ИНАЧЕ ВидыКонтактнойИнформации.ИмяПредопределенныхДанных КОНЕЦ КАК ИмяПредопределенногоВида, ВидыКонтактнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных, ВидыКонтактнойИнформации.Тип КАК Тип, ВидыКонтактнойИнформации.ОтображатьВсегда КАК ОтображатьВсегда, ВидыКонтактнойИнформации.ОбязательноеЗаполнение КАК ОбязательноеЗаполнение, ВидыКонтактнойИнформации.ВидПоляДругое КАК ВидПоляДругое, ВидыКонтактнойИнформации.РазрешитьВводНесколькихЗначений КАК РазрешитьВводНесколькихЗначений, ВидыКонтактнойИнформации.Наименование КАК ПредставлениеНаОсновномЯзыке, ВидыКонтактнойИнформации.Наименование КАК Наименование, ВидыКонтактнойИнформации.ХранитьИсториюИзменений КАК ХранитьИсториюИзменений, ВидыКонтактнойИнформации.ВидРедактирования КАК ВидРедактирования, ВидыКонтактнойИнформации.ЭтоГруппа КАК ЭтоРеквизитТабличнойЧасти, ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, ВидыКонтактнойИнформации.МеждународныйФорматАдреса КАК МеждународныйФорматАдреса, ВидыКонтактнойИнформации.ВводитьНомерПоМаске КАК ВводитьНомерПоМаске, ВидыКонтактнойИнформации.МаскаНомераТелефона КАК МаскаНомераТелефона, ЕСТЬNULL(КонтактнаяИнформация.ЭтоИсторическаяКонтактнаяИнформация, ЛОЖЬ) КАК ЭтоИсторическаяКонтактнаяИнформация, ЕСТЬNULL(КонтактнаяИнформация.Представление, "") КАК Представление, ЕСТЬNULL(КонтактнаяИнформация.ЗначенияПолей, "") КАК ЗначенияПолей, ЕСТЬNULL(КонтактнаяИнформация.Значение, "") КАК Значение, ЕСТЬNULL(КонтактнаяИнформация.ДействуетС, 0) КАК ДействуетС, ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки, ЕСТЬNULL(КонтактнаяИнформация.ИдентификаторСтрокиТабличнойЧасти, 0) КАК ИдентификаторСтрокиТабличнойЧасти, ВЫРАЗИТЬ("" КАК СТРОКА(200)) КАК ИмяРеквизита, ВЫРАЗИТЬ("" КАК СТРОКА(200)) КАК ИмяРеквизитаКомментарий, ВидыКонтактнойИнформации.ПометкаУдаления КАК ПометкаУдаления, ВЫРАЗИТЬ("" КАК СТРОКА) КАК Комментарий ИЗ Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации ЛЕВОЕ СОЕДИНЕНИЕ КонтактнаяИнформация КАК КонтактнаяИнформация ПО ВидыКонтактнойИнформации.Ссылка = КонтактнаяИнформация.Вид ГДЕ ВидыКонтактнойИнформации.Используется И ЕСТЬNULL(ВидыКонтактнойИнформации.Родитель.Используется, ИСТИНА) И ( ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ ИЛИ ВидыКонтактнойИнформации.Родитель.Родитель = &ГруппаВидовКИ) И ВидыКонтактнойИнформации.Ссылка НЕ В (&СкрываемыеВиды) УПОРЯДОЧИТЬ ПО ВидыКонтактнойИнформации.Ссылка ИЕРАРХИЯ |
|||
42
Волшебник
25.04.24
✎
10:49
|
Условие:
ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ ИЛИ ВидыКонтактнойИнформации.Родитель.Родитель = &ГруппаВидовКИ Лучше оформить так: ВидыКонтактнойИнформации.Ссылка В ИЕРАРХИИ(&ГруппаВидовКИ) |
|||
43
GoldMax2024
26.04.24
✎
12:35
|
(42) Этот запрос из БСП. Оставлю его без изменений
|
|||
44
GoldMax2024
26.04.24
✎
12:38
|
Задача решена успешно.
При копировании табличных частей неправильно заполнял поле "Вид". Вот такой получился код для решения этой задачи Если ТипДанныхЗаполнения = Тип("ДокументСсылка.ЗаказКлиента") Тогда Наименование = "Претензия клиента по заказу " + ДанныеЗаполнения.Номер + " от " + ДанныеЗаполнения.Дата; ВиновноеПодразделение = ДанныеЗаполнения.Подразделение; Для Каждого СтрокаТоваровЗаказаКлиента Из ДанныеЗаполнения.Товары Цикл СтрокаТоваров = ФР_Номенклатура.Добавить(); СтрокаТоваров.Номенклатура = СтрокаТоваровЗаказаКлиента.Номенклатура; СтрокаТоваров.Характеристика = СтрокаТоваровЗаказаКлиента.Характеристика; КонецЦикла; ВидКонтакта = Справочники.ВидыКонтактнойИнформации; ВыбранныйВидКонтакта = ВидКонтакта.НайтиПоНаименованию("СправочникПретензии", Истина, ,); Для Каждого СтрокаКонтактовКонтрагентов Из ДанныеЗаполнения.Контрагент.КонтактнаяИнформация Цикл КонтактКонтрагента = КонтактнаяИнформация.Добавить(); Если Строка(СтрокаКонтактовКонтрагентов.Вид) = "" Тогда КонтактКонтрагента.Вид = СтрокаКонтактовКонтрагентов.Вид; Иначе КонтактКонтрагента.Вид = СтрокаКонтактовКонтрагентов.Вид; ВыбранныйВид = КонтактКонтрагента.Вид.ПолучитьОбъект(); ВыбранныйВид.Родитель = ВыбранныйВидКонтакта; ВыбранныйВид.Записать(); КонецЕсли; Если Строка(СтрокаКонтактовКонтрагентов.ВидДляСписка) = "" Тогда КонтактКонтрагента.ВидДляСписка = СтрокаКонтактовКонтрагентов.ВидДляСписка; Иначе КонтактКонтрагента.ВидДляСписка = СтрокаКонтактовКонтрагентов.ВидДляСписка; ВыбранныйВидДляСписка = КонтактКонтрагента.ВидДляСписка.ПолучитьОбъект(); ВыбранныйВидДляСписка.Родитель = ВыбранныйВидКонтакта; ВыбранныйВидДляСписка.Записать(); КонецЕсли; КонтактКонтрагента.Тип = СтрокаКонтактовКонтрагентов.Тип; КонтактКонтрагента.Представление = СтрокаКонтактовКонтрагентов.Представление; КонтактКонтрагента.ЗначенияПолей = СтрокаКонтактовКонтрагентов.ЗначенияПолей; КонтактКонтрагента.Страна = СтрокаКонтактовКонтрагентов.Страна; КонтактКонтрагента.Регион = СтрокаКонтактовКонтрагентов.Регион; КонтактКонтрагента.Город = СтрокаКонтактовКонтрагентов.Город; КонтактКонтрагента.АдресЭП = СтрокаКонтактовКонтрагентов.АдресЭП; КонтактКонтрагента.ДоменноеИмяСервера = СтрокаКонтактовКонтрагентов.ДоменноеИмяСервера; КонтактКонтрагента.НомерТелефона = СтрокаКонтактовКонтрагентов.НомерТелефона; КонтактКонтрагента.НомерТелефонаБезКодов = СтрокаКонтактовКонтрагентов.НомерТелефонаБезКодов; КонтактКонтрагента.ДействуетС = СтрокаКонтактовКонтрагентов.ДействуетС; КонтактКонтрагента.Значение = СтрокаКонтактовКонтрагентов.Значение; КонецЦикла; КонецЕсли; |
|||
45
GoldMax2024
26.04.24
✎
12:38
|
(40) Интересно. Надо будет посмотреть когда появится свободное время
|
|||
46
Волшебник
26.04.24
✎
12:40
|
СправочникПретензии - плохое название для вида КИ
|
|||
47
GoldMax2024
26.04.24
✎
13:20
|
(46) Мне тоже не нравится. Но такое название это требование БСП. С любым другим названием не работает
|
|||
48
Garykom
гуру
26.04.24
✎
13:36
|
(44) открой для себя ЗаполнитьЗначенияСвойств()
|
|||
49
Garykom
гуру
26.04.24
✎
13:39
|
Имхо в (44) говнокод
1. Много лишнего и не оптимального 2. Складывать строки нежелательно, особенно если много слагаемых, лучше использовать СтрШаблон() 3. Зачем то перечисляют все реквизиты-приравнивания, вместо использования ЗаполнитьЗначенияСвойств() 4. Непонятное Строка(СтрокаКонтактовКонтрагентов.ВидДляСписка) = "", вместо логичного НЕ ЗначениеЗаполнено(СтрокаКонтактовКонтрагентов.ВидДляСписка) 5. и т.д. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |