Как изменить табличную часть справочника (не документа) в обработке Групповое изменение реквизитов ?
Всем привет!
Как изменить табличную часть документа в обработке Групповое изменение реквизитов - все понятно и работает.
А изменить табличную часть справочника в обработке Групповое изменение реквизитов не получается. Здесь нет закладок для табличных частей, поэтому применяю "Выполнить произвольный алгоритм" на примере Справочника "Информационные карты (дисконтные карты)" для 1С Розница:
============================================================ ==
Объект.КонтактнаяИнформация.Добавить();
Для Каждого Строка Из Объект.КонтактнаяИнформация Цикл
Строка.НомерТелефона = "1234567890";
Объект.Наименование=Объект.Наименование+" "
+Строка.НомерСтроки+" "
+Строка.НомерТелефона;
КонецЦикла;
Объект.Записать();
============================================================ ==
В выбранных элементах справочника в табличной части "КонтактнаяИнформация" не было ни одной записи. Выполнение происходит без ошибок, чтобы убедиться, что алгоритм работает, добавляемый в таблицу текст присоединяю к названию элемента справочника.
Что не так? К названию элементов справочников добавились номер строки 1 и текст 1234567890. А табличная часть осталась пустой и ничего не заполнилось. Т.е. элементы справочника сохранились, а их табличная часть не сохранилась.
В интернете куча информации как изменить табличную часть документа в обработке Групповое изменение реквизитов и ничего нет про справочник. Кто-нибудь это делал?
Желательно как это сделать именно в обработке "Групповое изменение реквизитов" стандартным способом, а не напрямую через конфигуратор. Или это косяк обработки?
Как изменить табличную часть документа в обработке Групповое изменение реквизитов - все понятно и работает.
А изменить табличную часть справочника в обработке Групповое изменение реквизитов не получается. Здесь нет закладок для табличных частей, поэтому применяю "Выполнить произвольный алгоритм" на примере Справочника "Информационные карты (дисконтные карты)" для 1С Розница:
============================================================
Объект.КонтактнаяИнформация.Добавить();
Для Каждого Строка Из Объект.КонтактнаяИнформация Цикл
Строка.НомерТелефона = "1234567890";
Объект.Наименование=Объект.Наименование+" "
+Строка.НомерСтроки+" "
+Строка.НомерТелефона;
КонецЦикла;
Объект.Записать();
============================================================
В выбранных элементах справочника в табличной части "КонтактнаяИнформация" не было ни одной записи. Выполнение происходит без ошибок, чтобы убедиться, что алгоритм работает, добавляемый в таблицу текст присоединяю к названию элемента справочника.
Что не так? К названию элементов справочников добавились номер строки 1 и текст 1234567890. А табличная часть осталась пустой и ничего не заполнилось. Т.е. элементы справочника сохранились, а их табличная часть не сохранилась.
В интернете куча информации как изменить табличную часть документа в обработке Групповое изменение реквизитов и ничего нет про справочник. Кто-нибудь это делал?
Желательно как это сделать именно в обработке "Групповое изменение реквизитов" стандартным способом, а не напрямую через конфигуратор. Или это косяк обработки?
По теме из базы знаний
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Обработка «Групповое изменение реквизитов номенклатуры в 1С для УТ 11 / КА 2»
- Просмотр прав. Анализ прав и ролей. Поиск подходящего профиля. УТ 10.3, УПП 1.3, УТ 11.Х, КА 2.Х, БП 3.0, ЗУП 3.1, УНФ 1.6, Розница 2.Х
- Интеграция Честный Знак и 1C: обмен и синхронизация для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
- РеСольДо - редактор строк документов
Найденные решения
Окончательное решение по добавлению номера телефона в Информационную карту через Групповую обработку реквизитов (спасибо nomad_irk - сообщение 23):
============================================================ ==================
Объект.КонтактнаяИнформация.Очистить();
ВидКИТелефон = Справочники.ВидыКонтактнойИнформации.ТелефонИнформационнойКарты;
СтрокаКИ = Объект.КонтактнаяИнформация.Добавить();
СтрокаКИ.Вид = ВидКИТелефон;
СтрокаКИ.Тип = ВидКИТелефон.Тип;
СтрокаКИ.НомерТелефона = "1234567890";
СтрокаКИ.Представление = "1234567890";
Объект.Записать();
============================================================
Объект.КонтактнаяИнформация.Очистить();
ВидКИТелефон = Справочники.ВидыКонтактнойИнформации.ТелефонИнформационнойКарты;
СтрокаКИ = Объект.КонтактнаяИнформация.Добавить();
СтрокаКИ.Вид = ВидКИТелефон;
СтрокаКИ.Тип = ВидКИТелефон.Тип;
СтрокаКИ.НомерТелефона = "1234567890";
СтрокаКИ.Представление = "1234567890";
Объект.Записать();
Прикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Строка может и сохранилась. Но так как она заполнена не полностью и не по правилам КИ - на форме она отображаться не будет, конечно. Если вообще не была удалена, как заполненная не по правилам.
А по факту не так.
С чего ты взял? Ты суслика видишь? Нет? А он есть.
Строка может и сохранилась. Но так как она заполнена не полностью и не по правилам КИ - на форме она отображаться не будет, конечно. Если вообще не была удалена, как заполненная не по правилам.
(6)
Ну и за сам алгоритм надо отбирать клавиатуру, конечно.
Позови-ка лучше программиста. А сам не подходи больше к обработке данных, а то такого с данными натворишь - в тюрьму еще посадят потом...
Меня все уверяют, что строка добавилась, но никто не говорит, почему не могу запихнуть в нее данные.
Можешь. Только надо данные запихивать полностью. Там в этой строке есть и другие важные поля.
Ну и за сам алгоритм надо отбирать клавиатуру, конечно.
Позови-ка лучше программиста. А сам не подходи больше к обработке данных, а то такого с данными натворишь - в тюрьму еще посадят потом...
(1) вы напишите, что вы пытаетесь сделать. возможно вам помогут.
а на вопрос "а что не так?" - нельзя корректно ответить. так как непонятно что вы хотите сделать.
Строка = Объект.КонтактнаяИнформация.Добавить();
Строка.НомерТелефона = "1234567890";
Строка.Наименование = Объект.Наименование+" "+Строка.НомерСтроки+" "+Строка.НомерТелефона;
Объект.Записать();
данный код добавит 1 строку в ТЧ КонтактнаяИнформация, где в поле номер телефона будет 1234567890
а в поле Наименование - более сложное непонятное преобразование.
а на вопрос "а что не так?" - нельзя корректно ответить. так как непонятно что вы хотите сделать.
Строка = Объект.КонтактнаяИнформация.Добавить();
Строка.НомерТелефона = "1234567890";
Строка.Наименование = Объект.Наименование+" "+Строка.НомерСтроки+" "+Строка.НомерТелефона;
Объект.Записать();
данный код добавит 1 строку в ТЧ КонтактнаяИнформация, где в поле номер телефона будет 1234567890
а в поле Наименование - более сложное непонятное преобразование.
(1)
"В интернете куча информации как изменить табличную часть документа в обработке Групповое изменение реквизитов и ничего нет про справочник. Кто-нибудь это делал?"
разницы не замечал между справочником и документом. также список таб частей и т.д. возможно версия обработки меняется.
могу предположить, что у данного справочника нет этой табличной части и она тянется через какой нить регистр сведений КИ.
"В интернете куча информации как изменить табличную часть документа в обработке Групповое изменение реквизитов и ничего нет про справочник. Кто-нибудь это делал?"
разницы не замечал между справочником и документом. также список таб частей и т.д. возможно версия обработки меняется.
могу предположить, что у данного справочника нет этой табличной части и она тянется через какой нить регистр сведений КИ.
(10) Предложен пока единственный конкретный вариант для пробы:
К сожалению, не выполняется в Групповой обработке реквизитов (Рабочий режим 1С (не конфигуратор) - Администрирование - Обслуживание - Корректировка данных - Групповое изменение реквизитов)
Строка = Объект.КонтактнаяИнформация.Добавить();
"К сожалению, возникла непредвиденная ошибка
Попробуйте повторить операцию.
Если ошибка повторится, попробуйте перезапустить приложение или обратитесь к администратору приложения или техническому специалисту."
Строка = Объект.КонтактнаяИнформация.Добавить();
Строка.НомерТелефона = "1234567890";
Строка.Наименование = Объект.Наименование+" "+Строка.НомерСтроки+" "+Строка.НомерТелефона;
Объект.Записать();
К сожалению, не выполняется в Групповой обработке реквизитов (Рабочий режим 1С (не конфигуратор) - Администрирование - Обслуживание - Корректировка данных - Групповое изменение реквизитов)
Строка = Объект.КонтактнаяИнформация.Добавить();
"К сожалению, возникла непредвиденная ошибка
Попробуйте повторить операцию.
Если ошибка повторится, попробуйте перезапустить приложение или обратитесь к администратору приложения или техническому специалисту."
(12) Как-то странно обработка работает. Повторил вечером, ошибку не выдает, но результат такой-же как в моем варианте - табличная часть не сохраняется. Наверно во время выполнения элементы справочника были кем-то заняты.
Для полной ясности описания проблемы привожу скриншоты проблемы.
Для полной ясности описания проблемы привожу скриншоты проблемы.
Прикрепленные файлы:
(18) Обработка "Групповое изменение реквизитов" по определению предназначена для изменения реквизитов элементов справочника и их табличных частей. Я просто пользуюсь функционалом этой обработки и не могу понять решение обозначенной проблемы (в 15 я уже даже в картинках показал проблему).
Зачем мне отказываться от этой разработки и использовать БСП? Это же другой способ изменения табличных частей справочников.
Зачем мне отказываться от этой разработки и использовать БСП? Это же другой способ изменения табличных частей справочников.
(20) Надеюсь на помощь специалистов, обращаюсь к ним.
Для пробы внутри обработки "Групповая обработка реквизитов" запускаю следующий код:
==========================================================
Объект.КонтактнаяИнформация.Добавить();
ТелефонСтруктура = Новый Структура;
ТелефонСтруктура.Вставить("Представление", "+7 (123) 456-78-95");
ТелефонСтруктура.Вставить("Комментарий", "тестовый номер 2");
ТелефонСтруктура.Вставить("КодСтраны", "7");
ТелефонСтруктура.Вставить("КодГорода", "123");
ТелефонСтруктура.Вставить("НомерТелефона", "456-78-95");
ТелефонXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ТелефонСтруктура,"", Перечисления.ТипыКонтактнойИнформации.Телефон);
ТелефонJSON = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(ТелефонXML);
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(Объект, ТелефонJSON, Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента, ТекущаяДата(), Истина);
Объект.Записать();
============================================================ ======================
Ошибок при выполнении нет. Результат такой же - ничего не меняется
Подозреваю, что УправлениеКонтактнойИнформацией должно крутиться на сервере, а обработка крутится на клиенте.
Для пробы внутри обработки "Групповая обработка реквизитов" запускаю следующий код:
==========================================================
Объект.КонтактнаяИнформация.Добавить();
ТелефонСтруктура = Новый Структура;
ТелефонСтруктура.Вставить("Представление", "+7 (123) 456-78-95");
ТелефонСтруктура.Вставить("Комментарий", "тестовый номер 2");
ТелефонСтруктура.Вставить("КодСтраны", "7");
ТелефонСтруктура.Вставить("КодГорода", "123");
ТелефонСтруктура.Вставить("НомерТелефона", "456-78-95");
ТелефонXML = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(ТелефонСтруктура,"", Перечисления.ТипыКонтактнойИнформации.Телефон);
ТелефонJSON = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(ТелефонXML);
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(Объект, ТелефонJSON, Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента, ТекущаяДата(), Истина);
Объект.Записать();
============================================================
Ошибок при выполнении нет. Результат такой же - ничего не меняется
Подозреваю, что УправлениеКонтактнойИнформацией должно крутиться на сервере, а обработка крутится на клиенте.
Окончательное решение по добавлению номера телефона в Информационную карту через Групповую обработку реквизитов (спасибо nomad_irk - сообщение 23):
============================================================ ==================
Объект.КонтактнаяИнформация.Очистить();
ВидКИТелефон = Справочники.ВидыКонтактнойИнформации.ТелефонИнформационнойКарты;
СтрокаКИ = Объект.КонтактнаяИнформация.Добавить();
СтрокаКИ.Вид = ВидКИТелефон;
СтрокаКИ.Тип = ВидКИТелефон.Тип;
СтрокаКИ.НомерТелефона = "1234567890";
СтрокаКИ.Представление = "1234567890";
Объект.Записать();
============================================================
Объект.КонтактнаяИнформация.Очистить();
ВидКИТелефон = Справочники.ВидыКонтактнойИнформации.ТелефонИнформационнойКарты;
СтрокаКИ = Объект.КонтактнаяИнформация.Добавить();
СтрокаКИ.Вид = ВидКИТелефон;
СтрокаКИ.Тип = ВидКИТелефон.Тип;
СтрокаКИ.НомерТелефона = "1234567890";
СтрокаКИ.Представление = "1234567890";
Объект.Записать();
Прикрепленные файлы:
(28) Прошу прощения, исправил лайк, если это принципиально. Просто исходная проблема была на примере справочника Информационные карты, а не Физические лица. Как бы ответ на исходный вопрос, а не на соседний.
Когда программист ложится спать, он на тумбочку ставит два стакана: один с водой, если захочет пить, второй пустой, если не захочет пить.
Когда программист ложится спать, он на тумбочку ставит два стакана: один с водой, если захочет пить, второй пустой, если не захочет пить.
(31)
Нет, вообще не принципиально.
Лично у меня нет под рукой конфигурации, имеющей справочник Информационные карты, я показал принцип/подход, т.к. он одинаковый для любых объектов типовых конфигураций, будь то Информационные карты или Физические Лица и ценна именно сама идея, а не какая-то конкретная её реализация.
Патентное право защищает именно идеи, а не их реализации.
исправил лайк, если это принципиально
Нет, вообще не принципиально.
Просто исходная проблема была на примере справочника Информационные карты, а не Физические лица. Как бы ответ на исходный вопрос, а не на соседний.
Лично у меня нет под рукой конфигурации, имеющей справочник Информационные карты, я показал принцип/подход, т.к. он одинаковый для любых объектов типовых конфигураций, будь то Информационные карты или Физические Лица и ценна именно сама идея, а не какая-то конкретная её реализация.
Патентное право защищает именно идеи, а не их реализации.
(28)
Еще раз извиняюсь, если обидел.
На самом деле я не тщеславный и не обидчивый. Даже на такие высказывания не обижаюсь:
"Ну и за сам алгоритм надо отбирать клавиатуру, конечно.
Позови-ка лучше программиста. А сам не подходи больше к обработке данных, а то такого с данными натворишь - в тюрьму еще посадят потом..."
"Он же не программист - откуда ему знать про БСП..."
Копаюсь в потрохах 1С с 1995 года начинал с 5-той версии (DOS версия), лично встречался с разработчиком Сергеем Нуралиевым (до сих пор руку не мою, когда поздоровались :-)
Когда человек ставит "лайк" на своем сообщении, а не на том, с которого он взял идею - многое говорит об этом человеке, как по-мне :)
Еще раз извиняюсь, если обидел.
На самом деле я не тщеславный и не обидчивый. Даже на такие высказывания не обижаюсь:
"Ну и за сам алгоритм надо отбирать клавиатуру, конечно.
Позови-ка лучше программиста. А сам не подходи больше к обработке данных, а то такого с данными натворишь - в тюрьму еще посадят потом..."
"Он же не программист - откуда ему знать про БСП..."
Копаюсь в потрохах 1С с 1995 года начинал с 5-той версии (DOS версия), лично встречался с разработчиком Сергеем Нуралиевым (до сих пор руку не мою, когда поздоровались :-)
(33)
Это как на экзамене на сдаче вождения:
- Мэм, вы не сдали экзамен, выходите из машины.
- Офицер, но как вы можете знать, я же только в неё села!
- Совершенно верно, мэм. Вы сели на заднее пассажирское сиденье.
Без обид.
Копаюсь в потрохах 1С с 1995 года начинал с 5-той версии (DOS версия)
Копаться в потрохах и программировать - как бы разные вещи. В данном случае по первым строкам кода сразу все стало видно.
Это как на экзамене на сдаче вождения:
- Мэм, вы не сдали экзамен, выходите из машины.
- Офицер, но как вы можете знать, я же только в неё села!
- Совершенно верно, мэм. Вы сели на заднее пассажирское сиденье.
Без обид.
(26) Это просто тестовый пример для понимания можем заполнить номер телефона или нет в контактных данных справочника.
На самом деле заполнение будет делаться из других источников: в информационных (дисконтных) картах есть реквизиты для опроса владельца карты, там есть телефон, по ссылке владелец карты (контрагент, если юрлицо или справочник Физлица) там тоже есть телефоны.
На самом деле заполнение будет делаться из других источников: в информационных (дисконтных) картах есть реквизиты для опроса владельца карты, там есть телефон, по ссылке владелец карты (контрагент, если юрлицо или справочник Физлица) там тоже есть телефоны.
(35) 1С Розница. Создавали дисконтные карты с владельцами Контрагент-ЮрЛицо и у него номер телефона, который используется в поиске при оформлении продажи. Таких информационных карт примерно 80 тысяч.
Начиная с этого года 1С Розница запрещает продавать юрлицу, если не заполнен ИНН (а он не заполнялся).
Возникла задача переделать 80 тыс. информационных карт, где владельцы не справочник Контрагенты, а справочник Физлица без потери телефонов, которые лежат в справочнике Контрагенты.
Отсюда и вся возня.
Начиная с этого года 1С Розница запрещает продавать юрлицу, если не заполнен ИНН (а он не заполнялся).
Возникла задача переделать 80 тыс. информационных карт, где владельцы не справочник Контрагенты, а справочник Физлица без потери телефонов, которые лежат в справочнике Контрагенты.
Отсюда и вся возня.
(38) Приветствую дотошных специалистов по 1С!
Не знал, что нужны подробности, приводящие обычно в бешенство (поговорка моего научного руководителя в молодости).
Привожу скриншоты версии 1С Розница (существует куча подверсий 1С розница).
В моем случае это 1С Розница.Магазин одежды и обуви.
Фирма Рарус берет Розницу и переделывает в Магазин одежды и обуви.
В последнее время Рарус обнаглел. Раньше было имея подписку ИТС, был доступ к обновлениям почти всех версий разработок 1С. А теперь Рарус дает доступ к обновлениям своих разработок по отдельной ИТС с ними, т.е. мы теперь оплачиваем два ИТС (для Бухгалтерии и Зарплаты один ИТС, для Розница.Магазин одежды и обуви другой ИТС).
Не знал, что нужны подробности, приводящие обычно в бешенство (поговорка моего научного руководителя в молодости).
Привожу скриншоты версии 1С Розница (существует куча подверсий 1С розница).
В моем случае это 1С Розница.Магазин одежды и обуви.
Фирма Рарус берет Розницу и переделывает в Магазин одежды и обуви.
В последнее время Рарус обнаглел. Раньше было имея подписку ИТС, был доступ к обновлениям почти всех версий разработок 1С. А теперь Рарус дает доступ к обновлениям своих разработок по отдельной ИТС с ними, т.е. мы теперь оплачиваем два ИТС (для Бухгалтерии и Зарплаты один ИТС, для Розница.Магазин одежды и обуви другой ИТС).
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот