<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Это предложение я бы переписал так:
(1) компоновка происходит локально на компьютере, а вот данные гоняются по каналу связи, который может быть хоть веб-каналом, т.е. канал связи намного медленнее локального компьютера. Не надо экономить на спичках, надо видеть узкие места.
Макс Планк в своё время сказал, что новые идеи не вытесняют из нашего сознания старые представления. Просто отмирают сторонники старых идей. С большим уважением отношусь к данной публикации. С интересом её прочитал. На мой взгляд, при прочих равных условиях, есть большое преимущество у тех, кто начал осваивать разработку программ на 1C сразу с управляемого интерфейса.
(2) это все так, но вот сама отрисовка тормозит и за счет этого все медленнее…
новый механизм размещения элементов на форме
Это признает сама 1С и 8.3.7 будет предложен
Не забываем сказать о глюках УФ при растягивании формы.
Неявные контекстные серверные вызовы — одна из самых больших бед текущего механизма отрисовки управляемых форм. Например любое изменение видимости/доступности или заголовка их вызывает. Серьезно добавляют тормозов на больших формах.
Такой своеобразный личностный переход человека от обычных форм к управляемому интерфейсу с элементами конспекта лекций. Рад, что вы так быстро освоили управляемые формы.
Спасибо. Было интересно почитать.
Дневничковая запись из серии «как я осваивал азы УФ и 8.3». Почему автор наивно думает, что этим личным заметочкам место на ИС, я не знаю. Ну давайте ещё делать публикации в духе «как я вчера делал перенумератор».
Не статья, а набор заметок, сделанных на курсах и после них. Всё это есть в книжках для начинающих, на ИТС и сайтах 1С, причём изложено гораздо более полно и связно.
А ты за всех не говори, «гений».
(9) Уважаемый, найдите мне статью, где раскрывается понятие модальности, разницы между 82 и Такси и нюансы организации навигации в 82-83? Тогда я скажу, что написал статью зря.
Эта статья — как бы ввод в тему управляемого интерфейса для тех, кто застрял на 81, все разжевывается очень доступно. Не надо вот этих наездов.
(3) я пережил переход с 77 на 80, и ниче. 77 уже не вспоминаю.
(10)http://v8.1c.ru/o7/201301nm/ и тд.
Ваша статья то же не раскрывает данных понятий. Лишь общие фразы без конкретных примеров.
(12) если бы мне кто сказал эти общие фразы в свое время, когда я не имел представления об УФ, я был бы признателен. Понятие модальности например, раскрывается полностью.
Вы отсылаете к ИТС и 1С. Во-первых это ресурсы закрытые, а во-вторых это большой массив информации, там можно в трех соснах заблудиться.
Считайте мою статью аннотацией к этим материалам, картой к учебной курве.
Но опять же, если вы считаете что моя статья — это не новое слово, дайте ссылку на статью с подобной аннотацией, где разжевывается для новичков про УФ. «Под капотом УФ» я читал, это не про то. Итак, жду ссылки, или критику считаю необоснованной.
(13)
Это не ИТС!
(14) не понял комментария.
(15)
Ссылка что я привёл это не ИТС. И к ней свободный доступ.
(4) Diversus, это нюансы реализации. Сам трехзвенный клиент-серверный подход в общем-то понятен
(12) замечательно, замечательно. И как программист, интересующийся УФ должен найти эту статью? Методом тотального чтения сайта 1С? еще раз — моя статья — краткая аннотация по теме новых гитек управляемого интерфейса. Более глубокое понимание можно получить в том числе и по вашей ссылке. Я описываю кратко и ёмко.
Вообще, конечно, странно, что критикуя одну «дневничковую» запись, вы отсылаете к другой «Дневничковой» записи, на этот раз Нуралиева. Причем критикуя аннотацию по всей теме управляемого интерефейса, вы даете ссылку на запись с частным случаем. Где логика?
Да, возможно с вашей точки зрения 1с-ник должен штудировать блог Нуралиева, но я предлагаю ему съэкономить время и получить основные понятия из моей статью. Как то так.
(18)
А как он должен найти вашу статью?
Я же как то нашёл. И не я один.
Я не критиковал вашу статью. Вы просили дать вам ссылку на более подробное описание. Я её вам дал. По остальным частным случаям то же есть ссылки.
Это ваши домыслы что должен делать 1Сник, а что нет… Но читать блог хорошее дело.
А fixin и Гений1С это один и тот же человек или нет?
(20) Evil Beaver, вроде как да…
Для тех кто не боится большого количества букс, по большому счету, есть книги корифеев — Коротко о главном. Новые возможности версии.
Но мы в свободной стране, а любая статья это в любом случае труд автора.
Было бы гораздо интереснее понять тенденцию развития интерфейса 1С, на мой взгляд.
Плюсов бы точно было больше.
Опять же на мой взгляд это попытка догнать HTML5 и в некотором роде гонка за собственным хвостом.
Т.е. в обозримом будущем вернется возможность создавать привязки, push уведомления со стороны сервера и т.п.
(20) Evil Beaver, он самый.
Не хочу переходить на личности, но со времён мисты мало что изменилось… И дело даже не в уровне и подробности, не в раскрытии. Дело в подаче. Я, аз грешен, копался в различии между модальностью и синхронностью применительно к 1С, аки тупой кодер, и тоже не особо много понял; но презентовал иначе… И когда потом мне, кроме, в общем, понятных наездов, накидали полезного, я не спорил, а благодарил.
(22) А вроде бы push от сервера уж обещали:http://v8.1c.ru/o7/201502push/index.htm
Подскажите а после перехода с 7.7 на 8 еще долго полыхало у людей кто помнит?
(18) >> странно, что критикуя одну «дневничковую» запись, вы отсылаете к другой «Дневничковой» записи, на этот раз Нуралиева
fixin, сравнил… Кто Нуралиев и кто ты… 🙂
(23) Yashazz, немного не то, это для мобильной платформы
(19) я предоставляю возможность выбора — хотите читайте блог Нуралиева, хотите читайте мою сжатую аналитику. Выбор — это хорошо.
(20) да Фиксин = Гений1с
(23) могу позволить себе поспорить, чай не Чайник 1С.
(24) ХЗ, я сразу полюбил восьмерку за новые функции, особенно за SQL-подобный язык.
(25) кто? ггг…. Нуралиев написал подобную моей статью, где было бы кратко разжевано? Нет, он не пишет аналитику, он штампует посты в блог. Они технически подробные, но разрозненные. Наслаждайтесь тем, что я Вам даю. Сам мечтал о такой статье, когда знал только 81. Надо спасибо мне говорить, а не плеваться.
Да уж…
Получилось типичное, к сожалению, развитие дискуссии — не в сторону предметного обсуждения тех вещей, с которыми не согласен, а на уровне «А ты кто такой?».
Раскройте глаза! На Инфостарте море публикаций типа «Печатная форма NNNN для документа ДДДДД конфигурации КККК», которые интересны лишь автору плюс 1-2-5 человек, у кого все звезды сошлись. А дискуссионных, содержащих не только факты, но и суждения — кот наплакал.
Я прочитал (0), и не считаю, что зря потратил время. Спасибо.
(28) kapustinag, +1
Есть тут вполне определенный круг «эстетствующих …», которые думают, что статьи на сайте пишутся исключительно для них и если ИМ они не подошли — то статья не годная.
За статью спасибо. Сам вначале не понимал что такое УФ.
Как вызвать процедуру с модуля объекта?
Как получить макет текущего объекта?
и тд.
Но потом разобрался и сейчас программирую только на УФ. Недавно ковырялся в 7.7, так там даже с ftp на уровне платформы нельзя работать… Опять же, можно накодить и будет работать через cmd но…
Вообщем еще раз спасибо.
(6) tormozit, как ответили в (4), ждем 8.3.7. Посмотрим как они доработают этот функционал.
Подскажите, пожалуйста, это в каких ситуациях нужно использовать? Когда с клиента вызываем серверную процедуру?
Имеет смысл во всех серверных процедурах, в которых параметры не изменяются, проставлять «Знач»?
(23) Yashazz, ну тогда вопросов не имею))
Вот тут регистр букв перепутан. «Я» надо было писать с большой, а «вам» — с маленькой )))
Автору спасибо. Время потратил не зря, хоть и прошелся по верхам. В очередной раз убеждаюсь, что БСП даже сами преподы не сильно жалуют, что не может не огорчать. Основные мифы-боязни об УФ раскрыл. Но могу только добавить, что скорее всего, знания, которые автор получил на курсе, ему пригодятся весьма опосредованно, т.к. насколько я помню, он работает в фране, а в оном как правило сопровождают и дорабатывают типовые конфигурации, в которых логика работы с управляемыми формами как таковыми вынесена в отдельные модули, коих тьма. И для быстрой решения той или иной задачи, полезно знать что и откуда дергать из типового функционала, нежели городить свою городуху. Но основы знать конечно нужно. В любом случае — автору удачи, и самое главное — чтобы полученные знания не смылись в унитаз, а были использованы в практической работе.
Если при вызове сервера с клиента передавать параметры по значению, то получите выигрыш в производительности, равный времени передачи параметров с сервера на клиент. Но выдать какие-то рекомендации, связанные с тем, как передавать параметры в процедуры/функции весьма проблематично, т.к. это определяется логикой работы ВАШЕЙ конфигурации. Где-то нужно передавать параметры по ссылке, а где-то по значению. И до кучи, рекомендую прочитать немного путанную, но все таки официальную статью «Передача параметров по ссылке и по значению при вызове процедур и функций» на ИТС.
(31) NeviD, просто оставлю это здесь
Показать
(33) Новиков, мое ИМХО: при передаче с клиента на сервер объектные данные передаются как их копии (баз ЗНАЧ — в обе стороны, со ЗНАЧ — в одну).
«По ссылке» здесь не совсем применимо, если говорить об общепринятом смысле этого в C++/C#/Java/Delphi
(35) naf2000, это только ваше ИМХО, увы, не совсем верное, как оно в действительности происходит написано на ИТС. Название статьи уже дали.
Опоздал со статьей лет на 5
(37) лучше поздно, чем никогда. я например, только начал изучать УФ, думаю таких последних из могикан немало.
(31)(33) да, знач подразумевает, что значение не надо передавать обратно в клиента. Обычно ЗНАЧ не пишут из лени, какой то 0.0001% скорости это дает, а в некоторых случаях ЗНАЧ просто необходимо.
(32) не буквоедствуйте, не люблю.
Преподаватели УЦ1 говорят одно, сами 1С-ники говорят пишут другое (см.ссылку ). Если перейти по ссылке, то видно, что в теме «Зачем надо отказываться от модальности» пишут:
Другая проблема заключается в том, что мобильные браузеры вообще не поддерживают модальные окна.
В такой ситуации вариант работы интерфейса 1С:Предприятия без использования модальных окон снимает все перечисленные выше проблемы.
По вопросу асинхронности кода: допустим я открываю новую форму через ОткрытьФорму. Как выполняется код:
1. Команда ОткрытьФорму
2. ПриСозданииНаСервере и ПриОткрытии новой формы.
3. Дальше выполняется код написанный программистом после ОткрытьФорму. Причём если этот код «долгий» то с вновь открытой формой вы не сможете работать пока весь код не выполнится.
Т.е. другими словами код выполняется не параллельно, а последовательно. Т.е. как и раньше…
Простенький пример: создаём обработку с 2 формами. При нажатии на кнопку происходит открытие 2 формы:
Показать
Со второй формой вы будете работать только когда выполнится долго играющий код после команды ОткрытьФорму.
(39) это лажа, уважаемый. Потому что все окна типа ПоказатьВопрос вызываются с блокировкой интерфейса, т.е. браузеры тут не причем. 1с не отказалось от модальности, оно отказалось от заморозки выполнения кода, от цикла While () DoEvents Wend.
(40) так параллельности никто и не обещал, перечитайте, что изменилось в вопросах модальности.
Параллельно можно запустить через фоновые задания, в типовых так отчеты и запускаются, кстати.
(41)
Я то уже давно понял, что новые НеМодальные вызовы вполне себе могут работать модально. То что новые «не модальные» могут быть (или некоторые являются) модальными ясно видно даже из СП. Но у вас почему то такая логическая цепочка: раз 1с-ники не отказались от модальных окон, значит новые методы (ПоказатьВопрос, ПоказатьПредупреждение и т.д.) созданы не ради браузеров.
ссылка . Там написано те-же причины отказа от модальности и теми же словами, что я приводил ссылкой выше. Но далее написано:
Вот тогда вам ещё
Пользователю не нужно вносить изменения в стандартные настройки браузеров.
Т.е. написано прямо: новые методы модальны по сути своей, но мы их сделали ради браузеров.
По вопросу насколько модальные новые «не модальные» методы мы с вами солидарны, а вот по второй части спора «ради чего внедрили новые методы» я пожалуй с вами не соглашусь.
Получается во всех официальных источниках прямо написано, что новые методы сделаны ради браузеров, но вы почему то категорично утверждаете, что внедрение новых методов абсолютно никак не связано с браузерами…
(40), (42) — на тему модальности, асинхронности, как их путают и как 1С опять «по-своему» всё трактует — см. мою вышеупомянутуюhttp://infostart.ru/public/302910/ — особливо ради комментариев. Вкратце: мутят они что-то с терминами и реальными причинами всех этих нововведений.
(43) Yashazz, Полностью согласен, что термины 1С порой трактует по своему. Например:
Если мы делаем рефакторинг в 1С понимание кода явно усложняется…
Уже читал, не 100%, но по большой части согласен, лайкнул.
(43) ответил там:Основная цель не отказ от модальности и не прогиб под браузера, а полный переход на событийность, чтобы не замораживать обработчики событий
(45)
Чушь.
http://www.v8.1c.ru/o7/201301nm/
Отказ от модальности и асинхронность как раз из-за браузеров и реализовали.
Собственно, это явно и говорится в статье на зазеркалье
(27) Нет, ну вы посмотрите… благодетель нашелся.
Статейка, может, и хорошая, но только для чайников. Которые тоже для себя УФ только-только открыли, как и автор.
Из всего прочитанного, дискуссия в комментариях больше увлекла чем статья. Наверное, потому что как уже сказали со статьей опоздали лет на 5…
(46) мне препод лично говорил, что про браузер — это сказки. Да это и так понятно.
Браузеры не позволяют программно открывать новые окна, только по ПКМ мыши — открыть в новом окне.
так что функционал 1С в любом случае без настройки браузеров пахать не будет.
Цель именно в прямом реагировании на события, чтобы не замораживать выполнение кода, следовательно ТК будет более просто реализовать, в том числе и в браузерах — полный переход на событийную модель. ОК?
(47) я сам чайник и пишу для чайников и за это чайники мне благодарны.
(48) ну что поделать, если УФ я изучаю только сейчас. А вот модальность появилась не так давно, вроде не 5 лет назад, да и Такси тоже новодел.
и статья и комментарии демонстрируют что 1с уходит от программирования в настройки и галки.
скоро никто не сможет за разумное время разбираться в коде типовых конфигураций.
Останутся только обновленцы и консультанты,
программистов 1с не будет.
(50) не типовыми едиными жив мир 1С. 😉
я же писал, например, что RLS на модификацию — это бред, не знаю, может его и юзают в типовых, но проще наложить свою систему ролей поверх типовых.
Так и функциональные опции — может они кому и пригодятся, но проще их не юзать и использовать свои функции.
Но вообще то да, код типовых становится все страшнее, запросы все монструознее. 😉 Но это не грех платформы, а грех типовописателей.
(49)
Кому и что понятно? О_о
Судя по вашему ответу, вам это как раз не понятно =)
Я конечно рад за вашего препода. А аргументировать он не пытался?
так что функционал 1С в любом случае без настройки браузеров пахать не будет.
При чем тут настройка браузеров?
Может кто не в курсе, но последние версии Хрома не поддерживают модальность. Фаерфокс тоже имеет аналогичные планы.
Из-за отказа части браузеров от модальности в платформе реализовали эти навороты — отказ от модальности и асинхронность.
Цель — чтоб веб-клиент работал.
В тонком/толстом клиенте все работает и без асинхронности и с модальными окнами. Причем реализация этого на много проще, чем заморочки с асинхронностью. Была 1 процедура в которой задали вопрос пользователю, получили ответ и закончили процедуру, а стало минимум 2 — в одной задали вопрос, а во второй обработали ответ.
(52)
если ход выполнения замораживается, то ТК (браузер) реализуется сложнее, чем полностью событийная модель. Вот аргумент.
Модальность — это логика не браузера, а логика приложения, т.е. модальность реализует приложения, блокируя кнопки, пока не закрыто окно. В последних версиях 1С новое модальное окно отрисовывается не в новом окне браузера, а в текущем окне браузера.
Еще раз докажу методом от противного — если прогибаться под браузер, то нужно отказываться от программного открытия новых окон, и работать в SDI, т.е. строго в одном окне. Потому что любое открытие нового окна в новой странице будет расцениваться как всплывающее окно. И при чем тут модальность?
(53)
Просьба пояснить, что вы этим хотите сказать.
И?
Не уловил, где доказательство?
Естественно, что особенности работы веб-клиента накладывают ограничения. И если требуется, чтобы конфигурация работала в веб-клиенте, то при разработке надо это учитывать.
Повторю еще раз, в Хроме отказались от модальности. Хотите убедиться, запустите какую-нибудь конфигурацию годовой давности на управляемых формах на Платформе 8.2.19 в Хроме. Работать нормально не будет (вообще никак не будет), где будут модальные вызовы.
В 8.3.5 реализовали возможность «отказ от модальности» и «асинхронность», чтобы можно было разработать конфигурацию, которая бы работала любом веб-клиенте. Вот собственно и все. О чем тут спорить и зачем искать тайные мотивы этого механизма, я честно говоря не понимаю.
(54) а что не понятного.
В браузере происходит обработка событий. А обычная модальность от 1с подразумевает цикл while … doevents wend.
Это реализовать сложнее чем полностью реагирование на события.
Нуралиев пишет о запрете на открытия новых окон. Без новых окон приложение превращается в SDI, но 1С в браузере не работает как SDI, поэтому чхать оно хотело на открытие новых окон.
А вы потрудитесь разобраться, почему Хром не работает в режиме модальности, например.
Сколько помню fixin, всегда был противником УФ и думалось что так и дальше будет.. Но что-то изменилось, и я рад что ты нашел много интересного и полезного в УФ, «познал дзен» так сказать. Лично мне больше всего нравится в УФ, так это раздельная модель управления, за «поехать» сервер отвечает, а за «шашечки» клиент. Что прежде всего убило начисто узкое место в Толстом клиенте, когда нужен был для него или комп по мощней, сеть по толще или вообще работать через сервер терминалов. А УФ можно запускать даже на калькуляторе (я конечно же утрирую, но всё-же).
Единственно что меня несколько печалит в последних версиях 1С, что у конфигуратора очень сильно течет память, отжирать 1,5 гига памяти, это уж чересчур.
За статью кстати спасибо, весьма интересная, хорошее изложение!
Удачи!
(56) markers, У меня в + к «поехали» за «шашечками» это еще и:
— редактирование интерфейса под себя (рабочий стол, реквизиты на форме: видимость и расположение).
— при изменении видимости элементов, другие элементы сдвигаются, и визуально не скажешь что реквизит закрыт правами (идея я думаю понятна).
(57) по сдвиг при изменении видимости ок, про настройку «под себя» иногда это бывает головной болью, но, к счастью, отключается. Все же чаще у пользователей форма должна быть однообразной и штатной, без персональных извращений (настроек).
Очень интересно знать, что автор поменял свое мнение об УФ. Как я понял, главная причина – курсы, а остальное как-то размыто.
Сама идея УФ прогрессивна и ее появление обусловлена требованиями времени.
Возможно УФ могут улучшить быстродействие системы при наличии сервера 1С, но большая часть пользователей работает в файловом режиме и в данном случае кроме «красоты» ни какой пользы !!!
В свое время практические все писал на упр формах. Перешел в компанию где конфигурация работает в толстом клиенте обычного приложения. Поначалу создавал формы списка на упр формах. Но со временем заменил их на старые добрые обычные формы, так как динамические списки тормозили жутко даже на маленьких объемах. Также, если в форме документа присутствует дерево значений, открытие этой формы занимает больше времени чем такая же обычная форма. Упр формы помогли когда пришлось некоторые вещи вынести в веб интерфейс. Но это уже другая история. Вывод не всегда упр формы это хорошо, и пока на старых конфигурациях без обычных форм не обойтись.
(55) а не пытаетесь ли вы в этом вопросе побыть святее Папы Римского? 😉 Завтра в браузерах снова появится модальность и 1С с удовольствием туда нырнет, а у Вас затруднительное положение образуется…
Я бы с большим удовольствием принял бы Вашу точку зрения, но с этим переходом заметил что в логике программирования даже код мат-части не всегда то в типовых выделен в отдельное закрытое ядро, что в общем то показывает разницу между уровнем систематизации разработчиков и уровнем, к примеру, Вашей собственной систематизации. 1С, к сожалению, не реализует наши мечты, оно решает свои собственные проблемы как умеет, еще раз к сожалению.
(58)
1. Вот взять к примеру Итилиум. У обычного «смертного» там есть больше десятка реквизитов, которые закрыты или не используются и никогда не будут использоваться. В связи с этим форма ОЧЕНЬ и ОЧЕНЬ нагроможденная. Для себя, я больше половины реквизитов удалил. Туда же и половина страниц. Теперь у меня там только то что нужно.
2 Я часто вывожу рядом с реквизитами типа Контрагент, Номенклатура их доп поля (Код, ЕДРПОУ и тд). А это существенно облегчает жизнь 😉
Поэтому с этим утверждением согласен 50/50.
(62) речь не о продвинутых пользователях, а о типовых.
(28) kapustinag,
А вы, батенька, за всех-то не судите. Инфостарт — он не только для разработчиков, админов и программеров. Эти самые «печатные формы» — существенная часть рынка для бухов, менеджеров, простых юзверей. Им это позарез надо. И я вас уверяю, там далеко не 1-2-5 человек бывает. Просто по плюсам это видно не всегда — лично знаю многих, кто качал и не плюсил.
Вам бы, вместо того, чтоб походя обгадить эти рядовые публикации, сказать им спасибо, они повышают популярность и прибыль ресурса в кругах заказчиков, не то что пустопорожний «дискуссионный» трёп. И сказать спасибо их авторам, которые, практически не имея рейтинга, продолжают трудиться и публиковаться.
Данная статья практически не содержит полезных фактов. Новичку по ней не научиться (максимум — составить общее впечатление, но это лучше на сайте 1С делать), для профи она бесполезна. Если есть желание пофлеймить в духе «авотчоуменябыло», так есть форум, но уж всяко не стоит, имхо, позиционировать это как «статью», да ещё и не в Life.
fixin, вы постоянно путаете теплое с мягким.
блокировка кнопочек/окон/чего бы то не было — это не модальность, это блокировка интерфейса.
модальность — это именно остановка выполнения кода из-за ожидания ответа пользователя при интерактивной работе — вопрос, предупреждение и прочее.
ПоказатьВопрос, НачатьПомещениеФайла и прочие асинхронные процедуры НЕ модальные, т.к. их вызов не останавливает выполнение процедуры, а просто открывает окно, которое при необходимости блокирует интерфейс.
Вопрос и ПоместитьФайл же модальные, потому что помимо блокировки интерфейса так же останавливается код.
(64) что опять? это я про «не содержит полезных фактов», гыгыгы… вроде уже комментаторы выше такие факты нашли. А насчет собственных настроек считаю что их делают тогда, когда у программы затыки с функциональностью и юзверям приходится преодолевать самостоятельно.
Вот у меня знакомый менеджер сделал через групповую обработку документов групповую выписку и проведение с печатью пачек документов. Так это потому, что такой функционал не был заложен в решении, иначе бы стал он напрягаться? то же и с формами. Когда разработчики не додумывают, что нужно пользователю, он расчехляет «ручки».
(65) я не путаю. я как раз и говорю о разнице между модальными окнами и остановкой кода. как то так.
Я бы вообще это статьей не назвал, — этому место в блоге.
(67) не вы такой один, но я уже писал, что за такую статью бы пивом бы проставился, если бы ее кто написал. Как говорится, найдите статью лучше на тему краткой аннотации по управляемому интерфейсу, потом ворчите.
Под капотом УФ — это про УФ, а про сам интерфейс где? Сколько раз я спрашивал, чем отличается Такси от 82, что такое модальность — никто не отвечал, отправляли искать в горе документации. А тут все разжевано, только кушайте.
(10)http://its.1c.ru/db/metod8dev#browse:13:-1:1989:2004:2006
(69)(70) вы бы еще ЖКК предложили. Разницу между аннотацией и документацией осознаете?
(34) все немного не так )
//КомандаНаСервере
Количество = 0
Количество = 0
Количество = 1
Количество = 1
//КомандаНаКлиенте
Количество = 0
Количество = 0
Количество = 0
Количество = 1
и читаем до полного просветления…
для случая «КомандаНаКлиенте»
http://its.1c.ru/db/metod8dev#content:2606:hdoc:_top:%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0%20%D0%BF%D0 %BE%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5%20%D0%B7%D0%BD%D0 %B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8E
http://its.1c.ru/db/v83doc#bookmark:dev:TI000000152
для случая «КомандаНаСервере»
http://its.1c.ru/db/v83doc#bookmark:dev:TI000000153
Учить матчасть!
,
Каким образом это связано с производительностью?
Поле ввода в динамическом списке нельзя сделать ни в каких случаях!
В режиме 7.7 их тоже ничто не мешает использовать.
Похоже что не очень
В общем то не стоит подавать материал, в котором еще сами то толком не разобрались в такой утвердительной форме.
Ну так вперед в 1С и покажите как надо, а то мужики то не знают)
(73) в чем я не разобрался, я не пишу в утвердительном тоне.
(74) В 1С мало платят, я туда как-то ходил на собеседование(в отдел УТ)
(75) как минимум в (73) есть список чему стоит уделить внимание.
А сколько это мало для Вас? Сколько нормально?
(75) в любой фирме оплата зависит от квалификации.
Если вы только сейчас познакомились с управляемыми формами, многих тыщ однозначно не стоит ожидать.
Судя потому, что мелкомягкие в Win 10 возвращают кнопку Пуск, как это было в Win7, 1С должна будет понять что УФ нужны 5% пользователей и развивать эту ветвь интерфейса надо в интернет-ориентированных конфигурациях, а не в БП или УТ, которые в 90% случаев работают в рамках локальной сети.
(77) с чего бы это? Не переоценивайте значимость УФ, многие работают еще на обычных формах, а УФ не так сложны, как кажутся.
(78) ага, как бы не так. УФ по-своему вкусы. Вот даже в 8.1 иногда нужно было разделять код для сервера и клиента и ничего, справлялись же. Тут то же самое, ничего сложного, в принципе для опытного 1сника.
(79)
А кто с этим спорит.
Вот только в 1С почти все типовые конфигурации на управляемых, в том числе УТ. Поэтому тут вы недооцениваете значимость управляемых форм.
(77) Sashares,
Вы забыли написать «в любой нормальной» фирме… Есть руководители, которые принципиально будут ставить з/п администратору и программисту на уровне уборщицы, аргументируя «А что он мне разве прибыль приносит?». Ну и идут в такие фирмы либо новички подучиться или от безысходности (в маленьких городах не всегда есть выбор), или соответствующего уровня «программисты».
По поводу зарплаты в 1С слышал от бывшего коллеги, что у него подруга туда пошла. Говорит подруга как программист очень даже высокого уровня. Устроилась в 1С на маленькую з/п думала, что её оценят и после испытательного поднимут. Во-первых ей не понравилось как всё организовано (точнее не организованно) в её отделе, во-вторых когда она попросила побольше з/п ей прямо сказали: «ТЫ РАБОТАЕШЬ В 1С!!! Мы даём маленькую зарплату, потому что тебя после такой записи в трудовой куда угодно возьмут.»
(81) klinval,
Ну это само собой =)
Сейчас вакансий Программист 1С очень много, поэтому если квалифицированному специалисту ставят зарплату уборщицы, то всегда можно найти другую фирму. Но конечно в жизни всякое бывает.
Спорить не буду, возможно бывает и такое.
ИМХО, в 1С как минимум будет интересно работать, т.к. все новое (касательно 1С) появляется в первую очередь там =)
А руководители разные бывают…
Вдруг кому интересноhttp://1c.ru/rus/firm1c/vacan/index.jsp =)
«В свое время я доказал, что RLS на изменение уступает программному контролю записи на уровне модуля объекта/подписки. »
Интересно почитать ваши доказательства. Можете дать ссылку?
(83) ссылки не нашел, но логика такая, что при изменении что запрос RLS что алгоритм работают с одним объектом. Запрос — ограниченный механизм, алгоритм — универсальный механизм. Поэтому преимущества в использовании RLS на изменение нет.
А вот RLS на чтение работают с таблицами, там альтернативы нет.
(80) я сталкиваюсь с УФ в УТ11 и БП30, почему-то проблем с пониманием конфигураций и их логики после работы с УТ10 и БП2 не испытываю. Это вы переоцениваете сложность изучения УФ для профессионала.
(85) речь не о сложности изучения УФ, я такого не говорил. Хотя вы недооцениваете различия))
Речь о важности знания УФ, клиент-серверного взаимодействия, возможности разработки для тонкого и веб-клиента и всего остального, что с этим связано.
То есть это достаточно большая область знаний.
Если после изучения всего этого и некоторой практики, вы еще раз сходите на собеседование в 1С, ИМХО, предложенная оплата будет выше, чем раньше.
Спасибо за статью, всё подробно написано!
(86) да ладно? гггг….. зарплата зависит немного от других факторов. Прокачать УФ можно и за 2 недели, пока перенимаешь дела. Для спеца по 81 это не сложно.
Большое спасибо за интересную статью. Будет очень полезна для начинающих. А что за курс был УЦ 1?
(89) «разработка управляемого интерфейса, интерфейс такси». будет повторяться еще. а также у них есть хороший клиент-серверное программирование этого же препода.
Автору плюс, интересно и познавательно для новичков. Было интересно освежить для чего их создавали.
Плюсующим, есть бесплатные курсы по обычным и управляемым формам,курсы , там гораздо больше описывается про нюансы. А если не хватит, то еще посмотрите «быстрый старт в профессию», тоже вроде был бесплатным. В общем, если вы не «большинство», как пишет автор статьи, то все поймете.
(84) идея понятна, но все же сомнительна. Алгоритм придется присобачивать везде, где нужны ограничения (например, во всяких рабочих местах и АРМах). А для РЛС достаточно будет поставить слово «РАЗРЕШЕННЫЕ»
(94) идею вы не поняли, коллега. Как раз разрешенные — это для RLS на чтение.
А вот RLS на изменение реализуется более универсально в подписке на события изменения — не только на языке запросов, но и полноценно, на алгоритмическом языке. Еще раз вникните в мое описание.
(38)
В каких?
(4) Diversus,
Как я и предрекал, 1С верна себе, и УФ скоро пойдет на помойку.
Новый МРЭ — наверняка будет абсолютно несовместим со «старыми» УФ 8.2-8.3 как в конфигурации, так и по платформе.
(23) Yashazz,
А при чем тут модальность и ассинхронность? Модальность просто запретили, а ассинхронность — не реализовали вовсе, потому что «теперь вместо модальных окон просто используйте отдельную функцию БЕЗ ФУНКЦИОНАЛЬНОГО КОДА» — это не ассинхронность, даже не подделка, а неуклюжая попытка сделать хорошую мину при отказе от модальности.
(95)
Это каким таким образом RLS вдруг стал в алгоритмическом коде реализовываться?
(0)
Рекомендую все-таки разобраться с вопросом в комментах кПо ссылке или по значению? Ключевое слово Знач и с чем его едят (т.к. статья совершенно неверно освещает данный вопрос).
(33) Новиков,
И получите «дулю» от 1С при передаче еённых псевдообъектов. Потому что не знаете, что реально происходит у 1С в этом случае.
Тоже разберитесь сначала с данным вопросом, все есть по ссылке в комментариях. 1С вообще не освещает конкрентику с передачей/присваиванием собственных псевдообектов.
Почему? Как я обычно отвечаю на данный вопрос — либо не знает сама, как у неё все работает на уровне платформы, либо не понимает и не видит всей картины в целом.
(97) RLS на изменение легко заменяется подпиской на изменение. Что я сказал не так?
(98) статья не для вас писана, а для новичков.
(99)
А вот и нет. На регистры — подписки только на получение формы.
RLS — ну никак не заменяется подписками.
(100) что курим, Алекс? Изучите картинку, плиз.
Еще раз для военных — RLS на изменение бесполезно, оно более качественно заменяются подписками на событие.
RLS на чтение алтернативы нет.
(19) TODD22,
Я же как то нашёл. И не я один.
Поиск на ИТС просто никакой.