|
Синдром самозванца. Волшебник, avkynev, d4rkmesa, SeriyP, abibas, mishaPH, DrShad, dmt, Повелитель, Spyke, petr_ivanov, План счетов, Кукуев, Мультук, Толич, Pigmon, dnab, Кирпич, vis, Дмитрий, mmg, bmitkin, Lama12, Климов Сергей, jack777, Смотрящий, Has, scanduta, Aleksey, Valdis2007, Калиостро, NorthWind, A_G, Ivanich, slavik013, Alex7771, abfm, Chai Nic, Hans, Irbis, AntiBuh, RAJAH, dchumak, Stepashkin, tir654, asd123, Kobol, viver77, Prog_man, DrZombi, Pprog151713, вым, DemonShinji2, zzz_zzz_zzz, Argo, runuts, sto-alex, EgorovaSE, Domovoi, Garykom
| ☑ | ||
---|---|---|---|---|
0
H A D G E H O G s
19.12.24
✎
00:15
|
Знай, 1С-ник, если ты испытываешь синдром самозванца - ты просто должен посмотреть код функции
Функция ПолучитьДанныеКлассификатора() Экспорт модуля менеджера справочника УпаковкиЕдиницыИзмерения в какой-нибудь типовой. И тебя попустит. |
|||
1
H A D G E H O G s
19.12.24
✎
00:15
|
5200 строк вот такого кода:
|
|||
2
Широкий
19.12.24
✎
00:19
|
Текст = Новый ТекстовыйДокумент;
Текст = Справочники.УпаковкиЕдиницыИзмерения.ПолучитьМакет("КлассификаторЕдиницИзмерения"); ТекстМакета = Текст.ПолучитьТекст(); Возврат ОбщегоНазначения.ЗначениеИзСтрокиXML(ТекстМакета); Лишняя строка, но терпимо :) |
|||
3
Михаил Козлов
19.12.24
✎
00:20
|
Действительно. Класс!
|
|||
4
Злопчинский
19.12.24
✎
00:29
|
надо какому-нить чатугпт подсунуть с заданием "упростить код, чтобы результат остался таким же"...
|
|||
5
MaxxiMiliSanM
19.12.24
✎
00:58
|
(1) Предположу, что этот код был сгенерирован автоматически
|
|||
6
Волшебник
19.12.24
✎
01:13
|
А что тут происходит?
|
|||
7
Волшебник
19.12.24
✎
01:14
|
Я ветку закрепил, если чо
|
|||
8
Ненавижу 1С
19.12.24
✎
05:33
|
Мне интересно как они решают, когда макет использовать, а когда кодом строчить?
Но подозреваю это генерация кода из макета. Только зачем... |
|||
9
Aleksey
19.12.24
✎
06:44
|
(8) Возможно для гитхаба, или подобной фигни. Короче для хранилище, там где сравнивается текст и выводятся различия. Не думаю что сторонние утилиты осилят сравнения mxl, а вот текстовый текст - легко.
|
|||
10
formista2000
19.12.24
✎
07:07
|
А что если тригонометрические функции, например Sin() и Cos() тоже заданы хард-кодом и таблицей Брадиса? О.о
интересно получается |
|||
11
Stepashkin
19.12.24
✎
07:11
|
Когда мой мозг задался таким вопросом, я глянул функцию проверки адреса email, написанную собственноручно на 7.7. После этого мой мозг функционирует в нормальном рабочем режиме.
|
|||
12
Мультук
19.12.24
✎
07:39
|
(0)
Я не удивлюсь, что эта функция используется только один раз при заполнении классификатора |
|||
13
NorthWind
19.12.24
✎
07:56
|
(12) скорее всего да. И в этом плане она, собственно, не особо чем-то хуже, чем другие способы, тем более что этот код наверняка писался средствами автоматической кодогенерации.
|
|||
14
Гена
19.12.24
✎
07:59
|
(12) Сдаётся мне, что с точностью до наоборот.
Давайте подумаем. Вот есть крупная торговая компания, в которой туча номенклатуры. К какому справочнику будет больше всего обращений? К номенклатуре? Нет. Именно что к единицам измерения (ЕИ). Потому что по одному товару те же прайсы, причём во времени, будут вариативны по штукам, упаковкам, ящикам, паллетам и ещё хрен знает по каким ЕИ. Обратите внимание, что по каждому уровню есть Числитель и Знаменатель, т.е. коэффициент перевода одних ЕИ в другие. Это позволяет переводить тонны в кубометры или килограммы в листы и т.д. Если убедил и все согласны, что наибольшее число обращений в любой программе торговой организации именно к справочнику ЕИ, то нам осталось только сообразить, а где нам лучше всего расположить эту огромную таблицу ЕИ? Я не спец, но интуиция мне подсказывает, что эту таблицу надо расположить именно что длинной функцией внутри справочника ЕИ. Как раз для БЫСТРОТЫ. Нет? |
|||
15
Chai Nic
19.12.24
✎
08:05
|
(14) Для быстроты нужно многократно обращаться к индексированной таблице, которую предварительно один раз заполнили. А не заполнять каждый раз полностью, чтобы потом обратиться.
|
|||
16
Мультук
19.12.24
✎
08:06
|
(14)
Вместо тысячи слов #Область ОбновлениеИнформационнойБазы Функция ПолучитьДанныеКлассификатора() Экспорт //хулиард строк КонецФункции #КонецОбласти
|
|||
17
Гена
19.12.24
✎
08:09
|
(15) А разве эта функция каждый раз заполняет??
По языковой логике заполнять обязана процедура, а дело функции дать мгновенный ответ, когда по ней палкой стукнули. |
|||
18
Гена
19.12.24
✎
08:11
|
(16) А... так её только раз используют?
|
|||
19
Мультук
19.12.24
✎
08:19
|
(18)
Там дальше непонятно и работа началась |
|||
20
PR
19.12.24
✎
08:21
|
(8) Макет — неправильно
Код наше все |
|||
21
Ненавижу 1С
19.12.24
✎
08:25
|
(9) макеты есть в xml например
|
|||
22
Гена
19.12.24
✎
08:26
|
(19) Для программиста нет такого слова как "непонятно" (с) моё )
У кого есть данная конфа, кстати, какая? Гляньте глобальным поиском - много ли к этой функции обращений с разных товарных мест или действительно она только раз при обновлении задействована. |
|||
23
DrZombi
19.12.24
✎
08:50
|
(5) Предположу, что код введен руками. Думать про то, как жить с эти дальше, команды дано не было :)
|
|||
24
DrZombi
19.12.24
✎
08:52
|
(16) А можно было бы загнать все в Табличный документ MXL и раз в жизни подтянуть от тудо-ва информацию, выверив оную в ексельке :)
|
|||
25
Pprog151713
19.12.24
✎
08:56
|
В бух. 3.0 - 10 строк. Эта функция.
|
|||
26
scanduta
19.12.24
✎
09:03
|
(0) Самозванцы это архитектотры 1с ERP
|
|||
27
Asmody
19.12.24
✎
09:32
|
(1) Когда в языке нет
|
|||
28
Мультук
19.12.24
✎
10:00
|
(22)
ERP 2.5.19 Найдено вхождений: 16 Самый жирный пример Основная конфигурация Обработка.ПодборНомеровГТДВДокументы.Форма.Форма.Форма.Модуль(854, 62) : ДанныеКлассификатора = Справочники.УпаковкиЕдиницыИзмерения.ЗаполнитьЕдиницыИзмеренияИзКлассификатора("796"); ЗаполнитьЕдиницыИзмеренияИзКлассификатора -- вызывает ПолучитьДанныеКлассификатора() -- строит по нему Соответствие -- Возвращает это Соответствие Ну да. Чего зря запросы писать к УпаковкиЕдиницыИзмерения -- вот же готовая функция P.S. Гена, ты разрушил мою веру в светлый незамутненный код типовых конфигураций. Моя жизнь не будет прежней. :-) |
|||
29
Stepashkin
19.12.24
✎
09:37
|
(28) "веру", а не "верю".
|
|||
30
Asmody
19.12.24
✎
09:52
|
А с другой стороны, чуть добавить отступов - и уже почти JSON
![]() |
|||
31
Eiffil123
19.12.24
✎
09:53
|
(1) всю жизнь решаю аналогичные задачи заполнения своих классификаторов через макеты обработок
|
|||
32
Asmody
19.12.24
✎
09:53
|
а поскольку это действительно (скорее всего) кодогенерация, да похрен, как оно написано. вам туда лазить не надо
|
|||
33
Мультук
19.12.24
✎
10:01
|
(29)
Последнее время - вот такие описки. Хоть к врачу иди. Раньше был внимательнее, что ли. Или это стресс ? |
|||
34
Chai Nic
19.12.24
✎
10:06
|
(24) Вот из-за таких загонятелей конфигурации и весят гигабайты)
|
|||
35
mishaPH
19.12.24
✎
10:23
|
(34) А кто сейчас на место смотрит?
(0) ну конечно это прикольно НО а как заполнить справочник первоначально при запуске конфигурации если инета нет, и нет ничего кроме метаданных. |
|||
36
Гипервизор
19.12.24
✎
10:45
|
(35) (2)
|
|||
37
mishaPH
19.12.24
✎
10:52
|
(36) и что. данные то где взять. Или просто хранить не в коде а табличке?
|
|||
38
Chai Nic
19.12.24
✎
11:11
|
(35) Бывает, что приходится делать кучу копий баз для пользователей. И напрягает, что почти пустая (в смысле данных) база весит пару гигов.
|
|||
39
Eiffil123
19.12.24
✎
11:19
|
(38) согласен полностью. не понимаю, зачем держать код, который больше никогда не выполнится. И всё это барахло еще в оперативку сервера грузится, а реально рабочего кода там четверть или даже меньше.
|
|||
40
Eiffil123
19.12.24
✎
11:19
|
(37) во внешних файлах вместе с поставкой конфигурации
|
|||
41
Stepashkin
19.12.24
✎
11:27
|
(33) Может торопитесь.
|
|||
42
novichok79
19.12.24
✎
11:43
|
а всего-то надо сделать миграшки.
|
|||
43
mishaPH
19.12.24
✎
11:55
|
(40) ну не все так просто наверное. Иначе бы сделали.
Первоначальное заполнение вообще не должно зависеть от внешних файлов |
|||
44
Гена
19.12.24
✎
12:05
|
(28) Хрень какая-то. Кодег`ов ЕРП расстг`елять. Но сначала напоить чайком... всенепг`еменно!
|
|||
45
vis
19.12.24
✎
13:03
|
(42) Что такое "миграшки" ?
|
|||
46
Eiffil123
19.12.24
✎
16:46
|
(43) почему?
|
|||
47
novichok79
19.12.24
✎
17:02
|
(45) нууэээ, очевидно что миграции БД.
прост если бы это были бы условные миграции на Go, а база там в 99% случаев postgresql, можно было бы сделать заполнение из какого-нибудь CSV файлика. |
|||
48
Garykom
19.12.24
✎
17:16
|
Имхо текст JSON в коде
Или текст запроса который ВТ делает, из которой куда надо пишем А не вот этот изврат |
|||
49
novichok79
19.12.24
✎
17:34
|
миграции в коде - такое себе
|
|||
50
Конструктор1С
19.12.24
✎
18:22
|
(1) типичный мамкин копипастер писал. Много 1сников кодят через копипасту
|
|||
51
Волшебник
19.12.24
✎
18:23
|
(50) Нет. Это кодогенерация.
|
|||
52
Fragster
19.12.24
✎
18:51
|
вообще учитывая, что программный код всех модулей "компилируется" в AST и потом хранится в памяти, подход с макетом лучше (хоть xml, хоть json, хоть yaml (который для гита проще))
|
|||
53
Волшебник
19.12.24
✎
19:22
|
Ебать-колотить...
1С-ники узнали про кодогенерацию своего кода... |
|||
55
Djelf
19.12.24
✎
19:47
|
О чем вы спортите то? Это же на 0.01мс быстрее!
А если в цикле и без кеширования, то в 100-1000 раз быстрее. Просили ускорить в 10 раз (непонатно что) за 100р? Ну и получите кучку амна в вашей базе.. За что платили - то и получили. |
|||
56
Волшебник
19.12.24
✎
19:52
|
(55) Слушай, я всё облазил.. Где вот эта хрень? Что за прямоугольное? "Сарказм" на каком языке написано?
|
|||
57
Djelf
19.12.24
✎
20:03
|
(56) Твой сарказм слишком "тонкий", он не до всех доходит.
|
|||
59
Волшебник
модератор
19.12.24
✎
20:22
|
(57) Это твой сарказм, ебанутый и толстый. Ты заебал уже весь форум своим толстым сарказмом!
Это мой форум! Ты понимаешь, кто ты и где ты? |
|||
60
Tarlich
19.12.24
✎
21:53
|
Ну я то же не понимаю зачем в базе держать драйвера разного оборудования , далеко не все ими пользуются - а это пол гига ! можно вынести в поставку (или при необходимости как 10,3 через инет обработки обслуживания )
|
|||
61
DrShad
19.12.24
✎
22:04
|
(60) специально для таких как ты их вынесли в БТО
|
|||
62
Волшебник
19.12.24
✎
23:57
|
(60) пишется "тоже"! слитно!
|
|||
63
Волшебник
19.12.24
✎
23:59
|
(61) что за БТО? расшифруй, будь ласка
|
|||
64
DrShad
20.12.24
✎
00:03
|
(63) Библиотека Торгового Оборудования
|
|||
65
Волшебник
20.12.24
✎
00:06
|
(64) Спасибо.
|
|||
66
DrShad
20.12.24
✎
00:10
|
(65) bitte
|
|||
67
Волшебник
20.12.24
✎
00:13
|
(66) дась
|
|||
68
Garykom
20.12.24
✎
00:49
|
(64) Оно же вроде БПО
Библиотека Подключаемого Оборудования |
|||
69
DrShad
20.12.24
✎
00:51
|
(68) возможно, я мог и ошибиться
|
|||
70
Волшебник
20.12.24
✎
00:59
|
(69) ага-ага..
|
|||
71
DrZombi
20.12.24
✎
07:25
|
(34) Ха... а километровый кусок кода, это эпопея компактности? :)))
К тому же Код выполняется Один раз в Жизни + еще один раз, когда у программиста справочники пошли в разнос при странных обстоятельствах :) |
|||
72
Повелитель
20.12.24
✎
08:01
|
(0) Может там просто эффективный менеджер, решил зарплату программистам за количество строк выплачивать )))
|
|||
73
Chai Nic
20.12.24
✎
08:06
|
(61) Как это способствует компактности типового cf?
|
|||
74
Повелитель
20.12.24
✎
08:57
|
Скиньте кто-нибудь функцию целиком. А то у нас в Казахстанских типовых нет её.
|
|||
75
Волшебник
20.12.24
✎
10:08
|
(74) А
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |