Имя: Пароль:
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) Это всё  сделано на СКД, но кодом писать ничего не хотелось, хочется средствами тогда СКД
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.