Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 14:21
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Конвертация в строку.  (Прочитано 3842 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн |R|U|D|E|N

  • ***
  • Сообщений: 217
  • РЕПУТАЦИЯ: 3
  • КПД: 1%
  • Регистрация: 2011-01-09
  • Компания: Virtual-Kernel | KVM | Xen
  • Профессия: Разработчик 1С
Доброго времени суток.
У меня есть функция отлично работающая в теле которой выполняется запрос к БД и возврощается структура элементов.

Функция ПолучитьСтатусЗаказа(Номер)


Запрос = Новый Запрос;
    Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|СтатусыЗаказов.Период КАК Дата,
|СтатусыЗаказов.Регистратор КАК Документ,
|СтатусыЗаказов.Оборудование,
|СтатусыЗаказов.SN,
|СтатусыЗаказов.Статус,
|СтатусыЗаказов.НомерЗаказа,
|СтатусыЗаказов.Контрагент,
|СтатусыЗаказов.Информация,
|ОписаниеСтатусовСрезПоследних.ОписаниеСтатуса
|ИЗ
|РегистрСведений.СтатусыЗаказов КАК СтатусыЗаказов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОписаниеСтатусов.СрезПоследних КАК ОписаниеСтатусовСрезПоследних
| ПО СтатусыЗаказов.Статус = ОписаниеСтатусовСрезПоследних.Статус
|ГДЕ
|СтатусыЗаказов.НомерЗаказа = &НомерЗаказа";


Запрос.УстановитьПараметр("НомерЗаказа", Номер);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    СписокПараметров = Новый Структура;
   
СписокПараметров.Вставить("Период");
СписокПараметров.Вставить("НомерЗаказа");
СписокПараметров.Вставить("Документ");
СписокПараметров.Вставить("Оборудование");
        СписокПараметров.Вставить("SN");

Если ВыборкаДетальныеЗаписи.Следующий() Тогда
       
СписокПараметров.Период = ВыборкаДетальныеЗаписи.Период;
СписокПараметров.НомерЗаказа = ВыборкаДетальныеЗаписи.НомерЗаказа;
СписокПараметров.Документ = ВыборкаДетальныеЗаписи.Документ;
СписокПараметров.Оборудование = ВыборкаДетальныеЗаписи.Оборудование;
        СписокПараметров.SN = ВыборкаДетальныеЗаписи.SN;

КонецЕсли;



    Возврат СписокПараметров;


КонецФункции


Как мне сделать, чтобы Возврат был не в виде структуры а в виде строки!? тойсть преобразовать структуру в строку, вставив между элементами например"#" и вернуть как строку такого вида на пример:
21.02.2010#Мат.Плата - Intel#SN456FG456...и т.д

Очень нужна ваша помощь! Любые варианты и предложения!

С Уважением Алуксандр.


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Так чтоли?
......................
СписокПараметров = Новый Структура;
СписокПараметров.Вставить("Представление");
Разделитель = "#";
Если ВыборкаДетальныеЗаписи.Следующий() Тогда       
СписокПараметров.Представление = Строка(ВыборкаДетальныеЗаписи.Период) + Разделитель + СокрЛП(Строка(ВыборкаДетальныеЗаписи.НомерЗаказа)) + Разделитель + Строка(ВыборкаДетальныеЗаписи.Документ) + Разделитель + Строка(ВыборкаДетальныеЗаписи.Оборудование);
КонецЕсли;
.........................

Оффлайн Шурыгин Иван Сергеевич

  • забей на все....
  • ****
  • Сообщений: 330
  • РЕПУТАЦИЯ: 82
  • КПД: 25%
  • забей на все!
  • Регистрация: 2011-05-23
  • Сайт: 
  • Профессия: Программист 8.1
Так чтоли?
......................
СписокПараметров = Новый Структура;
СписокПараметров.Вставить("Представление");
Разделитель = "#";
Если ВыборкаДетальныеЗаписи.Следующий() Тогда       
СписокПараметров.Представление = Строка(ВыборкаДетальныеЗаписи.Период) + Разделитель + СокрЛП(Строка(ВыборкаДетальныеЗаписи.НомерЗаказа)) + Разделитель + Строка(ВыборкаДетальныеЗаписи.Документ) + Разделитель + Строка(ВыборкаДетальныеЗаписи.Оборудование);
КонецЕсли;
.........................


слишком громоздко. и не удобно в плане количества реквизитов. лучше перебор

......................
СписокПараметров = Новый Структура;
СписокПараметров.Вставить("Представление");
Разделитель = "#";
Для Каждого КлючЗначение Из Структура Цикл       
СписокПараметров.Представление = КлючЗначение.Значение + Разделитель;
КонецЦикла;
//уберем последний разделитель
СписокПараметров.Представление = Лев(СписокПараметров.Представление,СтрДлина(СписокПараметров.Представление) - 1);
.........................


===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Оффлайн |R|U|D|E|N

  • ***
  • Сообщений: 217
  • РЕПУТАЦИЯ: 3
  • КПД: 1%
  • Регистрация: 2011-01-09
  • Компания: Virtual-Kernel | KVM | Xen
  • Профессия: Разработчик 1С
Мужчины, Вы лучшие! как в прочем и этот форум! Спасибо вам.

Мне всего лишь нужна была вот эта функция "Строка()" все остальное уже понятно)) не мог не где найти к сожалению..

Ну теперь все работает как задуменно! Еще раз спасибо.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Шурыгин Иван Сергеевич, в Вашем варианте вернется только последний параметр, да и по-моему, автор просил строку, а не структуру с одним элементом...

Разделитель = "#";
СтрокаВозврата="";
Для Каждого КлючЗначение Из СписокПараметров Цикл        
     СтрокаВозврата = СтрокаВозврата + Строка(КлючЗначение.Значение) + Разделитель;
КонецЦикла;
//уберем последний разделитель
СтрокаВозврата = Лев(СтрокаВозврата,СтрДлина(СтрокаВозврата) - 1);
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
да и по-моему, автор просил строку, а не структуру с одним элементом...
о, точно. Ну принцип все равно понятен думаю.


Теги:
 

Перонос данных из бухгалтерии в УТ. Конвертация данных.

Автор coconut95Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 395
Последний ответ 28 Июн 2017, 15:16
от Saddhu
Кому нужна инф. по конфе "Конвертация"

Автор ВоронкинРаздел Закрытые темы

Ответов: 2
Просмотров: 3812
Последний ответ 09 Фев 2012, 19:38
от Столяр
Конвертация данных, ошибка "Преобразование значения к типу Число не может быть выполнено"

Автор CerebrinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1948
Последний ответ 10 Май 2015, 21:51
от Дмитрий@
1С Конвертация Данных. Не отрабатывает флаг "Не создавать объект если не найден"

Автор maks_20Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1399
Последний ответ 16 Ноя 2015, 16:03
от maks_20
Конвертация сценария "Закупки, продажи и производство" Тест-центра 1.2 под 2.0

Автор rollerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1905
Последний ответ 31 Авг 2010, 13:32
от roller

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
172 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 797
  • Точка Скрытых: 0
  • Точка Пользователей: 10
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal