Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Получить строка регистра сведений          
Gigi Подменю пользователя
сообщение 05.04.18, 14:35
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Всем привет..
Пожалуйста .. никто не подскажет как получить строку регистра сведений целиком.
Ну на пример на подобие команды запроса в справочнике или документе
Пока Выгрузка.Следующий() Цикл
ВыгрузкаЭлемент=Выгрузка.Ссылка;
//или
ВыгрузкаЭлемент=Выгрузка.Ссылка.ПолучитьОбъект();
//И уже после можно нужные реквизиты запеременить
Сообщить(ВыгрузкаЭлемент[ИмяРеквизита]);
КонецЦикла;

Как сделать таким же макаром только в регистре сведений?
Просто код если не трудно.... Без расспросов пожалуйста.
Буду признателен!

Petre Подменю пользователя
сообщение 05.04.18, 14:46
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Gigi @ Today, 14:35 * ,
Точно так же.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 05.04.18, 15:14
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Petre @ Сегодня, 15:46 * ,
Нет так же не получилось ... я уже пробовал ..
На фрагмент:
СтрокаРегистраСвед = Выгрузка.Ссылка.ПолучитьОбъект();

Система вот как материться:
Цитата
{ОбщийМодуль.FxSub_РегистрСведений.Модуль(121)}: Поле объекта не обнаружено (Ссылка)
СтрокаРегистраСвед = Выгрузка.Ссылка.ПолучитьОбъект();

И понятное дело почему... ведь на рег сведений нет ссылки. Как на справочник или док.
Поэтому не знаю как решить вопрос.
Нужно просто в цикле выгрузки получить строку рега сведений целиком.
Вот что нужно..
Буду очень благодарен!


Gigi @ Сегодня, 15:53 * ,
просто рою .. шастаю по страницам нигде нет инфы блин...
И поэтому опять вынужден методом тыка.
Получить значение ресурса(ресурсов) по указанным измерением не проблема.
А собрать строки регистра по запросу это что проблема?
Нужно просто получить строку целиком. Больше ничего от системы не надо .

logist Подменю пользователя
сообщение 05.04.18, 15:45
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 05.04.18, 16:14) *
И понятное дело почему... ведь на рег сведений нет ссылки. Как на справочник или док.

Тут вы сами ответили на свой вопрос.

Цитата(Gigi @ 05.04.18, 16:14) *
просто рою .. шастаю по страницам нигде нет инфы блин...

Тут так же всё понятно - вы не можете даже поисковику объяснить что хотите...

Цитата(Gigi @ 05.04.18, 16:14) *
А собрать строки регистра по запросу это что проблема?

Не проблема. Для этого существуют запросы


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 05.04.18, 16:06
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

logist @ Сегодня, 16:45 * ,
Цитата(logist @ 05.04.18, 16:45) *
Не проблема. Для этого существуют запросы

Ну ладно существуют ... понятно
Так как получить СТОКУ РЕГИСТРА?
Разве не понятно что нужно?
ПРОСТО СТРОКА ЦЕЛИКОМ.
Таким же макаром как при выгрузке на пример элементов справочника
ВыгрузкаСтрока=Выгрузка.Ссылка.ПолучитьОбъект();

Легко и просто.
Поэтому можно говорить что "не проблема" ... но говорить одно.
Если не проблема то покажите какая это не проблема сточкой кода.
И судя по тому сколько строк кода будет для этого написано судя по этому и буду судить какая не проблема.
Количество строк посчитаю даже.. smile.gifsmile.gif
Так что ПОКАЖИТЕ smile.gifsmile.gif



Gigi @ Сегодня, 16:58 * ,
А в остальном ну просто опять топчусь на одном месте.. опять целый день ушел в пустую...ушел на то что бы как получить эту злосчастную строку.
По регу сведений куда не плюй опять натыкаешься на "Менеджер" ..."НаборЗаписи" и прочее ... гууу ... нужна строка целиком.
ВОТ ВСЕ ЧТО НУЖНО и ничего больше.
Разве это не понятный вопрос. Четкий и конкретный!

Petre Подменю пользователя
сообщение 05.04.18, 16:07
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Gigi @ Today, 15:58 * ,
Ссылка.ПолучитьОбъект();

Так вы получите объект, но никак не "просто строку целиком".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Bernet Подменю пользователя
сообщение 05.04.18, 16:09
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 317 раз
Рейтинг: 0

Используйте либо МенеджерЗаписи (одна запись) либо НаборЗаписей (коллекция) регистра сведений.

        НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Валюта.Установить(Справочники.Валюты.НайтиПоКоду("980")); // грн
    НаборЗаписей.Прочитать();

Для менеджера по аналогии: выставляете отборы, методом "Прочитать" получаете запись или коллекцию и делаете с ней что хотите


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 05.04.18, 16:10
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Petre @ Сегодня, 17:07 * ,
Ну ладно... Тогда получить строку рега сведений целиком невозможно?

Petre Подменю пользователя
сообщение 05.04.18, 16:12
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

Gigi @ Today, 16:10 * ,
Я не понимаю, что такое "получить строку справочника / документа / рега". А в остальном я уже сказал: чтение полей запроса не отличается от таблицы запроса.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

cos12 Подменю пользователя
сообщение 05.04.18, 16:32
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 226
Спасибо сказали: 28 раз
Рейтинг: 0

Цитата(Gigi @ 05.04.18, 17:10) *
Тогда получить строку рега сведений целиком невозможно?

конкатенацию некто не отменял, хотите строку, получите запись по столбцам и запишите в одну строку.

Gigi Подменю пользователя
сообщение 05.04.18, 16:43
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Petre @ Сегодня, 17:12 * ,
Гуууу ... только что понял.
Просто ссылку нужно было убрать и все дела. Так как рег сведений не имеет ее.
А строку целиком не реально. Нужно через НаборЗаписи и прочее
Ладно все это можно было сделать по проще.. и знаю что опять скажут, что это коряво и прочее .. но главное работает.
Код
Функция РегистрСведений_ЗапросРесурсовСтруктура(РегистрСведенийИмя,СтруктураИзмеренияЗначенияДляВыгрузки,РесурсСтруктураРесурсы)Экспорт
СтруктураРесурсовВыгрузки=Новый Структура();    
РесурсСтруктураРесурсы_Тип=FxSubСерв_Тип.ТипЗнач(РесурсСтруктураРесурсы,"Структура");
КоличествоИзмеренийВыгрузки=СтруктураИзмеренияЗначенияДляВыгрузки.Количество();
Если КоличествоИзмеренийВыгрузки=0 Тогда Возврат СтруктураРесурсовВыгрузки КонецЕсли;
//======================================================    
Выгрузка=РегистрыСведений[РегистрСведенийИмя].Выбрать();
//******************************************************
КоличествоЗначенийИстина=0;
Пока Выгрузка.Следующий() Цикл
КоличествоСовпаденийПоЛинии=0;
Для каждого Элемент из СтруктураИзмеренияЗначенияДляВыгрузки Цикл
ИзмерениеСоответствия=Элемент.Ключ;
ЗначениеСоответствия=Элемент.Значение;
выгрИзмерениеЗначение=Выгрузка[ИзмерениеСоответствия];
        Если ЗначениеСоответствия=выгрИзмерениеЗначение Тогда
        КоличествоСовпаденийПоЛинии = КоличествоСовпаденийПоЛинии+1;
        КонецЕсли;
КонецЦикла;
//------------------------------------------------------    
Если КоличествоИзмеренийВыгрузки<>0 и КоличествоИзмеренийВыгрузки=КоличествоСовпаденийПоЛинии Тогда
//******************************************************
КоличествоЗначенийИстина=КоличествоЗначенийИстина+1;
Ключь_НомерСовпадения="Ссылка_"+Строка(Формат(КоличествоЗначенийИстина,"ЧГ=00"));
//------------------------------------------------------
Если РесурсСтруктураРесурсы_Тип=Ложь Тогда    
    СтруктураРесурсовВыгрузки.Вставить(Ключь_НомерСовпадения, Выгрузка[РесурсСтруктураРесурсы]);
Иначе
    СтруктураЗначениеРесурсов=Новый Структура;
    Для Каждого ЭлементРесурс Из РесурсСтруктураРесурсы Цикл
    РесурсИмя=ЭлементРесурс.Ключ;
    //Сообщить(ЭлементРесурс.Значение);
    РесурсЗначение=Выгрузка[РесурсИмя];
    СтруктураЗначениеРесурсов.Вставить(РесурсИмя,РесурсЗначение);
    КонецЦикла;
    СтруктураРесурсовВыгрузки.Вставить(Ключь_НомерСовпадения, СтруктураЗначениеРесурсов);
КонецЕсли;
//******************************************************
КонецЕсли;
//******************************************************
КонецЦикла;
//======================================================
Возврат СтруктураРесурсовВыгрузки
КонецФункции

Ерунда не ерунда не знаю .... За то знаю то что это и было нужно. Просто список ресурсов по запросу. Это удобно если нужно для группировки разных ссылок.
В таком случае значения ресурса это ссылка на документ. И просто когда документов слишком много и нужно долго ждать пока выгружаются.
А если какие то группы ссылок записать в рег сведений то выгрузить их будет быстрее. Просто для группировки разных категорий документов в зависимости от определенных опций
Вот и все что было нужно.
Ладно спасибо всем:

andr_andrey Подменю пользователя
сообщение 06.04.18, 9:24
Сообщение #12

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Цитата(Gigi @ 05.04.18, 17:43) *
А строку целиком не реально. Нужно через НаборЗаписи и прочее
Ладно все это можно было сделать по проще.. и знаю что опять скажут, что это коряво и прочее .. но главное работает.

Тяжело понять (прочитать) принципы платформы? Все регистры - наборы, их читают запросами, запросы возвращают не строку, а наборы записей, которых может быть больше одной в общем случае.
Затесалось сомнение, что вы [необходимо зарегистрироваться для просмотра ссылки], которому по воле случая пришлось открыть ненавистную 1С smile.gif


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Спасибо сказали: Vidocq05,

logist Подменю пользователя
сообщение 06.04.18, 11:59
Сообщение #13

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

По-моему пришла пора размещать темы автора в разделе Юмор smile.gif


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Vidocq05,

cos12 Подменю пользователя
сообщение 06.04.18, 12:56
Сообщение #14

Завсегдатай
****
Группа: Пользователи
Сообщений: 226
Спасибо сказали: 28 раз
Рейтинг: 0

12201689.gif

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 14:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!