Вход | Регистрация
    1  2  3   

OFF: А почему вообще 1с?

OFF: А почему вообще 1с?
Я
   breezee
 
13.04.19 - 20:09
В SQL рекрурсивный запрос выполняется минуту. В 1С 40 минут. Может, я кривой, но разузлование на 1С это какая-то общая проблема. Вот зачем вообще 1С? Примчаю, что тема не критикует 1С. Хочу понять, когда надо использовать 1С, а когда нет. В контре, где работаю есть 1С УПП и базы SQL.
 
 
   Провинциальный 1сник
 
1 - 13.04.19 - 20:12
(0) А что такое "рекурсивный запрос"?
   Sysanin_1ц
 
2 - 13.04.19 - 20:14
(0) Попробуй на SQL автоматизировать работу склада или расчет зарплаты. Нарисовать все формочки для пользователя, все его хотелки, логику работы бизнес процессов и т.д. Если получится ну вот тогда приходи и поговорим
   Фрэнки
 
3 - 13.04.19 - 20:15
правильный ответ - посмотри планы запросов, которые обработает SQL в каждом случае.
   NorthWind
 
4 - 13.04.19 - 20:19
(2) да реально вполне. Делал зарплату на Дельфи, и она даже работала лет пять. Правда, без отчётов в фонды.
   Cyberhawk
 
5 - 13.04.19 - 20:21
Принцип Парето в исполнении 1С
   wt
 
6 - 13.04.19 - 20:21
(0) для начала ответьте себе на вопрос: что такое sql и что такое 1с.
   NorthWind
 
7 - 13.04.19 - 20:23
(0) плата за оверхед для удобства прикладного программиста. Составные типы и прочая подобная дрянь так просто не даётся, нужно усложнять структуры хранения данных и запросы.
   NorthWind
 
8 - 13.04.19 - 20:26
(2) + вы будете смеяться, но есть ещё немало банков, где опердни на формсе (oracle sql*forms) написаны своими силами и работают...
   Фрэнки
 
9 - 13.04.19 - 20:27
просто ту же самую УПП зачастую упорно оптимизируют, т.к. языком запросов 1С не всегда получается оптимальный план запроса в субд
   Провинциальный 1сник
 
10 - 13.04.19 - 20:28
Какие вообще рекурсивные запросы могут быть в РЕЛЯЦИОННОЙ базе данных?
   H A D G E H O G s
 
11 - 13.04.19 - 20:29
(10) Иерархия
   wt
 
12 - 13.04.19 - 20:29
(4) Полтора вида начислений? Сказки.
Одним из факторов необходимости перехода было невозможность отражать виды начислений, удержаний, больничных. Каждая цифра расчётчиком сначала насчитывалась вручную, затем вводилась в таклицу, имитирующую журнал зарплата. Когда поставил 1с, расчетчики впервые смогли уйти в отпуск на полную катушку. А так зарплата была в клиппере.
   H A D G E H O G s
 
13 - 13.04.19 - 20:29
(9) Да ладно
   Фрэнки
 
14 - 13.04.19 - 20:31
(13) угу. ту же самую иерархию впендюрят в запросы и вуаля
   H A D G E H O G s
 
15 - 13.04.19 - 20:31
Каждый раз, когда я что то делаю серьезное на Delphi - мне сначало офигенно от того, что я сменил языковую среду, но где то на 3 день меня заваливает велосипедами, несмотря на весь используемый типовой функционал и даже привлечение стороннего (но из надежных источников)
   Провинциальный 1сник
 
16 - 13.04.19 - 20:33
(10) Иерархия через рекурсию же реализуется в коде, а не в запросах?
   H A D G E H O G s
 
17 - 13.04.19 - 20:36
(16) И так и так
   Провинциальный 1сник
 
18 - 13.04.19 - 20:45
(17) Рекурсивные sql-запросы не поддерживаются всеми СУБД, поддерживаемыми 1с, поэтому 1с их не может использовать.
   Garykom
 
19 - 13.04.19 - 20:45
(15) Как только на чем то другом начинается написание "учетной системы" то да велосипеды и попытки "переписать 1С" так и прут.
   Garykom
 
20 - 13.04.19 - 20:46
(0) Не надо писать "рекурсивные запросы" и все никаких проблем.

Обычный линейный запрос + немного кода на 1С.
   Провинциальный 1сник
 
21 - 13.04.19 - 20:55
(20) Запрос в рекурсии это примерно то же самое что и запрос в цикле.. и как у того же самого, есть радикальные ненавистники этого
   Garykom
 
22 - 13.04.19 - 20:57
(21) Не то чтобы ненавистники но не надо отверткой гвозди заворачивать.
   NorthWind
 
23 - 13.04.19 - 20:57
(12) в 2000 году все было несколько проще чем сейчас. В целом я не против велосипедов, в конце концов, в пробках велосипед быстрее
   Garykom
 
24 - 13.04.19 - 21:00
(23) Тут скорее не езда на велосипеде vs машина, а некто купил машину и уже давно едет.
А другой все еще велосипед сам ваяет и хз когда он поедет и не пропадет ли цель поездки или средства на нее к моменту построения велосипеда.
   MaxS
 
25 - 13.04.19 - 21:01
А кто мешает в 1С-е использовать прямые запросы? Вроде можно штатно получить имена таблиц и реквизитов как они в SQL хранятся.
Давно в 7-ке ускорял прямыми запросами некоторые операции. Ускорение в 200 и более раз.
   Провинциальный 1сник
 
26 - 13.04.19 - 21:06
(22) У запросов в цикле есть один плюс - возможность вывода прогресс-бара и оценки оставшегося времени исполнения алгоритма. А если один "большой" запрос - то он выполяется в "черном ящике" sql-сервера, и никакого прогесса пользователь не видит.. а это создает часто раздражающее впечатление "программа зависла".
   palsergeich
 
27 - 13.04.19 - 21:26
(26) Плюсов несколько больше, но и минусов полно.
Выбрать наиболее оптимальный вариант решения конкретной задачи - это то за что платят.
Где то запрос в цикле может быть оптимальнее чем запрос без цикла, был тут недавно тред про получить всех родителей в иерархии неизвестной глубины.
Да можно найти максимальную вложенность, а потом кусочно собрать текст запроса, но именно запрос в цикле показал лучшие результаты, не смотря на более частое обращение к БД.
   MaxS
 
28 - 13.04.19 - 21:27
(26) А можно параллельно обращаться к результату вычисления? Например SQL использует хранимую процедуру, заполняет какую-нибудь временную таблицу, вычисляет её планируемый размер, который характеризует прогресс, сообщает о таблице на верх на уровень взаимодействия с клиентом, там проверяется размер и рисуется прогресс-бар.
   palsergeich
 
29 - 13.04.19 - 21:28
(28) Костывль, который надо брать на балланс и подеерживать параллельно развитию системы.
   Провинциальный 1сник
 
30 - 13.04.19 - 21:34
(28) Хранимая процедура это вообще процедурное надругательство над декларативной парадигмой sql, ибо она не дает sql-серверу шансов на оптимизацию в отличие даже от сколь угодно сложного запроса.. В этом плане использование пакетных запросов и временных таблиц тоже зло. Но из-за недостаточного интеллекта sql-сервера приходится их использовать.
А так, по логике, вместо временных таблиц идеологически правильнее было бы использовать "временные viewы", чтобы при выполнении конечного запроса в пакете sql-сервер имел полную возможность оптимизации, не ограниченную последовательностью запросов в пакете..
 
 
   MaxS
 
31 - 13.04.19 - 21:35
(29) Теоретически костыль можно спрятать в платформе, а 1С-нику отдать простую функцию платформы.
МенеджерДлительнойОперации.ПолучитьПрогресс, например.
   Garykom
 
32 - 13.04.19 - 21:35
"Долгие запросы это неправильная архитектура метаданных"©Моё
   palsergeich
 
33 - 13.04.19 - 21:36
(32) Если Вам нужны временные таблицы - значит у вас дерьмовая структура данных (с из мира SQL)
   MaxS
 
34 - 13.04.19 - 21:42
(33) Ну если раз в год нужен сложный отчет, зачем ради этого кардинально менять и дополнять структуру таблиц базы?
И не всем он нужен, допустим. А т.к. конфигурация универсальна для всех, то проще отделаться отчетом, который долго работает.
   palsergeich
 
35 - 13.04.19 - 21:47
(34) да разовый запрос никому не интересен и может быть сколь угодно корявым.
Это нормально.
   H A D G E H O G s
 
36 - 13.04.19 - 22:01
(33) Этот мир SQL не видел наверное архитектур, сложнее 2 таблиц.
Соедините мне 3 больших таблицы без ВТ.
   МихаилМ
 
37 - 13.04.19 - 23:27
(25) мешает отсутствие равной замены в случае выбытия, т.к. отеэсники в основной массе не смогут разобраться в чам-то  кроме 1с.
   jsmith82
 
38 - 13.04.19 - 23:37
(0) 1с это rapid business application development
   Garykom
 
39 - 13.04.19 - 23:40
(38) Ну лично я бы написал Rapid Accounting Application Development.
Или сокращенно RAAD.
   jsmith82
 
40 - 13.04.19 - 23:44
(39) типа основная смысловая нагрузка на хранение и расчёт assets and liabilities, чтобы не было лишних домыслов
   Конструктор1С
 
41 - 14.04.19 - 04:38
(26) запустил фоново и смотри кота
   Пузан
 
42 - 14.04.19 - 04:51
(32) О чем и речь. Одних только регистров остатков я знаю четыре. Хотя можно было бы обойтись и одним, в лучшем случае двумя. Но и кроме этого еще эти регистры между собой не бьются (нарушили один из базовых принципов построения БД - непротиворечивость). Вспомните в УТ и УПП разная логика работы с остатками и остатками партий. В итоге при пересорте полный раздрай, потому что в одном регистре если не хватает, то списывается в минус, а в другом не списывается вообще. Все, приехали.
   Конструктор1С
 
43 - 14.04.19 - 04:56
Оптимизация должна проводиться с умом. Периодически наблюдаю, как заоптимизаторы неимоверно усложняют код ради оптимизации, которая и вовсе не нужна была. Пример: есть служебный справочник с настройками, там куча реквизитов и табличных частей. Автор кода замутил мегауниверсальный КЭШ, засунув в него настройки из элемента этого справочники во всевозможных позах. Этот монстрокэш протаскивается через 100500 процедур и функций, во многих из которых делаются проверки и вычисления, в каком углу этого КЭШа и что искать на данный момент. А если посмотреть на ситуацию сверху, то в этом справочнике всего 10 элементов, с перспективой увеличиться до 20 элементов к 2100 году. Распрекрасно можно было бы тупо получать нужный реквизит справочника в нужный момент. Хоть через ОбщегоНазначения.ЗначениеРеквизитаОбъекта(), хоть тупо через точку от ссылки. Сложность кода заметно снизилась бы, удобочитаемость повысилась, а производительность совсем не пострадает. Вот так, в бездумной погоне за производительностью, некоторые 1сники усложняют жизнь себе и другим.
   Провинциальный 1сник
 
44 - 14.04.19 - 06:35
(36) Какие проблемы, если по всем внешним ключам есть хорошо оптимизированные индексы?
   ДенисЧ
 
45 - 14.04.19 - 07:06
(43) Premature optimization is the root of all evil -- DonaldKnuth
   Sserj
 
46 - 14.04.19 - 07:24
(0) Хех, это ты еще UPDATE и INSERT вспомни, когда нужно обновить пару тысяч элементов справочника или добавить пару десятку тысяч записей в регистр сведений и средствами SQL это делается за пару секунд а в объектной модели 1С можно идти пить чай всем пользователям :)
   NorthWind
 
47 - 14.04.19 - 07:24
(44) +1. Соединяли, и не раз. Вообще СУБД в том числе для этого и предназначены, и foreign keys с индексами по ним придуманы.
   Cyberhawk
 
48 - 14.04.19 - 08:10
(27) "запрос в цикле показал лучшие результаты, не смотря на более частое обращение к БД" // Что, "ВЫБРАТЬ Ссылка.Родитель, Ссылка.Родитель.Родитель" реально медленнее, чем два запроса в цикле?
   Пузан
 
49 - 14.04.19 - 09:28
(48) Там имелось в виду для произвольной глубине иерархии.
   H A D G E H O G s
 
50 - 14.04.19 - 09:59
(44) Проблема в том, что народ даже не задумывается, что такое индексы и как они работают.
   Cyberhawk
 
51 - 14.04.19 - 10:47
(49) Не может такого иметься в виду, раз идет сравнение единого запроса с запросом в цикле: в обоих местах будет конечное количество
   dmpl
 
52 - 14.04.19 - 11:09
(25) Мешает лицензионное соглашение на 8-ку. Оно в явном виде это запрещает.
   NorthWind
 
53 - 14.04.19 - 11:23
(50) до известной степени это в данном случае некритично. Дело в том, что схема данных чаще всего "рисуется" в case-средствах вроде erwin или powerdesigner. И если вы там нарисуете связь между сущностями, то форин кей и индекс по нему в физике создастся автоматически :) ну а вообще это вопрос понимания того, что делается. Как говорил мой препод по системному программированию, кривыми руками можно сломать что угодно.
   H A D G E H O G s
 
54 - 14.04.19 - 11:42
   H A D G E H O G s
 
55 - 14.04.19 - 11:48
(53) Начать можно с того, что:

- 1С не пользует foreign key
- Индекс case-средствах вроде erwin создастся просто потому же, почему 1С говорит нам - индексируйте ВременныеТаблицы, пользуйтесь только запросами - в расчете на тупость человеков, в расчете на то, что SQL сделает не сильно хуже, чем оптимально. Ну, тоесть, какую бы дичь не спроектировал человек - SQL выправит ее относительно бескровно. Другой вопрос - а как на самом деле правильно
   H A D G E H O G s
 
56 - 14.04.19 - 12:07
Простой запрос, если на его план !внимательно! посмотреть в профайлере, покажет, что индексы не помогают

ВЫБРАТЬ
    Номенклатура.Артикул КАК Артикул,
    Номенклатура1.Артикул КАК Артикул1
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура1
        ПО (Номенклатура.Артикул = Номенклатура1.Артикул)
   NorthWind
 
57 - 14.04.19 - 12:51
(55) Вы пишете "Этот мир SQL не видел наверное архитектур, сложнее 2 таблиц.
Соедините мне 3 больших таблицы без ВТ."
Так вот, в общем случае здесь написана ерунда. Потому что при нормально спроектированной схеме данных и наличии внешних ключей и индексов по ним все нормально объединяется. Только и всего, что я хотел донести. Чего не использует 1С из нормальных общепринятых функций сервера РСУБД и почему - это другой вопрос.
   H A D G E H O G s
 
58 - 14.04.19 - 12:57
(57) "Потому что при нормально спроектированной схеме данных и наличии блаблабла..."

Реальность немного другая.
   H A D G E H O G s
 
59 - 14.04.19 - 12:59
(57) "1С из нормальных общепринятых функций сервера РСУБД и почему - это другой вопрос."
Абстрагируемся от городских легенд, которые говорят, что 1С не может в РСУБД и посмотрим на запрос SQL
SELECT
T1._code,
T2._code
FROM dbo._Reference277 T1
INNER JOIN dbo._Reference277 T2
ON (T1._code = T2._code)

и на его план:
http://prntscr.com/nbpvwj

Ой.
   Garykom
 
60 - 14.04.19 - 12:59
Под временными таблицами подразумеваются так же вложенные запросы или нет?
   H A D G E H O G s
 
61 - 14.04.19 - 13:00
(60) Нет
   Garykom
 
62 - 14.04.19 - 13:02
(61) Тогда утверждение (36) неверно и в "большом SQL" все замечательно и без временных таблиц.
   H A D G E H O G s
 
63 - 14.04.19 - 13:13
Единственное, что дают индексы, при соединении больших таблиц - это их уже предварительная отсортированность, при выборке из индекса, что при merge join позволяет отказаться от предсортировки, что, !иногда! дает заметный выигрыш.
   Akela has missed
 
64 - 14.04.19 - 13:26
(52) Звучит как запрет пользователю SQL использовать SQL.
   NorthWind
 
65 - 14.04.19 - 13:40
(58) реальность такая, что я в начале карьеры работал с ораклом и были у нас таблички иногда немаленькие, с миллионами записей. Соединять было нужно. Соединяли. Работало. Но схему там, в отличие от 1С, мы пилили сами, и поэтому форин кем там были на своих местах и индексы по ним тоже. Почему-то все работало как планировалось.
   Провинциальный 1сник
 
66 - 14.04.19 - 17:50
(63) Индексы дают логарифмическое быстродействие при выборке по ключу, что ооочень хорошо по сравнению с любыми другими способами доступа.
(65) Казалось бы - почему 1с не сделает возможность определять составные индексы? А вот нет..
 
 Рекламное место пустует
   Garykom
 
67 - 14.04.19 - 17:57
(66) >возможность определять составные индексы

Как это представляете?

Новая сущность типа реквизита для метаданных?
В которой указывается по каким реквизитам и какой строится индекс?

Причем можно будет будет в коде/запросах использовать вместо перечисления реквизитов сразу эту новую сущность?
   Провинциальный 1сник
 
68 - 14.04.19 - 17:59
(67) Ну например в дереве метаданных, в описании справочника сделать закладку "Индексы", и там их определять.
   Провинциальный 1сник
 
69 - 14.04.19 - 18:00
+(68) То есть, не тупо ставить галку на реквизите, а описывать индексы отдельно, с возможностью определения составного индекса.
   NorthWind
 
70 - 14.04.19 - 18:03
(66) ну, народ периодически разные подобные вещи городит напрямую в схеме, когда тормоза уже совсем доканывают. Собственно, вопрос в (0) из этой же оперы.
   Провинциальный 1сник
 
71 - 14.04.19 - 18:09
(70) Да и кстати неплохо было бы (в будущем, когда 1с таки созреет до отдельного определения индексов), чтобы возможность определения индексов была доступна и в расширении. Чтобы ускорить конфигурацию без снятия замочка и без влезания в sql-базу.
   NorthWind
 
72 - 14.04.19 - 18:46
Кстати, хочу посоветоваться со скульщиками.

Есть следующая задача. Существует массив провесок с электронных весов, каждая из которых имеет свой уникальный transactionID. Есть таблица БД, в которой эти провески хранятся. Есть операция, которая получает провески с весов за определенный период времени, скажем за рабочую смену. Каждая провеска содержит некоторый набор данных - артикул товара, вес брутто, вес нетто, дату/время операции, тип транзакции (единичная провеска, итоговая этикетка и т.д.), т.е. это далеко не одна цифра.

Внимание, вопрос: как быстрее всего сделать поместить провески в таблицу при том, что операцию могут делать несколько раз в смену, в процессе этого набор данных может отличаться (в конце набора появляются новые провески, которых раньше не было), а дубликация элементов в таблице (элементы с одним и тем же transactionID) не нужны?

Пока что я применил как раз-таки временную таблицу, которая дублирует по структуре основную, постоянную. Сначала я выгружаю в нее набор данных с весов, потом делаю групповой инсерт в постоянную таблицу тех данных, которых в ней нет. Мне кажется, это работает быстрее, чем куча select/insert для проверки каждой записи. Я прав? Или лучше было бы все-таки проверять каждую запись на наличие, обойдясь без временной таблицы?
   Garykom
 
73 - 14.04.19 - 18:50
   NorthWind
 
74 - 14.04.19 - 18:54
(73) да. Хороший топик. Мержа нет, к сожалению, сервак старый.
   Garikk
 
75 - 14.04.19 - 19:27
(8) а вы считали сколько стоило и стоит сейчас разработка поддержка такого конструктора на плаву?

далее, есть вполне себе коммерческий продукт для банков, написанный на oracle forms и стоящий 100500 денег и требующий оракловых программеров в штате банка. вы случайно не его в виду имеете?
   NorthWind
 
76 - 14.04.19 - 19:35
(75) может быть. С программерами в штате - как раз знаком. Нет, не считал, а какая мне разница? Просто оно есть и работает.
   Emery
 
77 - 14.04.19 - 19:43
(0) > Вот зачем вообще 1С?

Как говорят физики-теоретики: «Любая теория верна до тех пор, пока не будет опровергнута». В перефразе: «1С хорош ровно до тех пор, пока не будет предложена достойная альтернатива».  Пока «достойной альтернативы» в классе учетных задач предприятия не просматривается. Это касается и «семерки» и «восьмерки». Но поскольку фирма «1С» забросила поддержку и развитие сверхлегких учетных система на базе 1С77, то есть шанс даже одному человеку, написать, скажем, реальную «зарплату» на, допустим, WTL. Что, например, я и делаю. Но даже если надоест не раньше, чем сделаю, то уровень программы будет локальная сеть производственного предприятия на примерно 1000 человек. Таким образом, если надо, что-то круче, работаем сразу с «восьмеркой». Естественно, на уровне конфигурации и внешних компонент только, больше вряд ли кто-то со стороны потянет :) .
   free dude
 
78 - 14.04.19 - 20:27
(0) 1C это абстракция над sql, бухгалтерский framework, который  берет на себя создание таблиц, индексов,  полей и запросов к ним, а так же логирование и прочее версионироание и берет часть ответственности,  за то что делает пользователь/программист. Сейчас даже в веб никто в голом эскуэль не пишет, везде абстракционные обертки. Ибо кто нибудь скрипт через дыру в безопасности запустит и пинда базе. А так конечно весь бизнессофт серьёзных компаний написан на С (С++, java, С#) и  SQL , все серьезные компании так и работают.  Именно по этому сишники,  джависты си шарписты всегда будут востребованы.
   free dude
 
79 - 14.04.19 - 20:29
Где то читал, что в микрософт строчка кода на СИ, обходится в 100 баксов или что то типа такого. Много себе компаний могут себе позволить платить столько программисту? А РФ?
   free dude
 
80 - 14.04.19 - 20:47
Отвечаю зачем? 1С как и любой другой framework(тысячи их) призван уменьшить расход вазелина для всякого уровня тимлидов, повысить скорость разработки приложений, читаемость и сопровождаемость кода, дать функционал командной разработки(чтобы дрючить адресно, а не всех всеми). Но плата за все это тормознутость самого получаемого софта.
   free dude
 
81 - 14.04.19 - 21:05
Если широко посмотреть на вопрос с ИТ точки зрения, то 1С не такая и конченная как про нее многие думают. Тут тебе и средство разработки и шаблозанизация и ORM подход https://ru.wikipedia.org/wiki/ORM и еще куча всего. Лично я думаю продукт на все деньги. Со всякими SAP, Axapta и Navision не работал, ничего не могу сказать на сколько они быстрее. Но раз в мире работают, то наверное в этом есть какой то смысл.
   zehn
 
82 - 14.04.19 - 21:20
(77) > Что, например, я и делаю

Ай, спасибо, что напомнил. Мы уже забывать начали.
   Garykom
 
83 - 14.04.19 - 21:22
(81) >Со всякими SAP, Axapta и Navision не работал

И ничего не потерял, жалкое подобие 1С 7.7 до 1С 8 УФ как до луны.
   free dude
 
84 - 14.04.19 - 21:23
вот хорошая статья http://catalog.mista.ru/public/703444/  , человек говорит, что 1С или быстрее или работает с такой же скоростью что и аксапта. Только не написал, что быстрее построение отчетов или проведение документов. восстановление всяких там последовательностей проведение документов отсутствует, потому что отсутвует работа задним числом, кстати сейчас и в ут11 практически такая ситуация тронул, где то  и может бомбануть закрытие месяца имхо это они зря сделали, подход ут10 лучше был. Кстати человек честно признается, что ни один месяц они так толком и не закрыли, ибо наш народ приучен лазить и постоянно чего то там править задним числом.
   Garykom
 
85 - 14.04.19 - 21:28
(77) Бросайте уже дурью маяться и учите 1С8, JavaScript, Java или C#.
   palsergeich
 
86 - 14.04.19 - 21:55
(81) абсолютно согласен
   Emery
 
87 - 14.04.19 - 22:16
(82) > Ай, спасибо, что напомнил. Мы уже забывать начали.

Главное, чтобы я сам не забыл. Собственный интерес это такая штука, сегодня есть, завтра нет. А так, написал, кто-то среагировал, чуток подстегнул своим стёбом :) .

(85) > Бросайте уже дурью маяться и учите 1С8, JavaScript, Java или C#.

Да работал я с Java в свое время, в том числе с системой разработки «NetBeans» и др., даже Java-исходники «Дебет Плюс V12»,  подсматривал. Много чего перепробовал, но не понравилось. C# тоже не нравиться и все, что связано с .Net тоже.

«Восьмерка» в принципе ничего, но раздражают все типовые. Я же говорил, что платформа написана на порядок лучше, чем конфигурации. С 1С можно иметь дело, только если ты ее контролируешь. Проще говоря, конфигурации нужно писать самому либо хорошо освоить что-то путное. Но «путного» для наших реалий ничего нет. Мы уже не Украина, но еще и не Россия. Для конкретно наших условий наиболее востребована «семерка», ПУБ для Украины переделана всего на пять – десять процентов и работает без особых проблем. А «зарплата» на «семерке» у меня 100%-но собственная, но давно напрашивается новая версия. Чтобы реализовать все свои хотелки, надо использовать «восьмерку». Но там платформа тоже, хотя и позволяет сделать, все, что нужно, но не слишком элегантно, что ли. Просто система изначально слишком тяжеловесная.

Выход – внешние компоненты. Я было начал ваять универсальные ВК для всех версий 1С (на базе WinAPI), неплохо получается, но очень трудоемко. А потом подумал, что если буду непосредственно писать «зарплату» на WTL, то достигну того же результата меньшими усилиями. И, самое главное, никаких ограничений со стороны приложения. Мои задачи это решает, а для практического использования типовых конфигураций в 1С83 нужно иметь работодателя в России, да и жить в России тоже, чтобы проникнуться ее современным Духом. В ближайшее время это мне явно не светит, так зачем делать лишнюю работу?
   Cyberhawk
 
88 - 14.04.19 - 22:24
"для практического использования типовых конфигураций в 1С83 нужно иметь работодателя в России" // ТАк ты для буржуев что ли пишешь нетленку?
   free dude
 
89 - 14.04.19 - 22:27
Можно мысль продолжить бизнес процесс это абстракция в 1С, 1С это абстракция над sql, sql это абстракция над Си++, С++ это абстракция над ассемблером, ассемблер это абстракция, над двоичным кодом, двоичный код это абстракция над потоком электрических импульсов. В принципе про любую ступень абстракции(кроме первой и последней) можно сказать, да на фиг она нужна? А зачем? Если на аппаратном уровне решение запилить, то оно будет работать за  наносекунду, правда данные готовить для этой наносекунды надо будет лет 20.
   Garykom
 
90 - 14.04.19 - 22:27
(88) ЛНР. Неофициальные только если ))
   Garykom
 
91 - 14.04.19 - 22:30
(88) У них проблема что железо старье и с поставками нового плохо.
В результате в дело пускают все что есть под рукой и в т.ч. 1С 77.

Но из 1С77 не умея готовить (1С++, Formex, прямые запросы и т.д.) не выйдет легко выжать все что можно из железа.
И тут на помощь приходит С++.
Ну и главный плюс, что нетленку так просто не сопрут кинув разработчика, что в их анархии актуально.
   Emery
 
93 - 14.04.19 - 22:34
(88) > ТАк ты для буржуев что ли пишешь нетленку?

Нет, пока для ЛНР / ДНР. Просто используемая концепция учета и расчета сложной заработной платы в 1С мне не нравиться от слова «совсем». Да и все прикладные модели учета тоже. Но в «бухгалтерии», «торговле» и «производстве» они хотя бы работают, а в «зарплате» нет (у нас, конечно). Поскольку имеющаяся у меня программа – вполне себе «рабочая лошадка», но есть время и немного желания ее все же улучшить ибо «лучшее – враг хорошего». Да принцип развития никто не отменял. До сих пор все «навороты» я хотел реализовать через ВК, но теперь считаю, что лучше это сделать через WTL, т.е., полностью без 1С. Пока все идет нормально, особых проблем не вижу.
   Emery
 
94 - 14.04.19 - 22:41
(92) > Я в донецкой области жил в школьные годы конец 80х- 90е. Столько ненависти ко всему живому только потому, что оно живое я нигде не видел.

Не ври! Или не жил или провокатор. Там вполне нормальные люди и тогда и сейчас. И не забывай, что Донбасс стал Украиной только по прихоти «дедушки Ленина» (чтобы укрепить промышленным пролетариатом сельскую «неньку»). До этого это была исконно Российская территория. А это просто так не проходит и не забывается.

>  А потом они удивляются, почему там стреляют. Карма у них такая.

Провокатор, однозначно.
   Garykom
 
95 - 14.04.19 - 22:42
(93) У вас там с инетом как дела обстоят?
Хотя даже если никак то одностраничники работают на чем угодно и даже на планшетах/смартфонах.

В отличие от твоей нетленки на неправильно выбранной для целевой задачи (написание учетной системы) технологии и ЯП.
   Garykom
 
96 - 14.04.19 - 22:44
(95)+ Если бы у тебя была цель сделать быстро и удобно то давно бы на HTML/CSS/JS писал а не изголялся со своим древним WTL.
Который последняя версия 9.1.5321 (17 ноября 2015) и только под Win32 API.
   Emery
 
97 - 14.04.19 - 23:05
(91) > У них проблема что железо старье и с поставками нового плохо.

Глупости! Железо вполне сносное, не жалуемся и с поставками все нормально.

> В результате в дело пускают все что есть под рукой и в т.ч. 1С 77.

Преимущество 1С77 в том, что это легкая система и легко контролируемая. «Восьмерка» доступна, но избыточна. Для предприятий менее 1000 человека она скорее роскошь, чем реальная потребность. При реальной восстребованности будет задействована без особых проблем. На всякий случай рассматривается вариант адаптации УПП для наших реалий. Для зарплаты решения нет, лучше написать с нуля, чем адаптировать ЗУП.

> Но из 1С77 не умея готовить (1С++, Formex, прямые запросы и т.д.) не выйдет легко выжать все что можно из железа.

Без 1С++ можно обойтись. Formex у меня задействован, с перспективой замены на собственную ВК. Прямые запросы используются с помощью внешнего приложения на Visual FoxPro, который подключается к индексам «семерки» (хотя это я зря использовал, надо было формировать независимые индексы) и к БД 1С77 по DDE-каналу. Движок VFP в 15 раз производительней встроенного в 1С77. Этого мне вполне хватает. Зарплата сложного производственного предприятия считается менее часа (обычно 40-45 минут) для 1000 человек. А вот сколько времени считается 1000 человек в ЗУПе мне так никто и не сказал.

> что нетленку так просто не сопрут кинув разработчика

Это не актуально, разобраться без документации и нестандартной концепции будет сложнее. А вот в «зарплате» на WTL можно будет сделать всю спецификацию и бизнес логику открытой, причем программа должна иметь возможность быть совместимой по данным с произвольными конфигурациями на 1С. Подобных идей много, вопрос только в самомотивации.
   Emery
 
98 - 14.04.19 - 23:14
(95) > У вас там с инетом как дела обстоят?

Абсолютно никаких проблем и на работе и дома.

> В отличие от твоей нетленки на неправильно выбранной для целевой задачи (написание учетной системы) технологии и ЯП.

Странные формулировки. Задача решена, более 10 лет работает успешно, альтернативы до сих пор нет. Кроме той, которую я сам собираюсь написать (не только для себя).
   Emery
 
99 - 14.04.19 - 23:29
(96) > Если бы у тебя была цель сделать быстро и удобно то давно бы на HTML/CSS/JS писал а не изголялся со своим древним WTL.

На WTL можно писать очень быстро. Его нужно только освоить. Тем более он идет в исходных кодах (коих менее полутора мегабайт). Хорошей документации и примеров мало, поэтому много времени уходит на чтение исходников.

А с «HTML/CSS» я имел дело, когда собственные сайты оформлял. Не могу сказать, что освоение идет быстрее. Да и в JS тоже приходилось вникать (была такая программа для налоговой отчетности на Украине – OPZ, там даже дешифровать JS приходилось).

> Который последняя версия 9.1.5321 (17 ноября 2015) и только под Win32 API.

У меня версия WTL 10.0.8356. Выпущена в конце 2018 года, судя по датам ее файлов. Да WinAPI. Не уверен, что только для x86, может быть и для платформы х64 тоже. Когда встанет вопрос о кроссплатформенности, то перепишу программу на WxWidgets либо даже Qt. Пока предпочитаю гнаться за одним зайцем, а не двумя.
   Sysanin_1ц
 
100 - 15.04.19 - 03:37
Если что то делать не на 1с, то вот хороший вариант среды разработки для экономических задач https://doc.open-odoo.ru
Написан на популярном языке Python, ОРМ с Постгресом, свой генератор отчетов, разработка возможна на Django, Pycharm, много готовых решений в магазине.
  1  2  3   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.