Ссылка на объект 1С

Поиск и замена значений для БП 3.0

Я
   Aswed

Только что с удивлением обнаружил что типовая обработка Поиск и замена значений (для УФ) не работает в БП 3.0.
Поделитесь, пожалуйста), той что пашет в этой конфигурации.

Ругается что отсутствует таблица найденных ссылок и тому подобное.

ЗЫ aswed_mista.ru

 
 

   trooba

(0) В 3.0 есть встроенная, в обработках смотрите

   Aswed

(1) Просмотрел.
Нет такой.
Есть Поиск и замена дублей. Но это не то.

   Aswed

+ (2) *Поиск и удаление дублей

   trooba

(3) "Групповое изменение реквизитов"

   Aswed

(4) Щас гляну.

   Aswed

(4) Эх не то(
Там можно у выбранного объекта конфигурации менять.
А мне к примеру надо заменить контрагента во всех документах где он использовался.
Не буду же я выбирать по очереди все эти 43 типа документа.

   trooba

(6) есть такая обработка, пиши в личку, скину

   Aswed

(7) Написал на почту)

   trooba

(8) Отправил

   Aleksey Подсистема "Инструменты разработчика"

http://devtool1c.ucoz.ru/

 
 

   Aswed

(9) Странно но ничего не пришло.

   Aswed

(10) Скачал инструменты разработчика.
Но там вообще для обычных форм только.
Даже УФ нет, не говоря уже про Метро.

Хотел скачать целиком подсистему, но не нашел как.

Жаль(

   Aleksey

(13) По ссылке скачать  http://devtool1c.ucoz.ru/load/

Там 2 подсистемы
Портативные Инструменты Разработчика 1С 8.2 V3.36.1 http://devtool1c.ucoz.ru/load/mobilnye_instrumenty_razrabotchika_dlja_1s_8_2/1-1-0-6

и
Подсистема Инструменты разработчика 1С 8.2 V3.36
http://devtool1c.ucoz.ru/load/1-1-0-1

   Aleksey

т.е.cf http://devtool1c.ucoz.ru/load/0-0-0-1-20
или epf http://devtool1c.ucoz.ru/load/0-0-0-6-20

   Провинциальный 1сник

(6) Делаешь того контрагента, которого нужно заменить, дублем того, на который нужно заменить (по какому-то доступному критерию), далее — стандартная обработка "поиск и удаление дублей"

   Aleksey

а так да там только обычные формы

   Aleksey

Ну а так, если одно на другое, то http://catalog.mista.ru/public/91837/

   Aswed

(16) Да. Только что так и сделал.
там оказываетяс при удалении дублей все ссылки перекидываются)
(18) Спасиб.

   TormozIT

(13) Обычные формы вполне жизнеспособны и в конфигурациях под управляемое приложение. Достаточно прочитать начало описания http://devtool1c.ucoz.ru/index/opisanie_podsistemy/0-4 раздел "Поддерживаются режимы запуска клиента 1С". Ну и полезно также с этим ознакомиться В портативных "Инструментах разработчика" реализована запись объектов на сервере

Попробуйте новый бесплатный сервис для быстрого анализа кода типовых конфигураций 1c-api.com

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Поиск и замена значений для 1С 8.2, 8.3

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Как программно выполнить поиск ссылок на объекты?

Я
   ИС-2

т.е сделать тоже, что и при нажатии правой кнопкой мыши на объекте метаданных в конфигураторе. Надо найти все объекты, где есть реквизит с типом физ. лица. Можно ли?

 
 

   dk

в СП глядел?

   dk

что-то типа НайтиССылки или ПоискССылок

   NcSteel

(2) Имхо имеется ввиду не ссылки на объекты, а ссылки на метаданные.

(0) Только перебор метаданных.

   ShoGUN

(0) У тебя в заголовке и в посте разные вопросы написаны. То что в посте — ИМХО программно только перебором метаданных.
(2) Это поиск ссылок на конкретные объекты данных. Он другое хочет — поиск нужных метаданных в конфигурации.

   dk

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

   ИС-2

только полность автоматизировать не получилось — итератора для метаданных нет 🙁

   hhhh

(6) как это нет? А чем же мы всё это время пользовались?

   WickeD

(0) http://help1c.com/faq/view/590.html

   ИС-2 А как определить, что ЭлементКоллекции это справочник?

Процедура СобратьМетаданные (ТЗИсточника) Экспорт Коллекции = ПолучитьКоллекцииМетаданных (); ТипФизЛица = Тип("СправочникСсылка.ФизическиеЛица"); МассивМетаданныхПригодныхДляХраненияПД = новый Массив; Для Каждого ЭлементКоллекции из Коллекции Цикл для Каждого ОбъектКоллекции из ЭлементКоллекции Цикл РеквизитыОбъектаКоллекции = ОбъектКоллекции.Реквизиты; Для Каждого ТекРеквизит из РеквизитыОбъектаКоллекции Цикл Если тип(ТекРеквизит.Тип) = ТипФизЛица Тогда НовСтр = ИсточникиПД.Добавить(); НовСтр.РодительОбъектаМетаданных = ЭлементКоллекции; НовСтр.РеквизитОбъектаМетаданных = ТекРеквизит; НовСтр.ОбъектМетаданных = ОбъектКоллекции; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры // Локальные и служебные процедуры и функции Функция ПолучитьКоллекцииМетаданных () Коллекции = Новый Массив; Коллекции.Добавить(Метаданные.Справочники); Коллекции.Добавить(Метаданные.Документы); Коллекции.Добавить(Метаданные.РегистрыСведений); Коллекции.Добавить(Метаданные.РегистрыНакопления); Коллекции.Добавить(Метаданные.РегистрыБухгалтерии); Коллекции.Добавить(Метаданные.РегистрыРасчета); Возврат Коллекции; КонецФункции

TurboConf 5 — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Поиск и замена значений для 1С:Предприятие 8.3

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Обработка «Поиск и замена значений» для 1С 8.2, 8.3

Задача

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

Применение

Подход с отложенной записью используется чаще всего в различных обменах данными будь описанными средствами 1С:Конвертация данных или произвольных механизмом. Когда данные читаются, из них создаются объекты, а только потом происходит запись всех объектов и дальнейшая обработка.

Решение

Для разбора механизма создадим простой пример, в котором:

  1. Будем создавать 10 элементов справочника Контрагенты;
  2. Присваивать объектам новые ссылки, и сохранять объекты и ссылки в массивы;
  3. Производить запись объектов;
  4. Производить обработку объектов по ссылкам сохраненным в пункте 2;

Далее собственно код, снабженный комментариями:

&НаСервереПроцедура ВыполнитьОбработкуНаСервере()// Массив созданных объектов// для последующей обработки ОбъектыКОбработке =Новый Массив;// Массив ссылок которые будут присвоены// при записи созданным объектам СсылкиКОбработке =Новый Массив;// 1 этап.

Скачиваем и учимся пользоваться обработкой поиск и замена значений в 1с 8.2 и 1с 8.3

Создание объектов и присваивание им новых ссылокДля Итератор =0По10Цикл СтруктураРеквизитов =Новый Структура(); СтруктураРеквизитов.Вставить("Наименование","Объект "+ Итератор);// Весь фокус происходит в этой процедуре СоздатьОбъект(СтруктураРеквизитов, ОбъектыКОбработке, СсылкиКОбработке);КонецЦикла;// Объекты были созданы, а теперь представим, что в другой части// сложной системы происходит запись этих объектов// 2 этап. Запись ранее созданных объектовДляКаждого ОбъектКОбработке Из ОбъектыКОбработке Цикл ОбъектКОбработке.Записать();КонецЦикла;// Объекты были записаны, а теперь представим, что в другой части// сложной системы происходит отложенная обработка этих объектов// 3 этап. Обоработка объектов по ранее присвоенным ссылкамДляКаждого СсылкаКОбработке Из СсылкиКОбработке Цикл Сообщение =Новый СообщениеПользователю; Сообщение.Текст = СсылкаКОбработке.Наименование; Сообщение.Сообщить();КонецЦикла;КонецПроцедуры&НаСервереПроцедура СоздатьОбъект(СтруктураРеквизитов, ОбъектыКОбработке, СсылкиКОбработке)// Создадим объект СправочникОбъект = Справочники.Контрагенты.СоздатьЭлемент(); ЗаполнитьЗначенияСвойств(СправочникОбъект, СтруктураРеквизитов);// Получим ссылку для нашего объекта UID =Новый УникальныйИдентификатор(); Ссылка = Справочники.Контрагенты.ПолучитьСсылку(UID);// Установим новую ссылку для объекта СправочникОбъект.УстановитьСсылкуНового(Ссылка);// Добавим объект и ссылку для дальнейшей обработки ОбъектыКОбработке.Добавить(СправочникОбъект); СсылкиКОбработке.Добавить(Ссылка)КонецПроцедуры

1С:Предприятие

Guesto 18.01.2016 3511

   Юрий Михалыч

Можно както посмотреть стандартную процедуру Поиска ссылок на объект?

 
 

   Юрий Михалыч

для 8ки

   ДенисЧ

Что значит "посмотреть" ?

   nop Можно, вот НайтиСсылки(<?>,);Синтаксис:
НайтиСсылки(<Объекты>,<Ссылки>)
Назначение:
Находит ссылки на объекты, переданные в списке значений.
Параметры:
<Объекты> — конкретное значение искомого объекта или значение типа »СписокЗначений», в котором данной процедуре передаются объекты, по которым надо найти ссылки.
<Ссылки> — идентификатор объекта типа »ТаблицаЗначений», в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. объект на который ссылаются; 2. объект, который содержит ссылку; 3. комментарий к ссылке.    Юрий Михалыч

(3) Шпасиба

   Юрий Михалыч

(3) ой, мне для 8ки

   Sadovnikov Глобальный контекст НайтиПоСсылкам (FindByRef)Синтаксис:
НайтиПоСсылкам(<Список ссылок>)
Параметры:
<Список ссылок> (обязательный)
Тип: Массив.

Массив со списком ссылок на объекты, ссылки на которые нужно найти.

Поиск и замена значений 1С

Возвращаемое значение:
Тип: ТаблицаЗначений. Возвращает ссылки на найденные объекты в виде ТаблицаЗначений, состоящей из колонок с индексами: 0 — искомая ссылка; 1 — ссылка на объект, если найдена ссылка в объектной таблице; ключ записи, если ссылка найдена в независимом регистре сведений; ссылка на документ-регистратор для всех остальных необъектных таблиц; 2 — объект метаданных, которому соответствуют данные из колонки 1.
Описание:
Осуществляет поиск ссылок на объекты, переданные в параметре <Список ссылок>.
Пример:
Ссылки = НайтиПомеченныеНаУдаление(); ТабСсылок = НайтиПоСсылкам(Ссылки); Для Каждого Ссылка из ТабСсылок Цикл Сообщить ("" + СокрЛП(Ссылка) + "" + СокрЛП(Ссылка)); КонецЦикла;

   ДенисЧ

Мда… Массовое воровство СП набирает обороты… Кризис… Жрать нечего, пытаются жрать СП, хотя его курить надо…

   Юрий Михалыч

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

   Юрий Михалыч Нипанятно…

А если мне надо найти все ссылки на объект метаданных например справочника  как мне надо написать?

сцылка = Справочники.Контрагенты.ПолучитьСсылку(); Ссылки= Новый Массив; Ссылки.Добавить(сцылка) ; СсылкиСС = НайтиПоСсылкам(Ссылки); Вот так?    MRAK

на ИТС есть обработка удаления помеченных…

 
 

   Юрий Михалыч

да на кой х мне помеченные?

   dimoff

(9) Нет, все элементы справочника собрать в массив

   Immortal

алгоритм посмотреть и не задавать глупых вопросов

   Mitriy

(11) а на кой х справшивать?

   Юрий Михалыч

(10) за какой месяц ИТС?

   Mitriy

(15) любой, поиском УдалениеПомеченныхОбъектов.epf, а еще тоже интересная в этом смысле ПоискИЗаменаЗначений.epf (там же)

   афаф // Как то так, я думаю… Массив = Новый Массив; Массив.Добавить(МояСсылка); Сообщить("Старт в "+ТекущаяДата()); ТабСсылок = НайтиПоСсылкам(Массив); Для Каждого Ссылка1из ТабСсылок Цикл Сообщить ("" + СокрЛП(Ссылка1) + "" + СокрЛП(Ссылка1)); КонецЦикла; Сообщить("Конец в "+ТекущаяДата());    Юрий Михалыч

Нет, мне нужно получить ссылки на объект метаданных как в конфигураторе — правой кнопкой по справочнику — поиск ссылок на объект

   Mitriy

упс…

   MRAK

ужос мля… вопросы учимся правильно задавать…

   Юрий Михалыч

(20) смотри (8)

   NcSteel

(21) Цикл по методанным.

   Юрий Михалыч Массив = Новый Массив; Массив.Добавить("Справочники.Конрагенты"); Массив.Добавить("Документы"); Для Каждого ТекЭлемент Из Массив Цикл Для Каждого ТекМета Из Метаданные Цикл Сообщить(ТекМета.Имя); КонецЦикла; КонецЦикла; не выходит каменный цветок    Юрий Михалыч

ап

Попробуйте новый бесплатный сервис для быстрого анализа кода типовых конфигураций 1c-api.com

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *