Имя: Пароль:
1C
1С v8
Добавить строковое значение в запросе
0 shlyahtich
 
18.01.12
16:35
В запросе надо добавить строковое значение

например

ВЫБРАТЬ
   ХозрасчетныйОстатки.Субконто1 КАК НАИМЕНОВАНИЕ,
   "Строка.." + ХозрасчетныйОстатки.Субконто1.Код
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки

Как сделать эту конкатенацию в запросе?
спасибо
1 shlyahtich
 
18.01.12
16:36
"Строка.." + ХозрасчетныйОстатки.Субконто1.Код
это не работает
2 Живой Ископаемый
 
18.01.12
16:41
по-моему этот баян уже давно скурен несколько раз...
3 Живой Ископаемый
 
18.01.12
16:41
недавно в в8?
4 shlyahtich
 
18.01.12
16:56
Интересно ответить или интересна моя биография
5 Живой Ископаемый
 
18.01.12
16:59
интересно как люди доживают до 30 лет не научившись завязывать шнурки самостоятельно... но я согласен что это не относится к теме...

http://screencast.com/t/pCoCevNNEk
6 ptiz
 
18.01.12
16:59
"Строка.." + ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1.Код КАК СТРОКА(300))
7 shlyahtich
 
18.01.12
17:01
(6)
ок!
8 shlyahtich
 
18.01.12
17:14
(5) бывает забываешь что 2+2 = 4
и спотыкаются люди на ровном месте - только одни ископаемые подпихнут нальду и поржут над старичком, а кто то поддержит под локоть

ptiz - коротко и ясно без видеоинструкций - которая не по существу вопроса
9 Живой Ископаемый
 
18.01.12
17:16
2(8) серьезно не по существу? в видеоинструкции очень быстро мелькает слово ВЫРАЗИТЬ, что старичкам его не ухватить?
==
зы.. не относи на свой счет, мне тут просто мозг выносят и я пытаюсь спустить пар. :)
10 shlyahtich
 
23.01.12
17:29
Мне тоже мозг выносят так, что видео смотреть некогда
и пар некогда спускать )
продолжение
в СЧФ на авансы надо вместо фразы старой подтянуть № договора его дату и наименование:
Всё ОК - но как дату подтянуть - а запрос чуток правится в стандартной процедуре

   Запрос.Текст =
   "ВЫБРАТЬ
   |    СчетФактураВыданный.Организация,
   |    ВЫБОР
   |        КОГДА СчетФактураВыданный.Исправление
   |            ТОГДА СчетФактураВыданный.НомерИсходногоДокумента
   |        ИНАЧЕ СчетФактураВыданный.Номер
   |    КОНЕЦ КАК Номер,
   |    ВЫБОР
   |        КОГДА СчетФактураВыданный.Исправление
   |            ТОГДА СчетФактураВыданный.ДатаИсходногоДокумента
   |        ИНАЧЕ СчетФактураВыданный.Дата
   |    КОНЕЦ КАК Дата,
   |    СчетФактураВыданный.Организация КАК Поставщик,
   |    СчетФактураВыданный.Контрагент КАК Покупатель,
   |    &ВалютаРегламентированногоУчета КАК Валюта,
   |    СчетФактураВыданный.Сумма КАК Сумма,
   |    СчетФактураВыданный.СуммаНДС КАК СуммаНДС,
   |    СчетФактураВыданный.СтавкаНДС КАК СтавкаНДС
   //{чтоб в ав СЧФ подтягивался договор
   |    ,""Предварительная оплата по договору №"" + (ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Номер КАК СТРОКА(15))) + (ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Наименование КАК СТРОКА(150))) + "" от "" КАК ДоговорКонтрагента
   //}
   |ИЗ
   |    Документ.СчетФактураВыданный КАК СчетФактураВыданный
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
   |        ПО СчетФактураВыданный.Ссылка = СчетФактураВыданныйДокументыОснования.Ссылка
   |            И (СчетФактураВыданныйДокументыОснования.ДокументОснование = &ТекущееОснование)
   |ГДЕ
   |    СчетФактураВыданный.Ссылка = &Ссылка
   |    И СчетФактураВыданный.ДокументОснование = &ТекущееОснование";
   
   Шапка = Запрос.Выполнить().Выбрать();


То есть
,""Предварительная оплата по договору №"" + (ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Номер КАК СТРОКА(15))) + (ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Наименование КАК СТРОКА(150))) + (ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.ДАТА КАК СТРОКА(10)))
не работает
11 Wobland
 
23.01.12
17:31
(10) делай это всё в пост-обработке
12 Wobland
 
23.01.12
17:32
+(11) запрос нужен для извлечения данных. а как ты эти данные представлять собрался - не его дело
13 Живой Ископаемый
 
23.01.12
17:32
(10)Как у тебя в <b>печатной форме</b> заполняется "ДоговорКонтрагента"?
14 shlyahtich
 
23.01.12
17:33
работает это    ,""Предварительная оплата по договору №"" +
(ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Номер КАК СТРОКА(15))) +
(ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Наименование КАК СТРОКА(150))) +
"" от ""
КАК ДоговорКонтрагента

а это не работает

,""Предварительная оплата по договору №"" +
(ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Номер КАК СТРОКА(15))) +
(ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Наименование КАК СТРОКА(150))) +
"" от ""
(ВЫРАЗИТЬ(СчетФактураВыданный.ДоговорКонтрагента.Дата КАК СТРОКА(10)))

КАК ДоговорКонтрагента
15 Wobland
 
23.01.12
17:34
(14) а запрос умеет дату в строку конвертировать?
16 shlyahtich
 
23.01.12
17:34
(11)
так мимнимизируется вмешательство в типовые процедуры
Если посмотрите на то как формируется печать СЧФ то пойтмете почему - и что в пост обработку лезть не следует
17 shlyahtich
 
23.01.12
17:35
(15) похоже не умеет, но какой то выход должен быть, связанный с ф-ями работы с датами
18 Wobland
 
23.01.12
17:36
(16) ага, обязательно, грядёт 24е ;)
(17) я настаиваю на (11) ;)
19 hhhh
 
23.01.12
17:40
(17) нет в запросах 1с функций преобразования данных, хоть ты дерись.
20 Живой Ископаемый
 
23.01.12
17:41
2(16) Еще скажи что не подключаются внешние печатные формы.
21 Wobland
 
23.01.12
17:42
(19) цитирую СП: Приведение типа
22 Wobland
 
23.01.12
17:43
открыл для себя новое: Для <Тип значения> СТРОКА с указанием длины максимальный размер строки составляет 1024
спасибо
23 hhhh
 
23.01.12
17:43
(21) приведение - это не преобразование.
24 Wobland
 
23.01.12
17:44
(23) тогда мы не понимаем друг друга, извини
25 shlyahtich
 
23.01.12
17:44
ладно - хотелось CAST но что поделать - придется в пост сделать все таки
26 Serg_1960
 
23.01.12
18:09
(17) Не считайте это саморекламой :) , но пост 23 в v8: Дата в строку в запросе.. ...
27 Wobland
 
23.01.12
18:11
(26) пост 23 на самом деле, но оригинально
28 Wobland
 
23.01.12
18:12
(27) тфу, я на 26й пошёл ;)
29 Wobland
 
23.01.12
18:15
(26) взрыв мозга под вечер. но классно. жаль, работает только в текущем и прошлом веке ;)
Закон Брукера: Даже маленькая практика стоит большой теории.