![]() |
◄ 1 2 3 4 ► |
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
ВикторП 12.04.20 - 08:58 | Вопрос по теме- досталась конфигурация с внесенными к типовой изменениями.
Есть ли структура, которой можно отдать конфигурацию на аудит , например , на соответствие стандартам разработки? Интересуют сроки, стоимость. | ||
NorthWind 101 - 13.04.20 - 19:22 | (95) крапотливая - это от слова "крап", что ли? Как крапленая карта? :) | ||
Конструктор1С 102 - 13.04.20 - 19:50 | (98) вот как раз непонятно, какие тараканы бесились в голове у программиста, когда он данные из БД получал сильно загодя. Особенно умиляют менеджеры временных таблиц, протаскиваемые через 100500 процедур и функций. Перед использованием данные-то никак не получить, не-а. Нужно чтобы они в менеджере ВТ как следует потомились, и только потом их можно использовать | ||
vi0 103 - 13.04.20 - 20:05 | (102) без конкретного примера можно что угодно осуждать, и не придерешься | ||
palsergeich 104 - 13.04.20 - 21:10 | (33) Да без проблем.
Сделать как в БСП, с поставкой поставлять файл особенностей. На самом деле сделать так что бы АПК не ругался очень просто, но это мало относится к качеству кода. Я приводил нетленку к совместимо, несколько тысяч ошибок за 2 вечера поправил. Но еще раз повторю - АПК и качество кода - разные вещи. | ||
palsergeich 105 - 13.04.20 - 21:39 | Просто к чему спич выше - прописав требования к прохождению АПК - будь готов получить код, который проходит АПК.
Есть конечно BSL, но он еще только развивается. Готового автоматизированного средства для проверки кода нет. Только глазами. Но это уже субъективная оценка, и в договор не всунешь. Объективных на 100% метрик нет. | ||
Вуглускр1991 106 - 13.04.20 - 21:50 | (51) ЭТО ТЫ СЕЙЧАС КОГО ПОСЛАЛ? | ||
WorkOut_Man 107 - 14.04.20 - 00:14 | Ясно, в общем тема норм, слепой укажет всем дорогу. | ||
WorkOut_Man 108 - 14.04.20 - 00:14 | Оказалось что наш аутдитор чуть смекалистее подавана, но гонору то гонору. | ||
WorkOut_Man 109 - 14.04.20 - 00:16 | У меня вопрос, аудитор из (0) ты какими сертификатами обладаешь? Какие у тебя ордена? есть спец по платформе? Или эксперт? Может ты владеешь сертификатом 1с Эксплуататор? | ||
vi0 110 - 14.04.20 - 04:46 | (105) "Есть конечно BSL"
Что такое сие? | ||
palsergeich 111 - 14.04.20 - 06:24 | |||
quest 112 - 14.04.20 - 06:31 | для тех кому джава не вставляет - https://github.com/lead-tools/bsparser | ||
quest 113 - 14.04.20 - 06:33 | ну а для тех кому и 1С не вставляет - https://gitlab.com/wwall/styleguide - но там давно затишье | ||
palsergeich 114 - 14.04.20 - 07:16 | (109) ну скажем так Эесплуататор и Эксперт это не про качество кода. | ||
WorkOut_Man 115 - 14.04.20 - 09:04 | (114) Да я и не говорю про качество кода, у меня сомнения в комтенециях ТС. Совершает детскую ошибку, что то увидал, не понял, сразу ломать начал | ||
ВикторП 116 - 14.04.20 - 09:49 | Провел еще одну проверку в конфигурации АПК До этого я проверял только добавленные объекты Этих объектов 759 , ошибок было - 16349 провел проверку всей конфы - объектов 50 729 , ошибок 33602 т.е. расклад такой -на примерно 50 тыс объектов у разработчиков 1с ошибок 33602-16349=17253 , т.е. примерно 17 тыс или примерно 1 ошибка на 3 объекта у разработчика/ов допиленной конфигурации 16 тыс ошибок на 700 объектов, или примерно 23 ошибки на 1 объект конфигурации т.е. разработчики типовой в десятки раз меньше делают ошибок по требованиям соответствия стандартам разработки измерения проводил в демо-базе конфигурации автоматизированная проверка конфигураций редакция 1.2.5.30 | ||
WorkOut_Man 117 - 14.04.20 - 10:14 | (116) Отлично, т.е. теперь ты начал в кале разбираться. Этот калл значит хороший, этот калл плохой. Продолжайте самодеградацию и слепое превращение себя в человека с низкой социальной ответственностью. | ||
drcrasher 118 - 14.04.20 - 10:25 | обожаю радость от АПК.
был опыт пиления отраслёвки. АПК в среднем давало 400-600 ошибкок, из которых 90% были синтаксическими (ну не знает АПК массы специфических терминов). подтребовалось добавить БСП. добавили. совместимо само себя не сдаст, требуется отчет из АПК. прогнали, 18к ошибок в БСП. наслаждайтесь качеством кода типовых, да. | ||
polosov 119 - 14.04.20 - 10:29 | (102) Есть такая рекомендация при работе с БД - "По возможности получай все нужные данные за один запрос". За память переживать не стоит, не восьмидесятые года вроде на дворе. | ||
WorkOut_Man 120 - 14.04.20 - 10:33 | (119) Дааааа, особенно в зупе 3.0, она как как при инфаркте, еле дышит со своими мегазапросами. Про ерп молчу, это вообще труп. | ||
ВикторП 121 - 14.04.20 - 10:51 | (118) орфографических, наверное | ||
WorkOut_Man 122 - 14.04.20 - 11:01 | (121) О какихОшибкахИдетРечьКогдаВ1С_ПишетсяВсеВОднуСтроку???? | ||
ВикторП 123 - 14.04.20 - 11:11 | контагент , например считается орфографической ошибкой | ||
Йохохо 124 - 14.04.20 - 11:22 | (123) а КонтАгент? | ||
WorkOut_Man 125 - 14.04.20 - 11:32 | (123) МожноПисатьМатомГлавноеКаждоеСловоС_БольшойБуквыИБудетНормНоПродуктБудетФиговый | ||
palsergeich 126 - 14.04.20 - 11:41 | (118) Когда это было? 2 года назад с файлом особенностей . который был в поставке АПК выдавал 0 | ||
Bigbro 127 - 14.04.20 - 11:48 | (119) то то при внедрении ЗУП 3.1 клиенты при расчете зп падали с нехваткой памяти ))))
а на 64х 2д коды не работали... эхъ | ||
WorkOut_Man 128 - 14.04.20 - 11:56 | (127) Потому что ЗУП 3.1 рожден при обмороке с инфарктом. | ||
NeoVision 129 - 14.04.20 - 12:40 | Зуп 3 - это топ тяжелых конфигураций 1с, никакой erp (его части без блока зуп) и близко не лежали | ||
WorkOut_Man 130 - 14.04.20 - 13:28 | (129) Ну да, установка цен номенклатуры в ерп просто кладет базу если очень крепкий прайсик пригрузить Рекламное место пустует | ||
WorkOut_Man 131 - 14.04.20 - 13:34 | А если пригружать в ЕРП хорошие файлики, да помногу, то работа в базе просто останавливается. | ||
Immortal 132 - 14.04.20 - 13:36 | (130) ога, там в целом с РС проблемы, лучше отдельно текущие цены хранить | ||
Immortal 133 - 14.04.20 - 13:37 | ну и ЗУП по архитектуре тупой отстой, да простят меня коллеги | ||
WorkOut_Man 134 - 14.04.20 - 13:38 | (132) Да маза фака! Там лучше цены вообще не трогать, все делается через анус маркетинговых мероприятий, это такое очко! Это просто очеллО!!!!!! Зафакать того кто это вообще пустил в продакшн этот ерп | ||
WorkOut_Man 135 - 14.04.20 - 13:39 | (133) Да все нормально брат. ЗУП 3.1 мера вынужденная, но тупая глупая и долгая. А в кишках вообще без пол литры не разобраться | ||
WorkOut_Man 136 - 14.04.20 - 13:43 | А если надо быстро что то, то тут либо уже повторяющаяся ошибка, либо долгий полет по внутренностям. | ||
Конструктор1С 137 - 18.04.20 - 05:49 | (119) рекомендация-то хорошая, только вот некоторые трактуют её по-своему. Под "одним запросом" фирма 1с, очевидно, имела ввиду однократное полученые данных из одной таблицы. А не получение одним запросом данные из 15-ти таблиц на будущее и на всякий случай
"За память переживать не стоит, не восьмидесятые года вроде на дворе" Ну давай теперь будем бездумно разбрасываться ресурсами. А потом "чё это ваша 1с такая тормозная" и "чё это 1с сожрала всю память". Это ещё хорошо, что с разделением на клиент и сервер фирма 1с перекрыла кислород некоторым извращенцам. Менеджер временных таблиц не сериализуется и не сохраняется между серверными вызовами. Во времена ОФ неоднократно сталкивался с особым видом извращения - хранением менеджера ВТ в глобальной переменной | ||
Cyberhawk 138 - 18.04.20 - 09:09 | (137) "Под "одним запросом" фирма 1с, очевидно, имела ввиду однократное полученые данных из одной таблицы. А не получение одним запросом данные из 15-ти таблиц на будущее и на всякий случай" // Ошибаешься | ||
acht 139 - 18.04.20 - 09:47 | |||
Конструктор1С 140 - 18.04.20 - 10:38 | (138) поясни | ||
Конструктор1С 141 - 18.04.20 - 11:02 | Что-то не так в этом королевстве. В любом букваре по программированию можно прочитать, что время жизни данных нужно минимизировать, "область видимости" данных нужно уменьшать. Но 1сники продолжают как родных детей защищать привычки говнокодинга | ||
Морзе 142 - 18.04.20 - 11:04 | (141) Я так думаю, что они в конце концов придут к состоянию "безобразно, зато однообразно". Если уже не пришли. | ||
Лефмихалыч 143 - 18.04.20 - 11:16 | (0) да я тебе не глядя скажу, что на стандарты разработки там сложен болт таких размеров, что даже в тигровую акулу не влезет.
Ветку не читал, но вангую, что заказчик про*бался с ТЗ, получил 10% того, о чем мечтал, и теперь пытается получить бесплатно остальные 90% того, о чем не сказал. Старше этой истории - только первый анкдот про проститутку | ||
Конструктор1С 144 - 18.04.20 - 11:20 | (142) пока что безобразность выглядит вот так:
Процедура ИзлюбленныйГовнокодинг() МногоТаблиц = ВытащитьИзБазыДлиннющимПакетнымЗапросомПятьГигабайтДанных(); ПерваяПроцедураНаПолчаса(МногоТаблиц.ПерваяТаблица);// Все 5 Гб висят в памяти ВтораяПроцедураНаПолчаса(МногоТаблиц.ВтораяТаблица);// 5 Гб продолжают висеть в памяти ТретьяПроцедураНаПолчаса(МногоТаблиц.ТретьяТаблица);// 5 Гб по прежнему висят в памяти ЧетвертаяПроцедураНаПолчаса();// Данные уже давно не нужны, но пускай ещё повисят в памяти КонецПроцедуры// фух, наконец-то память можно очиститьи мне продолжают доказывать, что это бэст практикс. Видимо у них что-то отвалится, если сделают хотя бы вот так (хотя это тоже безобразие): Процедура УчимсяНеРазбазариватьВычислительныеРесурсы() ПорцияДанных = ВыполнитьПервыйЗапрос();// Получили только то, что требуется в данный момент ПерваяПроцедураНаПолчаса(ПорцияДанных); ПорцияДанных = Неопределено;// Удалили из памяти ПорцияДанных = ВыполнитьПервыйЗапрос();// Получили только то, что требуется в данный момент ПерваяПроцедураНаПолчаса(ПорцияДанных); ПорцияДанных = Неопределено;// Удалили из памяти ПорцияДанных = ВыполнитьВторойЗапрос();// Получили только то, что требуется в данный момент ВтораяПроцедураНаПолчаса(ПорцияДанных); ПорцияДанных = Неопределено;// Удалили из памяти ПорцияДанных = ВыполнитьТретийЗапрос();// Получили только то, что требуется в данный момент ТретьяПроцедураНаПолчаса(ПорцияДанных); ПорцияДанных = Неопределено;// Удалили из памяти ЧетвертаяПроцедураНаПолчаса(); КонецПроцедуры | ||
Cyberhawk 145 - 18.04.20 - 11:30 | |||
Морзе 146 - 18.04.20 - 11:43 | (145) Да вроде вполне очевидно, что в некоторых случаях лучше сразу вытащить все данные из БД, а в некоторых вытаскивать данные по месту. А вот как отличить одни случаи от других, 1С как-то не определилась :( | ||
Конструктор1С 147 - 18.04.20 - 11:44 | (145) серьёзно? Ну ок, тогда поясни, у кого и что отвалится, если вот такой запрос превратится в три отдельных запроса. Каждый из которых выполнится там, где данные будут нужны, а не там, где разработчику приспичило сделать один длинный запрос
Запрос = Новый Запрос; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("Касса", Касса); Запрос.Текст = "// Эти данные нужны сразу |ВЫБРАТЬ | ДвижениеТоваровОбороты.Номенклатура КАК Номенклатура, | ДвижениеТоваровОбороты.Характеристика КАК Характеристика, | ДвижениеТоваровОбороты.ПланируемоеПоступлениеОборот КАК ПланируемоеПоступлениеОборот, | ДвижениеТоваровОбороты.ПланируемоеПоступлениеПодЗаказОборот КАК ПланируемоеПоступлениеПодЗаказОборот |ИЗ | РегистрНакопления.ДвижениеТоваров.Обороты(, , , &Номенклатура) КАК ДвижениеТоваровОбороты |; | //////////////////////////////////////////////////////////////////////////////// |// Эти данные понадобятся через 3 тысячи строк кода |ВЫБРАТЬ | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстатки.Характеристика КАК Характеристика, | ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток, | ТоварыНаСкладахОстатки.КОтгрузкеОстаток КАК КОтгрузкеОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки |; | //////////////////////////////////////////////////////////////////////////////// |// Эти данные понадобятся через 7 тысяч строк кода |ВЫБРАТЬ | ДенежныеСредстваНаличныеОстатки.СуммаОстаток КАК СуммаОстаток, | ДенежныеСредстваНаличныеОстатки.СуммаУпрОстаток КАК СуммаУпрОстаток, | ДенежныеСредстваНаличныеОстатки.СуммаРеглОстаток КАК СуммаРеглОстаток |ИЗ | РегистрНакопления.ДенежныеСредстваНаличные.Остатки(, Касса = &Касса) КАК ДенежныеСредстваНаличныеОстатки"; Результат = Запрос.ВыполнитьПакет(); | ||
Конструктор1С 148 - 18.04.20 - 11:48 | (146) данные должны получаться по месту использования. Даже не вижу никаких оправданий манере получать данные сильно загодя и прозапас | ||
Морзе 149 - 18.04.20 - 13:41 | (148) Я про то, что можно, например, получить цены на всю номенклатуру заказа одним запросом, а можно по запросу на каждую номенклатуру. И оба эти решения могут быть правильными в различных случаях. | ||
acht 150 - 18.04.20 - 14:30 | (144) Весьма показательная упоротость разработчика-"оптимизатора", кстати. То, что обработка данных занимает 2 часа (4 x 0.5) - это похер, будем бороться за чистоту помыслов. | ||
acht 151 - 18.04.20 - 14:40 | (148) Чуви, 1С - многопользовательская система. И когда ты полчаса в чем-то ковыряешься, у тебя данные базы могут изменится так, что тебе придется выбросить свои расчеты. | ||
ДенисЧ 152 - 18.04.20 - 14:57 | (151) Транзакции с блокировками? Не, никогда не слышал... | ||
acht 153 - 18.04.20 - 15:01 | (152) Ты ветку-то почитай | ||
vi0 154 - 18.04.20 - 15:33 | |||
Морзе 155 - 18.04.20 - 15:39 | (152) То-же, интересный вопрос - возьмём заказ на 1000 позиций, получаем цены на все 1000, и далее до конца наших хитрых расчетов блокируем любые изменения цен? | ||
ДенисЧ 156 - 18.04.20 - 15:49 | |||
Конструктор1С 157 - 18.04.20 - 16:24 | |||
Конструктор1С 158 - 18.04.20 - 16:24 | (154) нет под рукой. Но поверь, такое встречается частенько | ||
acht 159 - 18.04.20 - 16:33 | (157) Да, сэр! Так точно, сэр! Разрешите не касаясь пола, сэр? | ||
vi0 160 - 18.04.20 - 17:00 | (158) зачем мне верить или не верить, я отлично знаю как бывает, и что гкода хватает
ты с какой целью какие то абстрактные случаи гкода здесь приводишь и очень долго уже обсуждаешь? Рекламное место пустует | ||
vi0 161 - 18.04.20 - 17:02 | (160) уже неделю почти обсасываешь эти запросы в вакууме | ||
Cyberhawk 162 - 18.04.20 - 17:54 | (147) "поясни, у кого и что отвалится" // Замена единого запроса на несколько последовательных может повлечь нарушение исходной логики, т.е. полученный результат уже может отличаться от того, который был до разбиения | ||
Конструктор1С 163 - 18.04.20 - 17:59 | (160) случаи не абстрактные. Проблем с производительностью полно, что в типовых, что в отраслёвках. Пока они работают на небольших объёмах данных, с небольшим количеством пользователей, всё нормально. Но стоит их попытаться запустить в крупном холдинге, сразу наступает веселье | ||
Конструктор1С 164 - 18.04.20 - 18:04 | (162) если система так чувствительна к timestamp, то скорее всего проблема в архитектуре, или в организации работы. На моём предприятии все сложные и чувствительные к изменениям расчеты выполняются регламентными заданиями в ночное время | ||
acht 165 - 18.04.20 - 18:23 | (164) >На моём предприятии все сложные и чувствительные к изменениям расчеты выполняются регламентными заданиями в ночное время
Что, в свою очередь, говорит о проблемах в архитектуре. Ну, или в организации работы. | ||
VladZ 166 - 18.04.20 - 18:40 | (163) А кто сказал, что конфигурации разработаны для крупных компаний? | ||
Конструктор1С 167 - 18.04.20 - 18:50 | (165) не-а. С архитектурой и организацией работы всё тип-топ. Фирма 1с сама рекомендует выносить сложные расчеты в незагруженные периоды | ||
Конструктор1С 168 - 18.04.20 - 18:51 | (166) никто не говорил. Но фирма 1С позиционирует же свои типовые как "подходящие всем" | ||
Cyberhawk 169 - 18.04.20 - 18:54 | (168) В хайлоаде свои правила, и чаще противоположные всяким официальным рекомендациям и стандартам разработки | ||
vi0 170 - 18.04.20 - 19:03 | (163) что "наступает веселье"? приведи конкретные сценарии, где проявлялась неоптимальность конкретного кода
а так ты воду в ступе толчешь | ||
vi0 171 - 18.04.20 - 19:04 | (168) нет такого позиционирования у 1с | ||
RayCon 172 - 18.04.20 - 19:37 | (0)
>Есть ли структура, которой можно отдать конфигурацию на аудит, Я делаю такой аудит в части РСБУ и МСФО. >например , на соответствие стандартам разработки? Но никогда не делаю аудит "на соответствие стандартам разработки" по той простой причине, что фирма 1С сама довольно фривольно относится к своим собственным стандартам. Я же смотрю, насколько софт отвечает требованиям бизнеса вообще и корпоративным стандартам в частности. Если хочешь, могу показать пример заключения с рекомендациями по исправлению обнаруженных проблем. >Интересуют сроки, стоимость Всё очень сильно зависит от анализируемого объёма. Могу сказать свои расценки, у коллег лучше узнать напрямую. | ||
RayCon 173 - 18.04.20 - 19:42 | |||
Конструктор1С 174 - 18.04.20 - 20:00 | (170) не могу найти, раньше на сайте у фирмы 1с был специальный раздел про крупные проекты. Там описывалось, как обвешавшись ЦУПами и APDEXами, франчи заставляли работать типовые с приемлемой для клиентов производительностью | ||
Конструктор1С 175 - 18.04.20 - 20:02 | А, нашел)https://v8.1c.ru/tekhnologii/tekhnologii-krupnykh-vnedreniy/vypolnennye-proekty-tsktp/ Там таких примеров - вагон и маленькая тележка | ||
acht 176 - 18.04.20 - 20:32 | |||
Конструктор1С 177 - 18.04.20 - 20:52 | (176) оптимизатор без сабельки, а ты в курсе, что помимо производительности (под которой почему-то у многих принято считать только время выполнения кода), есть ещё масса аспектов качества программного продукта? И если ты до сих пор не понял, я веду речь не про оптимизацию, а просто про использование здравого смысла при разработке. Оптимизация, это когда есть узкое место в конфигурации, и ты переписываешь его, ради повышения производительности. А здравый смысл, это когда при разработке ты пишешь запросы сразу оптимально, с учетом индексов БД, менеджер ВТ закрываешь сразу после использования, переменные инициализируешь перед их использованием, а не хрен пойми где, ну и так далее... | ||
Конструктор1С 178 - 18.04.20 - 21:02 | Ещё яркий пример распространеннейшего рукожопства:
ТаблицаНаСтоТыщСтрок = ПолучитьМассивнуюТаблицу(); // тысяча строк кода, не использующих таблицу //... // тысяча-первая строка кода, в которой наконец-то используется полученная таблица Для Каждого СтрокаТаблицы Из ТаблицаНаСтоТыщСтрок Цикл что помешало разработчику получить таблицу непосредственно перед использованием? На кой ляд нужно было так разлучать инициализацию переменной и её использование? | ||
vde69 179 - 18.04.20 - 21:11 | (178) например наложение блокировки, а тысяча код кода критичны к изменению данных... | ||
Конструктор1С 180 - 18.04.20 - 21:20 | (179) не-а. В том-то и дело, что у многих манера инициализировать переменные где попало и без объективных на то причин | ||
vde69 181 - 18.04.20 - 21:20 | вот я например на текущей работе такую херню делаю (в плане учета просто жуть, не то, что без стакана не разберешься, еще на много хуже), и приходится все красиво обыгрывать и обвешивать...
простой пример, у меня в самописке примерно с десяток видов документов, у них сложные формы где в зависимости от статьиДР в табличной части меняются колонки доп данных (их может быть штук 20), я во всей конфе предусмотрел 2 режима первый в виде портянке, второй в виде дерева, куча кода, все работает, всех устраивает, и тут один документ мне тычут - сделай как в ТЗ, долго спорил, но пришлось сделать отдельную форму которая ну ни как не вписывается в стройную систему. И ради этого там подобного (178) просто море, а все по тому, что основную систему нельзя ломать ради кастомного решения... и чего теперь? по идее это вышел говнодокумент, но переделывать его никто не будет, я не буду по причине "просили - вот вам кактус", заказчики не будут по тому как не признают своих ошибок. Так и будет говнодокумент болтатся в базе много лет... | ||
acht 182 - 18.04.20 - 21:43 | (181) Не спорь. Конструктору лучше знать. Кто мы такие на фоне это мощнейшего человечища? Он все всех знает, всех всему научит, у него регламентные по ночам работают! | ||
Конструктор1С 183 - 18.04.20 - 21:50 | (183) заканчивай уже со своим пафосным троллингом | ||
Сияющий в темноте 184 - 18.04.20 - 22:06 | почему все рекомендуется получать одним запросом:
во-перввх,предполагая параллельность исполнения,мы должны заблокировать все данные,которые получаем,сделать это ступенчато нельзя,так как это путь к взаимоблокировкам,то есть,хороший код,получающий данные,выставляет блокировку только один раз. во-вторых,в 1с блокировка косвенно связана с работой sql,поэтому,отделять работу по выборке от блокировки не желательно. в третьих,если данные потом не сохраняются,а выводятся пользователю,то после получения можно снять блокиовку и завершить транзакцию. кроме того,не стоит забывать про повторное использование кода,которое само по себе враг оптимизации,но,если нам нужны какие-то данные для работы то,если есть уже готовая функция,которая получает наши данные плюс еще какие-то,то посему бы ее не использовать. | ||
Сияющий в темноте 185 - 18.04.20 - 22:45 | и потом не забываем,что хорошим тоном считается сначала получить данные,а потом их обрабатывать
такой подход позволяет менять алгоритмы обрабртки,не меняя другие участки кода,а когда получение данных перемешано с их обработкой,то часто можно наступить на грабли получения одного и того же несколько раз,так как разные участки кода могут писать разные люди. | ||
Сияющий в темноте 186 - 18.04.20 - 22:51 | и хранение параметров в структурах,как раз,любят из-за этого,что добавить параметр в структуру-это его вставить в одном месте и получить в другом и не нужно переписывать кучу функций,куда он передается.
но,тут все забывают о том,что параметры в структуре живут до тех пор,пока она не будет разрушена,то есть наблюдается очень большой перерасход памяти,так как никто их не удаляет-да и по сути-это делать нельзя,так как мы не знаем точно,где они используются,а где-нет. | ||
acht 187 - 18.04.20 - 22:52 | Но как же... тысячи строк? Ярчайшие примеры? ;( | ||
Бертыш 188 - 18.04.20 - 22:55 | Звонила давеча коллега с прошлой работы по поводу очередного обновления типового зупа 3. Не работает рсв. Полезли на сайт официальный, а там код который надо поправить указан в ошибках. Поправили. Всё равно вешает сервер и не работает. Коллега полез далее правки по коду, а там конструкция безупречная с точки зрения орфографии и наверное автоматическая проверка её бы даже ошибкой не стала бы считать. Что-то начинающееся с
Пока Истина Цикл Пример другой. Привлекали к доработке ЗУП 2.5 для ФГУП Почта России. Внедрение на 13 тысяч+ рабочих мест. 1С овская рекомендация по использованию временных таблиц с таким числом пользователей показала что узким местом при таком количестве становится дисковая подсистема, то есть лаги возникают из-за обилия обращений туда-сюда к ней. Коллеги перекрутили весь типовой код запросов на работу без временных таблиц. Вероятнее всего тестирование такого перепахивания показало бы ошибок при тестировании овер много, но всё в отличии от безошибочного кода работало в высшей степени разумно. При очной сдаче 1С специалиста ведь недаром существуют две части 1) изменение каркасной 2) защита своего решения преподавателю из разряда а почему сделаны такие то изменения Я бы например по своему текущему опыту вместо тч документа делал бы регистры сведений отображаемые в форме, но я бы смог объяснить преподавателю почему я так сделал, по своему опыту Викторы бы надо подсобрать то что он со своей компетенцией считает ошибками и предложить подрядчику либо исправить в рамках уже освоенного бюджета, либо как на экзамене обосновать те или иные свои решения, а далее по ситуации. Хотя на месте подрядчика я бы наверное десять раз подумал. В нулевые меня периодически дёргала бухгалтерия одного заказчика. То им надо было обновить семёрку, то бухгалтерия пару раз накосячила. Но шефу то своему свои косяки они решили выдавать за то что я однополовец им подлянки делаю. Когда же их шеф на эту их уловку повёлся, то я ему сразу обозначил свою позицию, а именно что вопрос доверия в сотрудничестве это вопрос номер один и что если нет ко мне доверия, то давайте растанемся. Так и расстались по обоюдному согласию | ||
Бертыш 189 - 18.04.20 - 23:04 | (186) Верно всё говоришь. Плюс ты забыл упомянуть что разбиение процедур и функций по общим модулям с вменяемыми названиями делает добработку типовых, да той же ерп, более или менее комфортным. То есть после замера производительности при анализе где мы побывали более или менее понятно куда лезть и куда рыть | ||
Сияющий в темноте 190 - 18.04.20 - 23:05 | просто,у 1с нет цикла do ... loop while/until вот и приходится писать.
кроме того,есть классическая модель выхода на конец,когда для выхода используется break внутри цикла с условием true и обязательным break перед концом цикла. | ||
Бертыш 191 - 18.04.20 - 23:07 | (190) Это я помню и думаю что такое могло иметь место быть, но подозреваю что если история долетела от них до меня, то вероятнее всего там не было ни продолжить ни прервать | ||
Сияющий в темноте 192 - 18.04.20 - 23:07 | что касается структур-это еще и модель обьектно-ориентированного подхода
когда структура хранит поля обьекта,а в коныигурации есть модуль с именем обьекта,где все функции типа
функция ИмяКласса_ИмяМетода(АналогThis,ДругиеПараметры) | ||
Бертыш 193 - 18.04.20 - 23:09 | Я им кстати сказал что в контексте эпидемии это программный код из разряда
откуйте меня от батареи :) то есть крик профессионала о помощи | ||
Сияющий в темноте 194 - 18.04.20 - 23:10 | опять же,применяя автоматический сборщик кода можно код на ООП перевести в код 1с и даже разные функции разнести по разным модулям на основании фильра-а потом народ будет гадать,почему функуии из одного модуля в другой переехали ^_^ | ||
Сияющий в темноте 195 - 19.04.20 - 00:22 | есть еще одно решение-когда применяется пока истина цикл
если мы криво написали блокировку,то есть ставим ее каскадно,сначала на одно,а потом еще и еще,то есть высокая вероятность словить взаимоблокировку транзакций,тогда илм блокировать все и чихать на ппраллельность или повторять,пока не ввполнится успешно. но это г.внокод высокого уровня. | ||
vi0 196 - 19.04.20 - 03:46 | (175) ну и зачем мне эта ссылка? | ||
vi0 197 - 19.04.20 - 03:46 | |||
Конструктор1С 198 - 19.04.20 - 05:38 | (185) в книге "Рефакторинг" Мартина Фаулера есть раздел про "запахи" в коде. Запахами называют как раз дурной тон при кодировании, который приводит к проблемам с доработкой программы. Одним из таких запахов является "стрельба дробью":
https://refactoring.guru/ru/smells/shotgun-surgery это как раз тот случай, когда данные получаем "где-то там", а обрабатываем "где-то здесь" | ||
Конструктор1С 199 - 19.04.20 - 05:45 | (186) вот тут правильно. А про блокировки не согласен. Множество алгоритмов не накладывают блокировок на данные. В большинстве случаев данные блокируются только на уровне СУБД и только на время чтения данных. Как только СУБД завершит запрос, блокировка будет снята. Если данные обрабатываются сразу же после запроса, то ещё есть шанс поработать с актуальными данными. А если данные были получены полчаса назад, то актуальными такие данные назвать нельзя | ||
Конструктор1С 200 - 19.04.20 - 05:52 | (188) "1совская рекомендация по использованию временных таблиц с таким числом пользователей показала что узким местом при таком количестве становится дисковая подсистема"
Воот. Про подобное я выше тоже писал. Есть такая болезнь в нашей 1сной отрасли: где надо и где не надо использовать временные таблицы, и давать жить менеджеру ВТ пока не надоест... И вылазит это как раз при высоконагруженной работе системы. |
◄ 1 2 3 4 ► |
Список тем форума
|