Имя: Пароль:
1C
1С v8
конкатенация строк запросе разных типов
0 Cоляпсус
 
31.08.18
10:05
Доброе утро уважаемые.
Ситуация такая вот сложилась. Попробую объяснить.
Два запроса путём объединения выводят два вида значений строку (15,17 и тд) и сумму значений (35,45 и тд). Необходимо чтобы к обоим видам значений было пристыковано строковое значение. Например А-15, Б-17. Со строками проблем не возникает, но вот с суммой конечно проблема. Запрос не умеет менять значения и делать конкатенацию разных значений (или умеет, но я об этом не знаю, что плохо). Всё это делается в скд ,Причём все эти значения должны выводится в одной ячейке (А-15, Б-17, Г-34), но выводится это сейчас как (34,А-15,Б-17). Соединил я всё это в ресурсах через СоединитьСтроки(Массив()). Не могу никак понять как к (34) присоединить Г. Если поможете буду благодарен. Читал про общие модули, но что-то никак не даётся мне это реализовать.
Всем заранее спасибо.
1 Мистикан
 
31.08.18
10:09
Функция в общем модуле у которой в аргументах твои поля, на выходе значение которое будет помещено вы вычисляемое поле СКД, в котором ты вызываешь функцию. Настройки вызовов общего модуля не помню, можно нете найти
2 Cоляпсус
 
31.08.18
10:25
(1) Вот бы по подробнее, никак не получается сделать
3 Мистикан
 
31.08.18
10:45
Создаешь общий модуль(ОбщийМодуль1 например), в настройках ставишь Сервер,Вызов сервера. В нем создаешь экспортную функцию например ВернутьЗначение(а,б), в функции производишь нужный тебе расчет, в СКД во вкладке вычисляемые поля в выражение ставишь ОбщийМодуль1.ВернутьЗначение(ПОЛЕ1,ПОЛЕ2)
4 SleepyHead
 
гуру
31.08.18
11:04
Слишком сложно. Создать вычисляемое поле и в нем Строка(...)+Строка(..)
5 Cоляпсус
 
31.08.18
11:26
(3) В СКД у меня есть параметры, как их передать в общий модуль?
6 Cоляпсус
 
31.08.18
11:29
(4) При создании вычисляемого поля он пишет его в отдельный столбик. А надо писать в одну ячейку. Я пробовал не через соединитьстроки(массив), а через соединитьстроки(тз), но почему-то что-то не взлетело
7 Мистикан
 
31.08.18
11:31
(6) тогда работай в выводом препроцессора
8 Chameleon1980
 
31.08.18
11:32
(5) а через амперсанд не улетит значение параметра?
9 Мистикан
 
31.08.18
11:32
когда скд все общитала но еще не вывела, влазишь и творишь с ячейками что хочешь.
10 Мистикан
 
31.08.18
11:33
(8) хз даже не пробывал, можешь через амперсанд в запрос параметр засунуть и обрабатывать как поле
11 Лефмихалыч
 
31.08.18
11:35
(0) перестань хотеть этого в запросе.
12 Мистикан
 
31.08.18
13:35
(0) сомневаюсь что получится без кода или СКД это запросом сделать. Я с чем то подобным давно мучился, плюнул и сделал в СКД
13 polosov
 
31.08.18
13:55
"Б" + Выразить(ТвоеПолеСЦифрой КАК Строка(10))

Это прям в запросе
14 polosov
 
31.08.18
14:04
(13) Хотя не, вру
15 Cоляпсус
 
31.08.18
14:20
(12) Понимаю, что наверное придётся лезть в код, но пока не понял как же это сделать. Все возможные способы я уже опробовал, ну я так думаю
16 Cоляпсус
 
31.08.18
14:22
(11) Уже перестал, но это оптимальный вариант просто, но он же так не работает. Не умеет И как (13), так точно не работает
17 Cоляпсус
 
31.08.18
14:23
(12) Это всё  сделано на СКД, но кодом писать ничего не хотелось, хочется средствами тогда СКД
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn