Имя: Пароль:
1C
1C 7.7
v7: 1с++ Получение документа из регистра, недопустимое имя столбца "IDDoc".
0 palpetrovich
 
21.03.16
10:49
код:

Select  
    Рег.IDDoc as [Докм $Документ],
    Товар [Товар $Справочник.Товары],
    Склад [Склад $Справочник.Склады],
    СтоимостьРасход
FROM
    $РегистрОстаткиОбороты.ОстаткиТоваров(
            :ВыбНачПериода,
            :ВыбКонПериода~,,,,,
            (Товар, Склад),
            Стоимость
            ) Рег

подскажите, что ему надо?
1 ЧеловекДуши
 
21.03.16
10:53
(0) >>> Рег.IDDoc as [Докм $Документ],
А кто вид документа будет указывать?
2 ЧеловекДуши
 
21.03.16
10:54
+ Откуда на остатках, IDDoc?
3 palpetrovich
 
21.03.16
10:55
(1) без толку, эт ч упростил, было

        |    Рег.IDDoc as [Докм $Документ],
        |    Рег.IDDocDef as Док_вид,        
        |    Рег.Товар [Товар $Справочник.Товары],
        |    Рег.Склад [Склад $Справочник.Склады],
        |    Рег.СтоимостьРасход
4 ЧеловекДуши
 
21.03.16
10:55
+ Запусти отладку запроса.
5 vde69
 
21.03.16
10:55
неужели 1с++ кто то еще жрет? по моему на 77 остались только ларьки с типовыми?
6 ЧеловекДуши
 
21.03.16
10:55
(3) Обороты не путай с остатками :)
7 palpetrovich
 
21.03.16
10:55
(2) мне только "СтоимостьРасход" нужен
8 ЧеловекДуши
 
21.03.16
10:56
(5) Не знаю, как там ларьки. Но на прямых запросах с прямыми руками программиста 1С. 7.7 объедет 8.х :)
9 palpetrovich
 
21.03.16
10:57
(5) это только кажется

зы без IDDoc показывает нужные цифры, но мне надо пару реквизитов из документа получить
10 Serginio1
 
21.03.16
11:00
(5) Да ладно. Есть куча специально заточенных конфигураций, которые переделывать накладно. Но при этом они прекрасно работаю и сделана выгрузка в 8.3
11 ЧеловекДуши
 
21.03.16
11:01
(0) Вот так нужно.
http://catalog.mista.ru/public/20823/
12 palpetrovich
 
21.03.16
11:01
+(9)  можно конечно тупо сделать запрос по расходным накладным, но в вот пишут-же в интернетах:

Получение документа из регистра

В зависимости от наличия флага БыстаяОбработкаДвижений (значение флага смотрите в разделе Оптимизация регистров) получается 2 способа.

Способ 1: при наличии флага.
ТекстЗапроса = "
|SELECT
|    Рег.IDDoc as [Док $Документ],
|    Рег.IDDocDef as Док_вид,
|    $Рег.Склад as [Склад $Справочник.Склады],
|    $Рег.Товар as [Товар $Справочник.Номенклатура],
|    $Рег.Количество as Количество
|FROM
|    $Регистр.ОстаткиТоваров as Рег
|WHERE
|    Рег.IDDoc = :ВыбДок";
13 ЧеловекДуши
 
21.03.16
11:02
(9) Там вроде у этой виртуальной таблицы есть ряд параметров, которые нужно указать.

А так, я некогда не любил сею конструкцию. Мне вот лучше выполнить 3 запроса:
1. Обороты
2. Нач. остаток
3. Кон. Остаток

Чем лепить все одной командой :)
14 Serginio1
 
21.03.16
11:03
(12) Пользуйся конструктором запросов 1С++
15 palpetrovich
 
21.03.16
11:04
блин, а (12) - таки работает
16 Serginio1
 
21.03.16
11:04
Для запуска конструктора запросов вызовите метод RunWizard плагина qryMaker или выберите пункт "Конструктор запросов 1С++" в меню шаблонов плагина "Телепат".
17 ЧеловекДуши
 
21.03.16
11:04
(15) У тебя параметра нет "Документы".
18 Mikeware
 
21.03.16
11:05
Во-первых, не указана периодичность Во-вторых у тебя в виртуальной таблицке не будет иддока, а будетПозицияДокумента
19 palpetrovich
 
21.03.16
11:05
+(15)  походу прийдется соединять виртуальную табличку регистра с обычной
20 Mikeware
 
21.03.16
11:05
(15) дык ты выбираешь из виртуальной табицы, а (12) - из реальной
21 Карупян
 
21.03.16
11:05
(18) В виртуальной таблице остатков можно указать периодичность?
22 palpetrovich
 
21.03.16
11:06
(16) че-т не получилось у меня установить телепат на вин7
23 Mikeware
 
21.03.16
11:06
(19) не надо. Получи позицию, и возьми от нее 18-23 символы
24 Mikeware
 
21.03.16
11:07
(21) не можно, а нужно!
третий параметр
25 palpetrovich
 
21.03.16
11:07
(23)  не уменю пока получать позицию ...а соединять по-ходу не по чем :)
26 Serginio1
 
21.03.16
11:08
(22) Ставится у Mikeware попроси
27 ADirks
 
21.03.16
11:08
(19) А нафига вообще виртуальна таблица, если все данные и так получить можно?  Чтоб непонятнее было?
28 Mikeware
 
21.03.16
11:08
(23) Блин, не 18-23...
Кортче, там  date_time_iddoc получается, в виде чар(23)
29 Mikeware
 
21.03.16
11:09
(27) а не пофиг ли?
виртуальной удобно всякие ведомости делать
30 ЧеловекДуши
 
21.03.16
11:12
(27) Да это от лени. Писать меньше.
А так еще нужно было бы остатки получать, отдельными запросами.
Хотя можно так же все объединить.
31 Mikeware
 
21.03.16
11:12
(5) в типовых нет 1с++
а там, где есть 1с++ - как правило, достаточно большие и нагруженые базы. Которые переводить на снеговика долго и накладно.
Процесс, конечно, идет, но медленно.
32 ЧеловекДуши
 
21.03.16
11:12
(29) Удобно, но не вот этим монстром, что в (0) попробовал заюзать :)
33 Serginio1
 
21.03.16
11:12
34 ЧеловекДуши
 
21.03.16
11:13
(31) А еще с огорчением, в виду потери скорости на снеговиках :)
35 ADirks
 
21.03.16
11:15
(29) мне лично так проще, не надо запоминать лишнего (как вирт. таблицы устроены)
36 Serginio1
 
21.03.16
11:16
31+ При этом 1С++ позволяет использовать всю мощь T-SQL
37 palpetrovich
 
21.03.16
11:16
(33) там "Бесплатно для новых юр.лиц" :)
38 Mikeware
 
21.03.16
11:17
(35) тоже вариант. Но в плане перехода на снеговика - лучше привыкать к виртуальным.
Да и вообще - если сделали серхний уовень абстракции - зачем без необходимости спускаться на нижний?
39 palpetrovich
 
21.03.16
11:18
(32) а чего монстром? что там монстрячего?
а виртуальная - потому-как мне еще разворачивать отчет по горизонтали надо в зависимости от выбранной пользователем периодичности
40 Mikeware
 
21.03.16
11:21
(37) в чем у тебя проблемы? в регистрации этих ocx и т.п.?
41 Mikeware
 
21.03.16
11:26
(34) "потеря скорости" - это мягко сказано.
42 palpetrovich
 
21.03.16
11:31
(40) да, не регистрирует

чет опять двадцать пять :)
        |Select  
        |    Рег.ПозицияДокумента as Поз,
...
Server Driver][SQL Server]Недопустимое имя столбца "ПозицияДокумента".
43 Mikeware
 
21.03.16
11:34
(42)1. по регистрации - сейчас скину исправленый рег.бат Если найду. протерял где-то. Или пытай алексея, я по его советам делал
2. Периодичность какая стоит?
44 palpetrovich
 
21.03.16
11:35
(42)  никакая не сояла, поставил Document - заработала :)
сейчас попробую день, неделя...
45 Mikeware
 
21.03.16
11:36
(44) в "день" и "неделя" позиции документа не будет
46 palpetrovich
 
21.03.16
11:37
+(45)  - да, прав :(
м что делать, если именно это нужно?
47 trad
 
21.03.16
11:38
РегистрОстаткиОбороты с периодичностью глючит, только не помню - то ли с периодичностью Документ, то ли со всеми кроме Документ
48 palpetrovich
 
21.03.16
11:41
(47) а если нужны только расходы, может лучше запрос по оборотам делать?
49 Mikeware
 
21.03.16
11:41
(46) собирать руками. Как говорили выше.
Или в полученую с периодичностью "документ" таблицу добавлять нужный период (танцуя от даты документа), и группировать по нему.
50 Mikeware
 
21.03.16
11:42
попробуй в Рег.бат заменить функцию на
function regwsc(fullPath, params){
return "C:\WINDOWS\system32\REGSVR32.EXE /i:"+params+" C:\WINDOWS\SYSWOW64\scrobj.dll";

}
51 Mikeware
 
21.03.16
11:42
(48) делай сразу по регистру (по таблице движений)
52 Mikeware
 
21.03.16
11:43
(47) вроде не натыкался...
Хотя виртуальные таблицы я нечасто использовал
53 Serginio1
 
21.03.16
11:45
(46) Запусти батник от имени администратора
54 palpetrovich
 
21.03.16
11:49
(53) конечно пробовал от имени администратора, но для меня сейчас это не главное, перехожу на новую работу, здесь устанавливать вроде как и не за чем

(51) "сразу по регистру" - в смысле по физТаблице? а как мне периодичность (день, неделя, месяц) получить?
55 Boroda
 
21.03.16
11:51
Если хочешь в разрезе документов, то у вирт. таблицы, как тут уже писали, периодичность ставишь "Документ". А обращение к нему через "ПозицияДокумента".
Пример:
FROM
$РегистрОбороты.ТвойРегистр(:НачДата, :КонДата~,Документ,
.
.) as Рег
LEFT JOIN _1SJourn as Жур (nolock)  ON Жур.Date_Time_IdDoc = Рег.ПозицияДокумента

А дальше уже из Жур вытягиваешь и документ и вид документа.
56 Mikeware
 
21.03.16
11:54
Получай по дате нужный разрез, и по нему группируй в запросе
57 palpetrovich
 
21.03.16
11:57
(56) т.е. сначала получить СписокДат из выбранного периода с заданной периодичностью, а потом соединять его с данными из регистра?
58 palpetrovich
 
21.03.16
12:01
+(57)  причем, если по "День" - то понятно как соединять, е сли по неделя, иесяц - еще надо подумать

зы  ну вот почему этот ИДДОК не засунуть в ВиртТаблицы-а? ну нужен-же не только мне наверное :)
59 Mikeware
 
21.03.16
12:02
(57) нет. у тебя будет список дат (позиций документов) по движению документов.
От этих позиций бери нужное - например, номер недели как datapart(wk,cast(left(Рег.date_time_iddoc,8) as datetime) )
60 palpetrovich
 
21.03.16
12:08
(59) о, вон оно как, надо подумать ...или попробовать :)
кста, этот date_time_iddoc так примерно выглядит: "201603109KYJWG 8"
дата как-бы видна невооруженным взгядом, а дальше - это что, ссылка на док? а после пробела?
61 palpetrovich
 
21.03.16
12:09
(60) а не, после пробела это походу и есть ИДДОК
62 palpetrovich
 
21.03.16
12:12
(59) спавибо за пинок в нужном направлении :)
и вообще - всем спасибо
63 Mikeware
 
21.03.16
12:13
(60) Дата 6 символов, потом 6 символов время в тысячных секунды с начала даты, переведенное в 36-разрядную систему, а далее - иддок.
ходи на скрипт-кодинг, там расписано
64 trad
 
21.03.16
12:41
(63) Дата - 8
65 trad
 
21.03.16
12:42
right(ПозицияДокумента,9) - iddoc
66 palpetrovich
 
21.03.16
12:42
(63) ну как-же 6 символов? ну явно-же 8
"201603109KYJWG 8" - 20160310

как-то маловато информации возвращает этот DATEPART
DATEPART(month, cast(left(Рег.ПозицияДокумента,8) as datetime)) as month
// 2, 3
как минимум нужно соединять с годом...
67 Mikeware
 
21.03.16
12:44
(66) восемь, восемь.. тарапился
68 Mikeware
 
21.03.16
12:46
(66) если надо годмесяц - бери из даты первые 6 символов. Если до дня - первые 8.
а дэйтпарт - нужно для номера недели, или для дня недели, или номера квартала
69 ЧеловекДуши
 
21.03.16
12:50
(42) У регистра должна быть галочка "Быстрые движения"
70 ЧеловекДуши
 
21.03.16
12:50
+ Или типо того
71 ЧеловекДуши
 
21.03.16
12:51
(48) Да лучше, но писать немного дольше :)
72 Mikeware
 
21.03.16
12:52
(69) "не тормози. сникерсни"©
73 Serginio1
 
21.03.16
12:52
74 palpetrovich
 
21.03.16
13:04
(73) спасибо
75 Mikeware
 
21.03.16
13:16
(73) а зачем?
если собирать по неделям, то знать дату начала недели совершенно необязательно.
если уж нужно будет это отобразить (в шапке, например) - можно получить период недели по ее номеру на этапе вывода
76 palpetrovich
 
21.03.16
14:29
(75) да, нужно именно для вывода, просто боюсь при запросе за период с "переходящим" годом - получу бардак...
12.2015; 01.2016 при периодичности "месяц" отсортируется как 1, 12
77 palpetrovich
 
21.03.16
14:34
+ (76)  а в этом коде, я не могу из "2132016" получить "21032016"

        |    (cast(DATEPART(day, cast(left(Рег.ПозицияДокумента,8) as datetime))  as varchar)  +  
        |    cast(DATEPART(month, cast(left(Рег.ПозицияДокумента,8) as datetime))  as varchar)  +    
        |    cast(DATEPART(year, cast(left(Рег.ПозицияДокумента,8) as datetime))  as varchar) ) as Период,
78 palpetrovich
 
21.03.16
14:38
+(77)  впрочем получилось :)  ...уж не знаю насколько это оптимально

        |    (left( '0' + cast(DATEPART(day, cast(left(Рег.ПозицияДокумента,8) as datetime))  as varchar) , 2) +  
        |    left( '0' + cast(DATEPART(month, cast(left(Рег.ПозицияДокумента,8) as datetime))  as varchar) , 2) +    
        |    cast(DATEPART(year, cast(left(Рег.ПозицияДокумента,8) as datetime))  as varchar) ) as Период,
79 palpetrovich
 
21.03.16
14:41
+ (78)  мдя, что-то меня не туда занесло, пока решал "строковую" задачку, потерял главное :)
80 palpetrovich
 
21.03.16
14:49
о, такая конструкция возвращает первый день в месяце

        |    DATEADD(day,-DAY( cast(left(Рег.ПозицияДокумента,8) as datetime)) +1, cast(left(Рег.ПозицияДокумента,8) as datetime) )  as Период,

осталось такое сделать для первого дня недели
81 Mikeware
 
21.03.16
14:50
(76) так отрезай первые 6 символов: 201512,201601,201602...
82 Mikeware
 
21.03.16
14:51
(80) за каким нахреном?
83 Serginio1
 
21.03.16
14:53
84 Aleksey
 
21.03.16
14:55
(5) как раз ларёк с типовой без проблем сваливает на 8-ку.
85 palpetrovich
 
21.03.16
15:01
(82) ну вообще-то да, (81) решает ту-же задачу :)
а вот как с неделями быть надеюсь в (83) найду :)
86 Mikeware
 
21.03.16
15:06
(85) какя разница, написано оно на t-sql или на 1с? Если тебе нужно "начало недели" в запросе - это одно, а если только при выводе - нахрена грузить сервер излишними вычислениями?
87 palpetrovich
 
21.03.16
15:07
(83) да, для 1-го дня недели работает, спасибо
|DATEADD(DD, DATEDIFF(DD, 0, cast(left(Рег.ПозицияДокумента,8) as datetime))/7*7, 0)  as Период,
88 ADirks
 
22.03.16
07:00
всякие началы

Функция стрНачалоПериода(ПолеДаты, ВидПериода) Экспорт
    Если ВидПериода = "Месяц" Тогда
        стрНачалоПериода = "DateAdd(d, 1 - DatePart(d, "+ПолеДаты+"), "+ПолеДаты+")";
        
    ИначеЕсли ВидПериода = "Неделя" Тогда
        стрНачалоПериода = "DateAdd(dd, -DatePart(dw, "+ПолеДаты+")+1, "+ПолеДаты+")";
        
    ИначеЕсли ВидПериода = "Квартал" Тогда
        стрНачалоПериода = "DateAdd(M, -(Month(" + ПолеДаты + ") - 1)%3, " + стрНачалоПериода(ПолеДаты, "Месяц") + ")";
        
    ИначеЕсли ВидПериода = "Год" Тогда
        стрНачалоПериода = "DateAdd(M, 1 - Month(" + ПолеДаты + "), " + стрНачалоПериода(ПолеДаты, "Месяц") + ")";
        
    КонецЕсли;
    
    Возврат стрНачалоПериода;
КонецФункции
89 palpetrovich
 
22.03.16
10:52
(88) спасибо
90 ADirks
 
22.03.16
10:54
блин... с неделей то у меня косяк :)
у буржуев начало недели - воскресенье почему-то

более правильно так:

    ИначеЕсли ВидПериода = "Неделя" Тогда
        стрНачалоПериода = "DateAdd(dd, -DatePart(dw, "+ПолеДаты+") + 2 - (@@DATEFIRST%7), "+ПолеДаты+")";
91 Mikeware
 
22.03.16
10:55
(90) ну, давно известно, что они начинают неделю с отдыха....
92 palpetrovich
 
22.03.16
11:10
(90) странно, у меня с кодом в (88) все нормально
22.02.16, 29.02.16, 07.03.16
может от системных установок зависит?
93 palpetrovich
 
22.03.16
11:11
+(92)  впрочем с кодом из (90) тоже :)
94 Serginio1
 
22.03.16
11:13
95 Serginio1
 
22.03.16
11:21
96 ADirks
 
22.03.16
11:39
(92) это потому что у тебя в настройках сервера указано, что первый день понедельник. Был бы аглицкий дистрибутив - было бы воскресенье первым днём

(94) а я знаю, и поэтому не хочу от этого зависеть
97 palpetrovich
 
22.03.16
11:40
подскажите, а почему так получается?
кусок кода:

Select
    cast(left(Рег.ПозицияДокумента,8) as datetime) as День,
    Рег.Товар [Товар $Справочник.Товары],      
    СпрТ.Descr + cast(cast(left(Рег.ПозицияДокумента,8) as datetime) as varchar) as Ключ1
FROM        
    $РегистрОстаткиОбороты.ОстаткиТоваров(
            :ВыбНачПериода,    :ВыбКонПериода~,
            Документ,,,, (Товар),Стоимость) Рег
INNER JOIN
     $Справочник.Товары as СпрТ (nolock) on СпрТ.id = Рег.Товар

// колонка День - "22.02.16"
// колонка Ключ1 - "Товар1  фев 28 2016 12:00 AM"
98 palpetrovich
 
22.03.16
11:42
+(97)  а я почемуто ожидал
// колонка Ключ1 "Товар1  22.02.16"
99 Ёпрст
 
22.03.16
11:43
(97) дата и строка, что не ясного ?
100 Ёпрст
 
22.03.16
11:44
(98) кастани к дате (если скуль >=2005)? ,без времени
101 ADirks
 
22.03.16
11:49
лучше использовать Convert() с явным указанием формата
типа:
Convert(DateTime, Left(Date_Time_IDDoc, 8), 112)

и в обратку
CONVERT(char(12), GetDate(), 104)
102 palpetrovich
 
22.03.16
11:50
(100) скуль 2005
(99) как что неясно
cast(left(Рег.ПозицияДокумента,8) as datetime) - дает 22.02.16
а
cast(cast(left(Рег.ПозицияДокумента,8) as datetime) as varchar) - дает фев 28 2016 12:00 AM
103 Mikeware
 
22.03.16
11:52
(102) в первом случае у бебя возвращайется дэйттайм, которую 1с неявно конвертит в дату
а воо-втором ты конвертишь дэйттайм с пустым временем в варчар, и получаешь строку. которую тебе 1с так и оставляет.
104 palpetrovich
 
22.03.16
11:52
(101) я пробовал вначале, но при использовании "CONVERT" сортировка "ORDER BY Период" отрабатывает как "по строке", т.е.
03.03.16
28.02.16
...
мне это как-то не нра :)
105 ADirks
 
22.03.16
11:53
(104) так укажи для сортировки формат 112, а не какой попало
106 Ёпрст
 
22.03.16
11:54
(102)
cast(left(Рег.ПозицияДокумента,8) as date)
107 ADirks
 
22.03.16
11:54
всякие неявные преобразования - злейшее зло.
на сервере с другими настройками всё сломается
108 Mikeware
 
22.03.16
11:55
(104) формат даты укажи, в какой конывертить
109 Ёпрст
 
22.03.16
11:55
А для сортировки, делай
order by Рег.ПозицияДокумента и усё
110 palpetrovich
 
22.03.16
11:56
(105) я 1с++ начал заниматься 5 дней назад, для меня тут сплошной темный лес :)
111 Mikeware
 
22.03.16
11:57
(110) чем дальше в лес, тем толще партизаны...
112 palpetrovich
 
22.03.16
12:02
(106) тТип date не является определенным системным типом. (109) спасибо
113 ЧеловекДуши
 
22.03.16
12:05
(112) Чет какие-то у вас странные трудности :)

Вы поймите, что вы должны рассматривать, в прямом запросе, только те типы, которые может прожевать платформа 1С :)
114 trad
 
22.03.16
12:10
(96) 1cv7 при старте выполняет SET DATEFIRST 1
так что при работе в этом сеансе у нас первый день понедельник
115 ADirks
 
22.03.16
12:10
(110) ну вообще-то, это не про 1С++, а про T-SQL
про convert, к примеру:  https://msdn.microsoft.com/ru-ru/library/ms187928(v=sql.120).aspx

(112) чё это вдруг? вернуть в 1С не всё получится, а в самом запросе могу вертеть как хочу
116 palpetrovich
 
22.03.16
12:11
(113) ну как трудности, я могу конечно это дополнительное поле добавить в ТЗ и после, просто подумал что на этапе запроса быстрее получится
117 palpetrovich
 
22.03.16
12:13
(115) о, оказывается я еще и T-SQL изучаю :)
"чё это вдруг" - если это на "тТип date не является определенным системным типом" - так это не я сказал, это  цитата :)
118 palpetrovich
 
22.03.16
12:14
Select cast(left(Рег.ПозицияДокумента,8) as date) as День,
...
State 42000, native 243, message [Microsoft][ODBC SQL Server Driver][SQL Server]Тип date не является определенным системным типом.
119 ADirks
 
22.03.16
12:14
(117) ошибочка вышла, это было к (113)
120 trad
 
22.03.16
12:14
в sql 2k нет типа date
121 palpetrovich
 
22.03.16
12:19
(120)  спасибо
так что, есть возможность получить "Товар1  22.02.16" ...вот почему-то уверен, что есть :)
122 Ёпрст
 
22.03.16
12:19
(118) Не помню ужо, возможно, date  и time появились только с 2008 sql
123 Ёпрст
 
22.03.16
12:19
(121) substr
124 ДенисЧ
 
22.03.16
12:19
(121) Есть
125 Ёпрст
 
22.03.16
12:20
точнее, substring, или left
126 Mikeware
 
22.03.16
12:20
(121) datepart, или просто отрезать левые 8
127 ДенисЧ
 
22.03.16
12:20
(125) А зачем?
Что, конверт не даст нужного формата?
128 trad
 
22.03.16
12:22
(121) значение типа datetime или smalldatetime при помощи convert можно преобразовать в строку со всевозможным форматированием
129 ADirks
 
22.03.16
12:22
(128) тока MSDN сначала надо прочитать :)
130 trad
 
22.03.16
12:24
(129) при таком количестве помогателей - некогда
131 Ёпрст
 
22.03.16
12:25
(130) конечна, ускоренное прочтение буконлайн, это ж читать надо
132 ДенисЧ
 
22.03.16
12:25
(129) Да ты издеваешься... Ещё и документацию читать... Некогда, работать надо...
133 Ёпрст
 
22.03.16
12:27
Да и задач, в которых нужно из даты делать строки а из ссылки на товар - наименования, как то не встречались
:)
134 Ёпрст
 
22.03.16
12:27
в запросах
135 palpetrovich
 
22.03.16
12:35
(126) "20160228"
(127) "28-02-2016" ...хотя скорее всего я "конверт"ом не умею пользоваться
136 palpetrovich
 
22.03.16
12:36
+(135)  повторюсь, так хочется  "Наименование28.02.2016"
137 ДенисЧ
 
22.03.16
12:40
(135) Ну ты BOL-то уже открыл на статье о конверте? И его параметрах?
138 Mikeware
 
22.03.16
12:41
(137) давай, я ему BOL продам? :-)
139 palpetrovich
 
22.03.16
12:43
+(135)  да, таки не умею,
"CONVERT(VARCHAR(11), cast(left(Рег.ПозицияДокумента,8) as datetime), 104)" - дает 28.02.2016
140 Ёпрст
 
22.03.16
12:44
(139) а че 11 ?
141 Ёпрст
 
22.03.16
12:44
а не 10, хотя, размерность мог бы и не указывать
142 Mikeware
 
22.03.16
12:45
(141) а вдруг в каком-то месяце больше 99 дней?
143 palpetrovich
 
22.03.16
12:47
(137) (138) понятния не имею что такое BOL
(140) с какого-то примера скопипастил
144 palpetrovich
 
22.03.16
12:49
+ (143) да, 10 хватает вроде
145 trad
 
22.03.16
12:52
(136) а для чего такая конкатенация?
146 Ёпрст
 
22.03.16
12:54
(145) чтоб выяснить потом, что оказывается, в справочнике есть куча элементов с одинаковым наименованием, поэтому отчет криво работает
:)
Как ты сам не догадался ?!
147 trad
 
22.03.16
13:05
(146) ты протелепатировал "ключ" в (97) ?
148 Ёпрст
 
22.03.16
13:14
(147) а то!
Ну, я бы понял, если бы он в этот ключ писал id, потом, например спец символ или пробел и потом строковое представление даты.. а так, наименование, это же бубль гум!
149 palpetrovich
 
22.03.16
14:41
(145) тренируюсь я ваще-т :)
Ну и да, ИД понадежней будет. Правда допполе нужно будет для решения задачки:
Рег.Товар as IDтов,      
Рег.Товар [Товар $Справочник.Товары],      
...
Rtrim(Рег.Товар) + CONVERT(VARCHAR(10), cast(left(Рег.ПозицияДокумента,8) as datetime), 104) as Ключ1
150 trad
 
22.03.16
14:57
а просто так нет?
Рег.Товар + left(Рег.ПозицияДокумента,8) as Ключ1
151 Mikeware
 
22.03.16
14:58
(150) слишком просто...
152 Mikeware
 
22.03.16
14:58
+(151) ни лыж тебе, ни гамака...
153 palpetrovich
 
22.03.16
15:09
(150) мне надо для дальнейших действий, упрощенно:
цикл по основной ТЗ
ТекКлюч = СокрЛП(ТЗ.IDтов)+СокрЛП(ТЗ.День)
Если ТЗ_свернуаяПоКлюч1.найтиЗначене(ТекКлюч,стр,"Ключ1")...
154 Mikeware
 
22.03.16
15:12
(153) что ты этим хочешь сделать?
используй индексированную таблицу...
155 Ёпрст
 
22.03.16
15:18
(154) Это слишком просто
156 Mikeware
 
22.03.16
15:20
(155) ну да. тоже ни лыж, ни гамака...
157 Mikeware
 
22.03.16
15:21
(155) интересный эффект в РВиджет - если грузить его не в глобальнике, то в меню названия обрезаются до 6 символов...
158 ДенисЧ
 
22.03.16
15:24
А если
Rtrim(Рег.Товар) + CONVERT(VARCHAR(10), cast(left(Рег.ПозицияДокумента,8) as datetime), 4) as Ключ1
159 Ёпрст
 
22.03.16
15:24
(157) еще и от версии зависит
160 Ёпрст
 
22.03.16
15:25
вообще, то нужна только позиция (или дата) и товар, выгрузить в ИТЗ, налепить индексов и любой вывод
161 palpetrovich
 
22.03.16
15:49
(160) Народ, я реально занимаюсь этим 5 дней, какая еще ИТЗ? :)
что, раельно любой вывод? любые группировки + вывод "периодики" по горизонтали со всеми итогами (горизонтальными и вертикальными)?
162 Mikeware
 
22.03.16
16:08
а чоб и нет? :-)
163 palpetrovich
 
22.03.16
16:15
(162) может и так, я-ж не в курсе...
164 Serginio1
 
22.03.16
16:16
165 palpetrovich
 
22.03.16
16:22
(164) спасибо конечно, но там как-бы для 8-ки все, а скачать архив - не могу...  "Получите файл бесплатно, если ваша компания у нас еще не зарегистрирована." :)
166 Serginio1
 
22.03.16
16:29
(165) По второй ссылке скачай