Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Программирование 1С
>
1С 8.x
(Модераторы:
Harry
,
Kivals
,
Naghual
) > Тема:
работа с РегистрСведений
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: работа с РегистрСведений (Прочитано 13179 раз)
0 Пользователей и 1 Гость смотрят эту тему.
staff
Помогающий
Offline
Пол:
работа с РегистрСведений
«
:
01-12-2010 06:43 »
Добрый день
есть внешняя обработка в 1С, необходимо во время формирования отчета через макет выводилась информация о регионе или городе местонахождения Контрагента. Информация об регионе и городе по определенным Контрагентам хранятся в РегистрСведения, каким способом его можно от-туда получать???
Записан
Kivals
Модератор
Offline
Пол:
Re: работа с РегистрСведений
«
Ответ #1 :
01-12-2010 08:11 »
1. Запросом (с использованием СОЕДИНЕНИЕ - JOIN)
2. Программным отбором
Какой способ ближе?
Записан
staff
Помогающий
Offline
Пол:
Re: работа с РегистрСведений
«
Ответ #2 :
01-12-2010 08:15 »
ближе программный отбор
Записан
Kivals
Модератор
Offline
Пол:
Re: работа с РегистрСведений
«
Ответ #3 :
01-12-2010 09:26 »
РегистрСведенийМенеджер.Получить() или РегистрСведенийМенеджер.ПолучитьПоследнее() (для периодического регистра сведений) - дальше читай встроенную справку. Если что будет непонятно - спрашивай
Записан
staff
Помогающий
Offline
Пол:
Re: работа с РегистрСведений
«
Ответ #4 :
01-12-2010 12:50 »
в источниках поисковика инета и встроенной справки как такового ничего не нашел, данные не вытягиваются из регистра, ругается на .Получить (((, может я не так понял в написании отбора
Записан
olegko87
Новенький
Offline
Re: работа с РегистрСведений
«
Ответ #5 :
01-12-2010 13:45 »
Цитата: Kivals от 01-12-2010 08:11
1. Запросом (с использованием СОЕДИНЕНИЕ - JOIN)
2. Программным отбором
Какой способ ближе?
а можно Запросом???
Добавлено через 13 минут и 53 секунды:
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО РеализацияУслугПоПереработке.Ссылка = КонтактнаяИнформация.Объект
так ??
может еще что-то нада?
«
Последнее редактирование: 01-12-2010 13:59 от olegko87
»
Записан
Kivals
Модератор
Offline
Пол:
Re: работа с РегистрСведений
«
Ответ #6 :
01-12-2010 15:19 »
olegko87
, да, идея - правильная.
А вот насколько правильная реализация - зависит от структуры данных и условий, на них наложенных.
Возможно потребуется дополнительные связи (связь возможна более чем по одному полю), или дополнительные условия на регистр сведений.
А может вообще неверна связь (что-то мне подозрительно, что у РеализацияУслугПоПереработке есть КонтактнаяИнформация - скорее у какого-то из полей РеализацияУслугПоПереработке, например, Контрагент)
staff
,
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
ПолучитьПоследнее (GetLast)
Синтаксис:
ПолучитьПоследнее(<КонецПериода>, <Отбор>)
Параметры:
<КонецПериода> (необязательный)
Тип: Дата; МоментВремени; Граница. Определяет момент времени, по который необходимо получить значения ресурсов. Может задаваться значениями типа Дата, МоментВремени или Граница. Если параметр не указан, то будут возвращены значения ресурсов самой последней записи регистра.
<Отбор> (необязательный)
Тип: Структура. Структура, содержащая отбор по измерениям регистра. Имя ключа структуры должно совпадать с именем измерения регистра, заданного в конфигураторе, а значение элемента структуры - задает отбираемое по данному измерению значение.
Если параметр не указан, то отбор не используется.
Возвращаемое значение:
Тип: Структура. Возвращает структуру, содержащую значения ресурсов.
Описание:
Получает значения ресурсов наиболее поздней записи регистра, соответствующей указанным периоду и значениям измерений регистра.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Применим только для периодических регистров сведений.
Записан
olegko87
Новенький
Offline
Re: работа с РегистрСведений
«
Ответ #7 :
02-12-2010 08:18 »
да немного ошибся там
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ПО РеализацияУслугПоПереработке.Контрагент = КонтактнаяИнформация.Объект.Ссылка
у контактной информации есть объект, вид, тип и поля 1-10, нужно вытаскивать поле 3 если пусто то поле 4 когда вид.код = 10
возможно ли это сделать запросом? Как?
Добавлено через 22 минуты и 36 секунд:
и забыл сказать регистр сведени
Добавлено через 50 секунд:
не переодический
«
Последнее редактирование: 02-12-2010 08:41 от olegko87
»
Записан
Kivals
Модератор
Offline
Пол:
Re: работа с РегистрСведений
«
Ответ #8 :
02-12-2010 11:09 »
Цитата
... контактной информации есть объект, вид, тип и поля 1-10, нужно вытаскивать поле 3 если пусто то поле 4 когда вид.код = 10...
Код:
|...
|ВЫБОР
|
КОГДА КонтактнаяИнформация.Поле3 = &ПустаяСтрока
|
ТОГДА КонтактнаяИнформация.Поле4
|
ИНАЧЕ КонтактнаяИнформация.Поле3
|
КОНЕЦ КАК Поле34
ПустаяСтрока - задать в параметрах
А по поводу "Код = 10" - лучше так:
Код:
ГДЕ КонтактнаяИнформация.Вид = Значение(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)
Записан
olegko87
Новенький
Offline
Re: работа с РегистрСведений
«
Ответ #9 :
02-12-2010 12:10 »
Спасибо за помощь!
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Программирование 1С
>
1С 8.x
(Модераторы:
Harry
,
Kivals
,
Naghual
) > Тема:
работа с РегистрСведений
Загружается...