Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Другие решения на платформе "1С:Предприятие 8"]

проверка существования предопределенного значения

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №1
 
18.11.2011 12:54

"Платформа: 8.2.14.540, толстый клиент<br>Конфигурация: не имеет значения<br> <br>Каким образом я могу программно проверить существование предопределенного значения в справочнике кроме как таким образом:<br><pre>Функция ПредопределенноеЗначениеСуществует(ИдСправочника,ИдЗначения) Попытка тест=Справочники[ИдСправочника][ИдЗначения]; Возврат Истина; Исключение Возврат Ложь КонецПопытки; КонецФункции </pre><br><br><br>Есть ли какой то метод от разработчиков платформы, а то я что то не вижу в документации...<br>P.S. А как для тонкого клиента?"

Рисовод
читатель
офлайн
Дата регистрации: 26.12.2007
Сообщений: 25775
Пост №2
 
18.11.2011 13:49

Метаданные.Справочники.Банки.Предопределенные<br> <br>Программист это поймет? (это все, что здесь моего!)<br> <br>Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000015").Предопределенный<br>У каждого элемента есть рекивзит «Предопределенный»

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №3
 
18.11.2011 14:12

Не пойдет.<br>1. Метаданные.Справочники.ВидыКонтактнойИнформации.Предопределенные<br>Примечание:<br>Данное свойство всегда имеет значение Неопределено, т.к. во встроенном языке не предусмотрена работа со значением данного свойства.<br>Получить предопределенные элементы можно с помощью менеджера справочника по имени предопределенного элемента: ПредопределенныйЭлемент = Справочники.Имя_Справочника.Имя_Предопределенного.<br> <br>2. Перебор элементов - плохой ход, т.к. если элементов тысячи, то это неоптимально.<br> <br>Задача: узнать есть ли в предопределенных элемент идентифицируемый неким кодом. Пока сделал как написал, но хотелось бы узнать более простой способ

Рисовод
читатель
офлайн
Дата регистрации: 26.12.2007
Сообщений: 25775
Пост №4
 
18.11.2011 16:39

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

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №5
 
18.11.2011 16:44

Обработку небольшую сделал для выгрузки сведений из базы. Специфика такова, что работать она должна не в какой то конкретной конфигурации, а в разных типовых от 1С, проще говоря, должна быть унифицированной. Оказалось, что в контактной информации в Комплексной автоматизации сведения о служебном телефоне физического лица идентифицируются предопределенным элементом с id="ТелефонСлужебный", а в Бухгалтерия предприятия id="ТелефонСлужебныйФизЛицо".

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №6
 
18.11.2011 16:55

Так а зачем же все-таки тебе нужен этот предопределенный, когда синхронизация обычно по Коду или ГУИД-у идет?

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №7
 
24.11.2011 12:35

"Да нет, это не обмен между базами в формате xml, это задача, сформулированная заказчиком как "выдать данные в dbf файл в поля такие то".<br>Кусок кода, который поможет понять зачем я обращался к предопределенному элементу и зачем нужно заранее знать есть он такой или нет:<br> <br><br><pre> Запрос.Текст = <br> "ВЫБРАТЬ<br> | ФизическиеЛица.ДатаРождения,<br> | ФизическиеЛица.ИНН,<br> ...<br> | ФИОФизЛицСрезПоследних.Фамилия,<br> | ФИОФизЛицСрезПоследних.Имя,<br> | ФИОФизЛицСрезПоследних.Отчество,<br> ...<br> | РабочийТелефон.Поле3 КАК НомерРабочегоТелефона,<br> | РабочийТелефон.Поле4 КАК ДобавочныйНомерРабочегоТелефона,<br> |ИЗ<br> | Справочник.ФизическиеЛица КАК ФизическиеЛица<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(, ФизЛицо = &ФизЛицо) КАК ФИОФизЛицСрезПоследних<br> | ПО (ФИОФизЛицСрезПоследних.ФизЛицо = ФизическиеЛица.Ссылка)<br> ...<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК РабочийТелефон<br> | ПО ФизическиеЛица.Ссылка = РабочийТелефон.Объект<br> | И (РабочийТелефон.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации."+ИдентификаторТелефонСлужебный+"))<br> |ГДЕ<br> | ФизическиеЛица.Ссылка = &ФизЛицо";<br> </pre><br><br><br><br><br> <br><br> <br> <br> <br>Вот этот самый ИдентификаторТелефонСлужебный в<br>1С:Комплексная автоматизация 1.1 (1.1.14.1), например имеет идентификатор "ТелефонСлужебный", а в Бухгалтерия предприятия, редакция 2.0 (2.0.27.8) = "ТелефонСлужебныйФизЛица".<br>Обработка должна работать в "произвольной" конфигурации, поэтому я перед запросом проверяю какой предопределенный элемент из этих двух существует и пользуюсь нужным идентификатором."

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №8
 
24.11.2011 12:47

А может просто сразу<br> <br>если ИД="1С:Комплексная автоматизация 1.1 (1.1.14.1)" тогда<br> ИдентификаторТелефонСлужебный="ТелефонСлужебный "<br>иначе<br> ИдентификаторТелефонСлужебный="ТелефонСлужебныйФизЛица "<br>...<br>конецесли

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №9
 
24.11.2011 13:07

Не пойдет, завтра 1С приведет к единому стандарту имеющиеся два решения и обработка перестанет работать при таком подходе.

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №10
 
24.11.2011 13:22

А где гарантия того, что единый стандарт не будет называться совсем по другому?

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация