Имя: Пароль:
1C
1C 7.7
v7: конструктор для 1с++
0 andrewalexk
 
24.10.23
13:40
:)
всем привет
не смог оживить конструктор для toysql - винда с обновлениями - не дружит с этим dll
есть у кого аналог для 1с++ в архивах?
1 АгентБезопасной Нацио
 
24.10.23
14:30
Для именно тойсиквел?
Квериконсоль где-то есть, но там синтаксис же немного отличается (он именно для 1с++)...
2 andrewalexk
 
24.10.23
15:06
:)
да той есть но не пашет - 1с++ пашет - админ говорит что надо ставить старую винду потом нетфреймворк 3.5 а потом все свежие обновы ...
ищу консоль для 1с++ или аналоги
3 АгентБезопасной Нацио
 
24.10.23
15:18
(2) Куда?
4 andrewalexk
 
24.10.23
15:22
5 АгентБезопасной Нацио
 
24.10.23
15:24
(4) Отбойник
6 arsik
 
24.10.23
15:25
Некрофилы :)
7 АгентБезопасной Нацио
 
24.10.23
15:28
(4) архивнул с шифрованием. пароль 123
8 andrewalexk
 
24.10.23
15:45
(7) :) вытащил гугл ссылку из спама
доступ хочет
отправил запрос
9 andrewalexk
 
24.10.23
15:45
(6) :) 1с77 живее всех живых
вот выложит Нуралиев код движка и заживем
10 andrewalexk
 
25.10.23
17:47
:)
увы
как выяснилось не только 1с++ не любит остатки и обороты по реквизиту регистру да еще по периоду
той тоже вылетает
11 petya_
petrov_63
 
25.10.23
18:12
(9) Код 7.7 ... Неа не выложит, а то тогда опять убийцы 1С активируются )
12 Злопчинский
 
25.10.23
19:16
(10) ну бери физическую таблицу движений и собирай остатки и обороты прямым запросом - так не получится?
13 andrewalexk
 
25.10.23
20:17
(12) :)
да я с 1с++ почти не работал
у Павла было проще - на входе конструктор на выходе таблица
плюс кривой регистр в котором реквизит должен быть в крайнем случае условием а не справочником ла еще и подчиненным
14 АгентБезопасной Нацио
 
26.10.23
08:06
(13) >да я с 1с++ почти не работал
Есть повод начать... поможет в работе с снеговиком.
Конструктор - костыль. (помогает либо когда нихрена не знаешь, либо  накидать заготовку). Смотри на структуру данных и пиши... "ничего военного"®
15 andrewalexk
 
26.10.23
09:15
:)
хотя я не справедлив к тою:
развертка по реквизиту с приходами/расходами по дням отрабатывает

    SELECT
        [Рег.Товар] Товар
    ,    [Рег.ПериодДвижения] ПериодДвижения
    ,    НачОстКоличество = (SUM([НачОст(Рег.Количество)]))
    ,     ПриходКоличество = (SUM([Приход(Рег.Количество)]))
    ,     РасходКоличество = (SUM([Расход(Рег.Количество)]))
    ,     КонОстКоличество = (SUM([КонОст(Рег.Количество)]))
    FROM
    [(Регистр.ГТД2([@ДатаНачала], [@ДатаКонца], [@"День"])
    GROUP BY [Товар], [ПериодДвижения]
    HAVING [НачОст(Количество)] <> 0 OR [Приход(Количество)] <> 0 OR [Расход(Количество)] <> 0 OR [КонОст(Количество)] <> 0
    )] Рег
    GROUP BY [Рег.Товар],    [Рег.ПериодДвижения]
    ORDER BY [Рег.Товар],    [Рег.ПериодДвижения]

а вот с начост/коност уже жалуется
а 1с++ и так не может
16 andrewalexk
 
26.10.23
09:16
(14) :) любителям изобретать велосипед костыли не нужны
17 serpentt
 
26.10.23
09:51
(2) ":)
да той есть но не пашет"

Это ка и на чем не пашет? У нас ПАШЕТ
18 andrewalexk
 
26.10.23
15:58
(17) :) см (15) - я поспешил - той рулит
вот только не особо дружит с microsoft server 2012 r2 пока...
19 Arbuz
 
26.10.23
17:25
(15) Не лучше ли самому такие развёртки писать? Всяко оптимальней будет.
20 andrewalexk
 
26.10.23
17:59
(19) :) если подружу той с сервером то не лучше
а если нет то 1с++ не дружит с реквизитами регистра виртуальными таблицами и это гемор
21 Злопчинский
 
26.10.23
18:01
(20) если обрабатывать физическую таблицу регистра - то (имхо) пофиг измерение это или реквизит. Если обрабатвать виртуальную таблицу ОстаткиОбороты - то ясен пень никакие НачОст и КонОст в разрезе реквизитов - сделать не получится.
22 Злопчинский
 
26.10.23
18:03
.. и если делать это на уровне физической таблицы оборотов (RA) то все итоги по НачОст и КонОст в разрезе реквизитов придется насчитывать самостоятельно по одной этой таблице RA.
23 Злопчинский
 
26.10.23
18:03
Может я конечно ахинею несу, спецы меня поправят, но ставлю шоколадку что я прав.
24 andrewalexk
 
27.10.23
09:08
:)
я и говорю гемор
25 Злопчинский
 
27.10.23
09:31
А кто говорил что будет легко? промахи в архитектуре регистра доставляют радости. Перенести Период в измерения, по сути "период" - это такая большая партия. Дописать в код эту "партионку", перепровести базу.
26 Злопчинский
 
27.10.23
09:33
С другой стороны построить на скуле по RA нужный расчет - не должно быть особо трудно.. типовая задача можно сказать ;-) Я такую партионку для ТиС отдельным отчетом писал для базы где партионный учет был убит вусмерть
27 arsik
 
27.10.23
10:04
28 AAA
 
27.10.23
10:57
прочитал, ничего не понял. Что значит 1с++ вылетает для реквизитов остатков и оборотов. По реквизитам в принципе нет никаких остатков. Если вдруг надо остатки по ним, то надо от царя гороха суммировать обороты. А так я делал свои обертки для остатков, оборотов и остатковоборотов для 1с++ и ничего не вылетало, ни в ДБФ, ни в SQL
29 Злопчинский
 
27.10.23
10:59
(27) И что? много тут современных "олегархов", которые что-то нового сделали?
30 AAA
 
27.10.23
11:08
и зачем период переносить в измерение ? Период итак присутствует в файлах остатков RG*
31 Злопчинский
 
27.10.23
12:52
(30) может быть это не тот пеериод. а например какой-то плановый период чего-либо... пишем на него и погашаем потом его... в RG таких периодов нет...
32 andrewalexk
 
27.10.23
13:08
(25) :))))))
если б все было так просто
33 andrewalexk
 
27.10.23
13:09
:)
невозможно перепровести или изменить структуру метаданных почти для всех старых объектов - объем...
34 andrewalexk
 
27.10.23
13:10
(28) :) 1с++ не любит реквизиты регистра
той вылетал но можно
но той не дружит с server 2012
35 AAA
 
27.10.23
13:16
что такое "1с++ не любит реквизиты регистра" ?
36 Arbuz
 
27.10.23
13:40
(34) Когда вы говорите, такое впечатление, что вы бредите (с)
Что, где не любит 1с++? Я же сказал выше, соединяйте таблицы сами, не используйте ОстаткиИОбороты, это же не сложно. И ещё раз, для особо упоротых упёртых: это, в зависимости от задачи, будет всяко оптимальней! Те же CTE, оконные, пользовательские функции сильно помогают.
37 AAA
 
27.10.23
13:36
(36)я тоже не понимаю. 1С++ парсит запрос, упрощая его написание. Не нравится, пишите прямо к таблицам и выбирайте что хотите )) 1С++ все любит ))
38 andrewalexk
 
27.10.23
13:41
(36) (37) :) ...многие люди не читают и не понимают то что им пишут другие - они всегда все понимают через свою понятийную матрицу
39 AAA
 
27.10.23
13:45
(38)перевожу на понятный язык. Чукча не читатель - чукча писатель
Напишите конкретно, что Вы не можете сделать ? что Вам надо посчитать , какой отчет построить ) а не то что 1с++ что то не любит. OLEDB или ODBC все равно что выбирать, какие поля в таблицах
40 AAA
 
27.10.23
13:46
(38)Вы же ищете решение и если Вас не поняли, то другие люди виноваты ?
41 AAA
 
27.10.23
13:49
Покажите запрос, который не любит 1С++
А так обсуждаем непонятно что
42 andrewalexk
 
27.10.23
14:51
:)
кто виноват-то? где я кого винил?
а обсуждаем не запросы а общий подход
потому чт я решу общее решение
вот вы с Арбузом уже написали что для вас оптимальнее
я понял
43 andrewalexk
 
07.11.23
15:23
:)
кстати с запросом непонятка
вот такой выполняется
|SELECT
|  Рег.Статья as [Статья $Справочник.ЗначенияСубконто],
//|  Рег.Место as [Место $Справочник.МестаХраненияДенег],
|  Рег.Период Период,
//1
|  SUM(Рег.СуммаПоПлану) as СуммаПоПлану,
|  SUM(Рег.СуммаПоФакту) as СуммаПоФакту
//2
//|(1-Рег.debkred)* $Рег.СуммаПоФакту AS ПриходСуммаПоФакту,
//|(Рег.debkred) * $Рег.СуммаПоФакту AS РасходСуммаПоФакту,
//|(1-Рег.debkred)* $Рег.СуммаПоПлану AS ПриходСуммаПоПлану,
//|(Рег.debkred) * $Рег.СуммаПоПлану AS РасходСуммаПоПлану
//3
//| 0 as [ОстатокНачСуммаПоПлану $Число],
//| SUM(case when Рег.debkred = 1 then $Рег.СуммаПоПлану else 0 end) as [РасходСуммаПоПлану $Число],
//| SUM(case when Рег.debkred = 0 then $Рег.СуммаПоПлану else 0 end) as [ПриходСуммаПоПлану $Число],
//| 0 as [ОстатокКонСуммаПоПлану $Число],
//| 0 as [ОстатокНачСуммаПоФакту $Число],
//| SUM(case when Рег.debkred = 1 then $Рег.СуммаПоФакту else 0 end) as [РасходСуммаПоФакту $Число],
//| SUM(case when Рег.debkred = 0 then $Рег.СуммаПоФакту else 0 end) as [ПриходСуммаПоФакту $Число],
//| 0 as [ОстатокКонСуммаПоФакту $Число]
|FROM
|  (SELECT
|     $Р.Статья as Статья,
|     $Р.Место as Место,
|     $Р.СуммаПоПлану as СуммаПоПлану,  
|     $Р.СуммаПоФакту as СуммаПоФакту,
|     CAST(LEFT(jr.date_time_iddoc,8) as datetime) as Период
|  FROM $Регистр.ис_БюджетЗатрат as Р
|  INNER JOIN $Справочник.МестаХраненияДенег AS Места With (NOLOCK) ON $Р.Место = Места.ID
|  INNER JOIN _1sjourn jr (NOLOCK) ON (Р.iddoc = jr.iddoc)
|                 And (jr.date_time_iddoc BETWEEN :Д1 AND :Д2~)  
|                 And ($Места.Тип = 1 OR $Места.Тип = 2)  
|  ) as Рег
|GROUP BY
|  Рег.Статья,
|  Рег.Место,
|  Рег.Период";
а если вместо секции 1 открыть секцию 2 или 3 (с debkred) то 1с++ не понимает
пишет то не понимаю $Рег то не понимаю debkred
44 trad
 
07.11.23
15:31
у Рег нету поля debkred
Такое поле есть у физической таблицы движений регистра RAxxx, которая имеет метаимя $Регистр.ис_БюджетЗатрат
45 andrewalexk
 
07.11.23
20:18
:)
ну да
в одном селекте можно вытащить дебкред
|SELECT $РегД.Статья as [Статья $Справочник.ЗначенияСубконто],
|0 as [ОстатокНачСуммаРублевая $Число],
|SUM(case when РегД.debkred = 1 then $РегД.СуммаПоФакту else 0 end) as [РасходСуммаРублевая $Число],
|SUM(case when РегД.debkred = 0 then $РегД.СуммаПоФакту else 0 end) as [ПриходСуммаРублевая $Число],
|0 as [ОстатокКонСуммаРублевая $Число]
|FROM
|$Регистр.ис_БюджетЗатрат as РегД
|INNER JOIN
|$Справочник.МестаХраненияДенег AS Места With (NOLOCK) ON $РегД.Место = Места.ID
|INNER JOIN
|_1sjourn as Жур (nolock) on Жур.iddoc = РегД.iddoc
|WHERE
|(Жур.Date_Time_IDDoc BETWEEN :Д1 AND :Д2~) AND ($Места.Тип = 1 OR $Места.Тип = 2)
|GROUP BY $РегД.Статья;";

а первый запрос из методички по дням для дбф переделанный под скл
46 trad
 
07.11.23
23:09
И в первом запросе можно debkred вытащить.
47 vladmenleo
 
08.11.23
05:36
(43) Каша какая-то в запросах. Делаешь выборку из подзапроса Рег, в котором у тебя нет debkred и возмущаешься. После CAST(LEFT(jr.date_time_iddoc,8) as datetime) as Период добавь еще строку Р.debkred as debkred и будет тебе счастье.
Тут SUM(Рег.СуммаПоПлану) ты обращаешься к подзапросу без $ что и правильно, а тут (1-Рег.debkred)* $Рег.СуммаПоПлану через $. Ты уж определись с синтаксисом. Не знаю как той, но через 1с++ это-бы точно не проканало. И вообще никаких проблем у 1с++ при доступе ко всему и все. Неча на зеркало пенять, коли рожа крива (с) чей-то
48 AAA
 
08.11.23
06:34
И от ИЛИ (OR) лучше избавиться
Отлаживать сначала лучше внутренний запрос отдельно, а затем уже его оборачивать, если нужно
Я вообще не очень понимаю, мелькают все время два похожих запроса, то c jr, то с жур. Что надо сделать то, какая задача?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс