<?php // Полная загрузка сервисных книжек, создан 2025-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='\
Это не программа — это статья. И она не для руководства к действию ,
а как концетраптив
(средство для предотвращения нежелательной головной боли).
Как говорится — «Кто предупрежден — тот вооружен»
Перейти к публикации
Спасибо! В принципе все правильно, спасение утопающих, дело рук самих утопающих! Кто предупрежден, тот вооружен!
Мощный код 🙂
…
Если КаталогНаДиске.Существует() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
…
Находка для говнокод.ру
(2) Спасибо большое , за зоркость и внимательность
Сразу видно — человек читает что ему пишут и видел код
а про что код мощный ( я сделал акцент в теме статьи)
А теперь держись за свой животик. Готов ?
Выдели в конфигураторе Существует и нажми F1
знаешь, что откроется ? правильно синтакс-помощник по встроенному языку 1С 8.*
цитирую дословно:
Существует (Exist)
Синтаксис:
Существует()
Возвращаемое значение:
Тип: Булево. Истина — файл существует; Ложь — в противном случае.
Описание:
Определяет, существует ли файл, соответствующий данному объекту.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
Пример:
Функция ПроверитьСуществованиеКаталога(ИмяКаталога) Экспорт
КаталогНаДиске = Новый Файл(ИмяКаталога);
Если КаталогНаДиске.Существует() Тогда
Возврат Истина;
Иначе
Ответ = Вопрос(«Каталог не существует. Создать?»,
РежимДиалогаВопрос.ОКОтмена);
Если Ответ = КодВозвратаДиалога.ОК Тогда
СоздатьКаталог(ИмяКаталога);
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецФункции
Показать
так что ты понял кого послать на …. 😀 😀 😀
(3) Ваш сарказм абсолютно не уместен.
Вот ведь как бывает, человеку указывают на ошибку, а он вместо того что бы её осознать и поправить, какую-то ересь нести начинает …
По существу:
Приведенный пример из конфигуратора полностью корректен, чего не скажешь про Ваш кусок «кода».
Конструкция вида:
Если ЛогискоеВыражение Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Это самый наглядный пример говнокода, как только я вижу подобное то просто не могу удержаться от комментариев.
Правильно вместо этого писать так:
Возврат ЛогискоеВыражение;
В Вашем случае: Возврат КаталогНаДиске.Существует()
(4)
это не ошибка ;), а тест на внимательность. Такие есть при приеме на работу в некоторые конторы.
(4)Где ты видел сарказм ❓
или статья называется «Как правильно и красиво писать код»
или ты хочешь сказать , что я плохой писатель 😀 😀 😀
я специально в шапке написал
он от этого не перестал работать (не быстрее ни медленнее)
но легче для восприятия тех кому и посвящена статья (кто только переходит с 7 на 8, чтобы не напоролись зря)
такие как ты профессионалы — уже все и так знают. учить — только портить.
Ставлю рубль за сто — что не служил и не женат.
(6)
Не угадал, с тебя должок 😉
(7) Ну тогда я рад что ошибся, все решаемо 😉
Могучая статья.
Много слов :»троянский конь»,»яичница»,»покиньте статью», …
Много цветов.
Много ссылок.
А суть простая. В макете можно сохранить что угодно. Вы ж там смотрите !
Это все ?
(9) аналогично Ватсон….пробегал мельком статью, и смысла честно не понял, в макете можно любые двоичные данные в том числе записывать…все сводится к тому, что надо опасатся троянов
(10) а пацаны то не знают 😉
(11) а про макросы пацаны знают? 😉
(12) и про них тоже 😥
(9) Самое главное предупредить
а как …уже второе дело.
Потом когда у кого нибудь, что нибудь «не взлетит»
можно всегда ссылку дать «Мол, извиняйте мы вас предупреждали»
А еще , еще — есть такой психологический прием
Показывает одно «плохое» громко орешь
Много цветов.
Много ссылок.
короче отвлекаешь, от главного
а вот что главное — это пока секретик фирмы 😉
(12,13) в том то и дело , что не знают, а кто знал то забывает
какая заметельная команда Kill
Помню писал стелса, помню много чего писал
интересный ход был «приходит» тебе документ , открываешь
а там «Уважаемый, Ивонов»
все хорошо, но ты то грамотный человек
и заменяешь на Иванов, сохраняешь и все… 😎
механизм включен.
(14) Какой уж тут секретик ?
Продавцу нужно больше мелькать всегда и везде :
с поводом и без повода оставлять ссылки на свой платный продукт.
Практика обычная.
Понимаю и не осуждаю. Каждый толкается по жизни как может.
(15) не разочаровывай меня. Реклама МАГАЗьКА 😀 — это не секретик, это пример (Второй компонент «РАЗДРАЖИТЕЛЬ«)
он тоже отвлекает от главного
главный закон бизнеса — чтобы ТЫ не делал — привлекай внимание …
Tatitutu — владеет этим закон бизнеса в совершенстве …
главный закон действия — чтобы КТО не сделал — делай это себе в помощь …
Tatitutu — владеет этим закон действия в совершенстве …
… опять придётся у него учиться …
… вотТАКtatitutuТАКвот …
То ЧТО и КаК делает Tatitutu многим кодерам — «оптимизаторам» и не снилось.
(18) может просвятишь 😉 ?
(19) Все его разработки выложены, и здесь в том числе, все идеи ЕГО, «оптимизаторы» допиливают чужие.
Блин, развели бодягу… Макросы-фуякосы…
Куча народа юзает тот же Miracle, откуда вам знать, что я туда напихал? 😀
Хрен там, а не макет.
(21) декомпиляторы…декомпиляторы. Тем более, что написано на Дельфи
(22) А что ты туда напихал ?
хочешь напишу троянчика, для твоего Miracle (чтобы он выглядил крайним)
в VBA есть инетересная функция (можно дразнить антивирус со ссылкой на объект)
то есть даешь команду «ФАС» на простой блокнот…
и антивирь кричит ❗ ❗ ❗ ❗ ❗ Блокнот заражен и в карантин его
(22) Давай ради интереса кину тебе особую версию, посмотрим, что надекомпилишь, особенно если я там в асме сделаю
(22) 😮
(22) на дельфах как раз с этим слава богу
(23) Зачем?
(21) потому я не юзаю
(20) все идеи хороши, выбирай на вкус 😉
(26) ОФФ. Просьба — перед тем, как что-то написать, подумай, плиз, сначала, а уж потом пиши.
Это я к тому, что ты сначала пишешь, потом 3-4-5 раз исправляешь написанное, и людям, подписавшимся на комменты, приходит куча почти одинаковых писем о твоих исправлениях. В итоге твои исправления идут как спам.
Реально напрягает 🙁
(27) Ага, ты и выбираешь 🙂
(29) я правда несколько из других соображений выбираю 😉
(28) приму к сведению, но…во-первых я исправляю, когда отвечаю многим и дабы не плодить комменты(так, что в любом случае будут приходить по 3-4 раза), во-вторых такая возможность имеется и нигде не запрещена, так, что урегулируйте…
(30) А недругие — это какие?
(23)
в VBA есть инетересная функция (можно дразнить антивирус со ссылкой на объект)
Пионерская Зорька в одном месте еще не отыграла? 😀
И это хорошо! 😉
(32) не могу знать какие это недругие, у меня просто есть желание и время изучить что-то новое для себя, получить больше опыта в разработке на управляемом приложении. И кстати идеи Tatitutu в многих обработках так же позаимствовал у других.
(34) Ну да, ну да, а пока как я вижу, что ты собираешь плюсы за переделку его работ (3 насчитала), и при этом рассуждаешь об неоригинальности идей 😀 😀 😀
+(35) И вотТУТ ты обещал не
пи*брать и перелицовывать обработки у Tatitutu на новую платформу, но вот продолжаешьА позоруху-то убери все-таки с главной страницы 😉
Если КаталогНаДиске.Существует() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
оно ж получилось:
Если Истина Тогда
Возврат Истина;….
😀
да, тем более что в (6) автор не прав
он от этого не перестал работать (не быстрее ни медленнее)
конечно, медленнее 😀
А для семерочников спецом тогда тоже можно написать 😀 😀 😀
Если ФС.СуществуетФайл()=1 Тогда
Возврат 1;
Иначе
Воврат 0;
КонецЕсли;
(39) Не был ты настоящим семерочником 🙁
Возврат 65535;
(40)
Настоящие семерочники про max integer знают? офуеть 😀
(39) почему так просто? 😀
Все это напоминает
(41) Это Ложь существует повсеместно, а выяснение того, где в семерке Истина — уже нетривиально…
(45) для того чтобы Сообщить
(45) Вот у тебя мешанина! 🙁
1. Попробуй в табло напиши «Не Неопределено».
2. Соответственно для Неопределено эта ветка «Если Не Файл.Существует() Тогда» никогда не сработает, а будет выдано исключение.
3. После уяснения 1 и 2 изучаем (46)
Сообщить(«Файл не существует!»);
Возврат Ложь;
КонецЕсли;
Если хоть капельку быть не одноэснегом, то легко сообразить, что условие стоит для Сообщить (ну хочется им тут сообщить)
А если теперь возвращать ВыбФайл.Существует(), то придется функцию второй раз вызывать, а это лишние милисекунды
(48) мне многие прогеры доказывали, что одинесник не программист…теперь и я начал сомневатся 😀
После (45)- опешил. Артур опередил в (47).
(50) а я задумался после всех этих булевых извращений про конечные автоматы на 1С
А я когда увидел анонс статьи, думал увидеть тут обсуждение, что это за зверь такой «концетраптив»? Человек слова новые придумывает, а вы к кодам придираетесь.
А ведь <контрацептив> чем не угодил?
(52) Господин налоговый мент развлекается… Ну и пусть, а мы ему немного сольцы 😀
Ну вообще да, глупость сморозила, не сам файл выбирается, а реквизит с типом булево. У меня было так, что при определенных условиях этот реквизит возвращал неопределено, пришлось в код воткнуть такую дописку
ЗагруженоИзЭкселя — флажок.
+ (54)
Это ЗУП, в документе возможны два варианта — часы загруженные из екселевского файла или взять из строки движений, причем строки движений (промежуточные) могут возникнуть только после записи документа, то есть флаг уже прочитан, но хз что о
P.S. И вообще счеты посвящены МНЕ, руки прочь от них! smile:)
1. Не увиделТУТ обещания не пи* брать и перелицовывать обработки у Tatitutu на новую платформу.
2. В этой ветке не рассуждаю о заимствовании идей, а константирую 😉 факт.
3. Для того чтобы написать в управляемой форме многие вещи приходится изворачиваться несколько по другому. Вот это может тоже доставлять удовольствие. А взять за основу разработку того же Tatitutu никому не запрещено.
P.S. Извини, если чем-то задел твои чувства.
(56) 1. Ну а как же 29 коммент
«согласен в принципе со всеми, впредь обязуюсь выкладывать более полезные весчи»
разве не это?
2. Это констатация в свете сказанного — «от лукавого».
3. Да нет, ничего не задел 🙂
(57)
1. не вижу здесь обещания не пи* брать и перелицовывать обоработки.
2. более полезные весчи выкладывал и продолжаю выкладывать.
3. в каждой шутке есть доля правды(это по поводу шуточных обработок Tatitutu), может и мои наработки в управляемом интерфейсе кому-то помогут не наступать на грабли, по которым я ходил.
(58) 1. Если смотреть буквально, то таких слов нет, но там тебя за что «гнобили»? Если коротко, то делай свое.
2. Выкладывай, конечно, но со своими идеями.
3. Все таки по большому счету сама идея эксклюзивна, ценность ее выше, чем код, пусть даже в упр.формах.
(59)
Фигня. На этом сайте, сейчас, выше всего ценность обработочки, которая у обычных юзверей, сисадминов снимает головняки.
Став аутсорсером, очень частенько качаю, например, ВПФ, минимальная доточка и клиент счастлив уже через час!
А идей и у самого хватает. Так что, народ, пишите правила переноса, внешние печатки и прочую шнягу — честное слово, пригодится 😉
/и без иронии!/
(60) «Став аутсорсером, очень частенько качаю, например, ВПФ, минимальная доточка и клиент счастлив уже через час!»
«Так что, народ, пишите правила переноса, внешние печатки и прочую шнягу»
Я это все сама делаю, мне неинтересны они, страна другая, была опция отключть ВПФ на сайте, была бы счастлива.
Нет ничего более унылого для многих эти ВПФ. Когда появляются разработки автора данноой статьи — как луч в темном царстве.
Ой-ой… У меня-то мозгов, слава Богу, хватает всякие прибамбасы делать, да к тому же не на (непечатные слова) 1С.
А отсюда мне теперь надо одно — не заниматься рисованием табличек.
А то, что мы делаем в 1С — настолько разнообразно и достаточно уникально, что один хрен никакой сайт не поможет.
А балдеть над тем, какой умный Татитуту (действительно умный!) — это не для меня.
P.S. Мне сегодня доказывали, что 8х нельзя одновременно выделить и редактируемую строку целиком и отдельно активную ячейку этой стоки в ТЧ документа.
(разными цветами, разумеется)
Не поверил… Через полчаса и они уже не верили. И таких примочек только за день рождается несколько штук. И что? Публиковать что ли?
Кстати, забавно… Код, который на ура отработал в 8.2 вдруг забуксовал в 8.1, пока еще одну строчку не дописал
(62) А кто предлагает тебе балдеть? Как ты сам когда то выразился — не нравится, проходи мимо, что я методично делаю со многими разработками. Есть люди которых радует, да и сам сайт от этого только выигрывает, все лучше, чем срачи мани и поручика читать. СВЕТЛЕЕ.
(54) Лаконичнее и понятнее :
И тогда при любом небулевом значении ЗагруженоИзЭкселя = (NULL, НеОпределено, Число, СправочникСсылка..)
корректно сработает наше условие.
(63) А тебе не кажется странным, что твои плюсы появляются через 30 секунд после опубликования их Татитуту?
Я в свое время Кушниру вставлял, чтобы не плюсовал мои сходу, даже не качавши и не читавши.
Лора, ты кому угодно мозги парить можешь, но только не мне!
+[65]
Тут тебя случайно как-то Fr1eNd_Tver обогнал 😮
progersan mamba30 Lara.Builova
Ish_2 gutentag Lara.Builova
Нравится тебе Татитуту, желаешь его вечно плюсовать — да на здоровье.
Только базу теоретическую под это не подводи! Хотя бы при мне…
(64) Ох какой докапистый 🙂
Сейчас приведу целиком, как было:
Где ИсходныеДанные — результат огромного запроса и оттуда через точку этот реквизит оно видело … у меня дома, а у них ложь не видело, пришлось сделать переменную (мне так короче через отладчик вытащить было, поэтому такое дурацкое условие), я не поняла почему, прописала вот так и плюнула. У меня дома ни разу не вернула неопределено.
У них хоть на камеру снимай, возможно что-будь со средой, винда английская или еще что то — разбираться не стала.
(65) да мне плевать кто что думает, плюсую и буду плюсовать, разработки у него классные. На мой вкус. Необычные и веселые — ШУТКИ. А простыни сложнейшего кода в УПП, УТП, ЗУПах всяких — это работа, мне отсюда кроме обработок по правам в RLS больше не особенно что то нужно. Татитуту — это отдых и отвлечение от работы, Подвигает думать искать что то новое, макросы ваши эти 🙂
(69)
Все правильно тебе нравятся шутки, другим само решение на 1С, еще кому-то хочется написать тоже самое но по другому, еще кому-то вообще перевернуть с ног на голову. Так что каждому свое. И самое главное не надо учить жить, сами мы с усами. Ценность выкладываемых здесь обработок как в идеях витающих в коллективном разуме, так и в самом коде обработок и программ, причем многие берут за основу чью либо обработку/идею и выводят ее на совершенно новый уровень и это правильно. У кого-то идей к примеру море, а реализовывать например нет никакого желания. А у кого-то и наоборот может быть.
(59) Здесь, сам Татитуту:
Ну если Лучший подарок для бухгалтера — счёты 8.2 (со звуком)
переведешь на управляемые формы. То потом от МАГАЗьКА уже не отвертишся (естественно все будет оценено по заслугам)
Если заметила управляемая форма появилась после этого 😉
(70) мне нравится эксклюзив 🙂
(71) заметила, конечно, я внимательная иногда 😉
(64) И, кстати в твоем варианте «Если ЗагруженоИзЭкселя <> Истина Тогда» я бы написала «Если Не ЗагруженоИзЭкселя Тогда»
(73) Лариса , конфигуратор под Рукой ? Не спорьте , а проверьте.
Ваш вариант при ЗагруженоИзЭкселя = НеОпределено вызовет ошибку :
Мой вариант при Любом типе значения (Например ЗагруженоИзЭкселя = 1) отработатет корректно ;
(74)Ish_2, ты серьезно? Обсуждать кусок за@@@ченного кода?
Да, воистину одноэснеги… 😥
Нормальный проггер даже искать бы не стал чего оно там может возвратить, а написал бы
Загружено=@@йня;
Вызвали что-то, потом проверяем:
Если Загружено<>@@йня
(Если Загружено НЕ @@йня)
(74)(75)
Ситуация нештатная, почему программа не увидела флажок, записанный уже в форме через ИсходныеДанные.Регистратор.ЗагруженоИзЭкселя — то ли запрос огромный, а тут еще и реквизит «через точку» запрашивается, и времени не хватило, то ли платформа так отработала, я не знаю.
Обсуждать
явно не вижу смысла.
У себя дома все было сделано нормально и правильно, у клиентов вот выдало неопределено, что там поставить в таком случае неважно, красивости кода пусть волнуют «оптимизаторов», когда они ходят по решенным до них проблемам и хихикают, не зная и не понимая исходной ситуации.
Поэтому всем ищущим «говнокод» и желающим поднять свою самооценку за счет этого хочется сказать — СМОТРИ В КОРЕНЬ, а не на красивости.
Вот меня лично передергивает от такого кода:
И это сущая мелочь, у автора есть функции, дублирующие стандартные методы, а также есть места, где вместо использования готовой экспортной функции из общего модуля пишется новая в каждом документе. Смотрится весьма комично. 😀
Это у какого автора?
(76) Лариса , я Вам пишу про ошибку в простейшем примере (74) — предлагаю проверку.
А Вы пишете :
а)про «огромный» запрос
б)про то что у Вас дома(!) всё корректно работает
в) «обсуждать нету смысла».
(77) Автор дописок к конфе у моих клиентов, здесь не присутствет скорее всего.
(78) Мне твои детские споры неинтересны, меня ты этим не зацепишь, давно тебя знаю. Ищи другую жертву попроверяться 😉
(75) Пример у тебя неудачный.
В постановке Ларисы задача выглядит следующим образом :
В переменную ЗагруженоИзЭкселя возвращется результат некоторой функции.
Тип переменнной ЗагруженоИзЭкселя может быть любого типа,
но нам для дальнейшей обработки важны два события :
1. ЗагруженоИзЭкселя = Истина — (загрузка состоялась)
2. ЗагруженоИзЭкселя = {НеОпределено,Число,Ложь и др.} — (загрузка не состоялась).
Отсюда совершенно логично вытекает код
ЗагруженоИзЭкселя = КакаятоФункция();
Если ЗагруженоИзЭкселя<> Истина Тогда
Сообщить(«Загрузка не состоялась!»)
Иначе
Сообщить(«Загрузка состоялась!»)
КонецЕсли;
Теперь что ты пишешь ?
Загружено=@@йня;
Вызвали что-то, потом проверяем:
Если Загружено<>@@йня
(Если Загружено НЕ @@йня)
Ты придумал какую-то свою постановку задачи ( ..»для нормального прогера»)?
Зачем в этой задаче нам предварительно присваивать ЗагруженоИзЭкселя = =@@йня ?
(81) Игорь, блин, достал! Предмет для обсуждения отсутствует
(80),(82) Понятно. Ок.
(81) «Тип переменнной ЗагруженоИзЭкселя может быть любого типа»
Ты ничего не понял. Тип у переменной должен быть Булево. И никакой другой, однако вернул неопределено, хотя не должен был. Речь именно об этом в данном обсуждении.
Нам совершенно не важны эти события, нам важно состояние самого флага — Истина или Ложь, лежащего на форме документа, вытащенные из Регистратора, который в свою очередь получен из
результата запроса, собирающего данные из большого количества таблиц как виртуальных, так и физических.
Сразу скажу — база файловая.
И вообще, как сказал Арчибальд в (44)
Я с ним согласна.
(84) Без комментариев.
(84)
А бывает и так как на рисунке, флажок имеет три состояния на форме 😉 :
(86) 😀 😀 😀 😀
(86) Срезал 🙂
(87) про это (три состояния в 1С) иногда забываешь при написании кода 🙂
(86)У искомого флажка тип Булево.
(89) А вот запрос
возвращающий в функцию выборку
выгруженный в ТЗ в отладчике.
Напомню, в конструкции в (68) он возвращал ЗагруженоИзЭкселя неопеределено в условия использования только у клиентов.
уй.. достали… отпишусь от комментов
(92) Текст запроса приложить?
(91) каких только глюков не увидишь 🙂
(93) приготовил попкорн 🙂 😀
(89) Я ждала, что разговор перейдет в русло разименования полей, и даже наводила «Сразу скажу — база файловая» но это уже будет слишком долго и нудно.
Закончим на этом. 🙂
(95) У кого есть ЗУП, может и так посмотреть, в (91) во втором коде лежит путь.
(96) аминь.