Расширения конфигурации. Нюансы поведения




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2026-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='\

63 Comments

  1. ekaruk

    Спасибо, полезный обзор.

    Действительно в работе с расширениями сейчас много нюансов.

    Вцелом при работе с расширениями я стараюсь ориентироваться на принципы:

    1. В расширениях можно делать то, что можно делать кодом (добавлять элементы форм, устанавливать и переопределять обработчики, менять тексты динамических списков…), но нельзя делать ничего, ведущего к изменению объектов конфигурации (добавлять новые объекты или реквизиты).

    2. Все объекты основной конфигурации, с которыми мы работаем в расширениях, должны быть позаимствованы в расширение.

    Если нужное мне изменение укладывается в эти принципы, то скорее всего его можно реализовать в расширении.

    Reply ↓
  2. DitriX

    Работаю с расширениями уже долго. Вполне сносно.

    За исключением багов с динамическими списками, когда в список документов добавляешь свои поля, и потомзначения этих полей выводятся в первой колонке списке. Например, я добавил поле СтатьяДДС, и значение этих статей теперь появляется (дублируется) там, где должен быть номер документа.

    Что самое смешное — если передвинуть на первую колонку дату, то теперь данные меняться будут в дате. А Номер бует нормально.

    Решение простое — надо переименовать первую колонку, например, в НомерДокумента. И тогда все ок.

    Статья большая, но вы ее разбавьте как то оформлением, что бы было за что глазу зацепиться, а то читать не удобно. И картинки вставьте лучше в саму статью, а то бегать в блок картинок — ваще не айс.

    Reply ↓
  3. Yashazz

    (2) DitriX, а равно и все читатели — заранее извиняюсь, но это — уже вершина оформления, которой я смог достигнуть за полтора часа извращённого этсамого. Форматирование было, и было оно гораздо лучше, нежели вы видите. Но по малопонятным причинам движок ИС не позволил мне ни вставить картинки в текст, ни сохранить исходное форматирование. Как и всегда, впрочем.

    DitriX, твой пример погоняю, поэкспериментирую, и вставлю в статью, можно?

    Reply ↓
  4. mszsuz

    Для отладки расширений с конфигурациями на основе БСП, разработчиками предусмотрен параметр запуска приложения «РежимОтладки»

    Его можно указать и в конфигураторе: Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: <ввести строку РежимОтладки>.

    Ссылки по теме:

    https://partners.v8.1c.ru/forum/topic/1394558

    http://its.1c.ru/db/bspdoc#content:531:hdoc

    Reply ↓
  5. Yashazz

    (4) mszsuz, беценно! Спасибо! Эту страничку видел, но сеть так тормозила, что не дождался открытия, а зря)

    Кстати, вот с этим:

    Поменял у расширения версию и синоним — схема перестала работать, опять БП ругается на блокировку расширения.

    Всё восстановилось только после полного ТиИ и последовательности запусков: 1) Конфигуратор и Закрыть, 2) БП и Закрыть, 3) Конфигуратор — далее всё работает, как должно.

    иногда всё бывает хуже, конфигуратор безо всяких БП может сглючить, как я показал на рис.2, лучше так не делать вообще.

    Сегодня же дополню обзор указанной фичей.

    Reply ↓
  6. Yashazz

    Ещё замечу: возможность создания собственных обработок позволяет организовать программный код расширения по их менеджерам, что по сути аналогично созданию своих общих серверных модулей.

    А что касается сведений в http://its.1c.ru/db/bspdoc#content:531:hdoc, то они тоже не вполне точны. В БСП, встроенной в УТ 11.2, параметр «ОтключитьЛогикуПриНачалеРаботыСистемы» нигде не упоминается, например, а эксперимент с параметром «РежимОтладки» тоже показал, что всё не так просто: при первичной регистрации расширения (первого запуска системы вообще или первого запуска с расширением) оно должно быть сохранено и закрыто в конфигураторе; у него обязательно должны быть непустые поставщик и версия. Только после такой регистрации можно держать его открытым, указав «РежимОтладки».

    Reply ↓
  7. DitriX

    (3) конечно можно.

    Открою секрет как офрмлять статьи — берешь пишешь все в доке, потом сохраняешь док в html и вставляешь исходник сюда 🙂

    Reply ↓
  8. CyberCerber

    Спасибо за обширную статью.

    Да, всяких «интересных» сюрпризов при работе с расширениями возникает немало.

    Вот, например, нетривиальная была задача вставить в расширение регистр бухгалтерии. Задавал вопрос на эту тему: https://partners.v8.1c.ru/forum/topic/1377887

    Но вообще механизм расширений мощный и постоянно развивается. А у вас такая статья грустная получилась, что кажется, лучше его вообще не использовать. 🙂 В конце бы хоть немного позитива добавили…

    И по оформлению, да, добавьте яркости в однородную буквенную массу. Хотя бы подзаголовки выделите жирным.

    Reply ↓
  9. Yashazz

    (7) DitriX, ага, ага. Этот способ тоже не прокатил. Это ж первое, что приходит в голову. Поэтому я так не люблю писать статьи на ИС, а в публикации по веб-сервисам вообще плюнул и прицепил сам вордовский файл.

    Reply ↓
  10. JohnyDeath

    Для меня самое главное разочарование — невозможность встроить расширения в типовой механизм обмена между распределенными базами.

    Подробнее задавал вопрос здесь: https://plus.google.com/u/0/+ЕвгенийМартыненков/posts/X3TVCGg4NGD

    Reply ↓
  11. ekaruk

    (9) На самом деле редактор достаточно сносный.

    Я при необходимости просто переключаюсь в режим html и правлю исходный текстовый вариант оформления.

    Выдели хотя бы жирным подзаголовки (кнопочка «B»). Уже будет гораздо удобнее.

    Reply ↓
  12. Yashazz

    (11) ekaruk, что мог, то поправил. А редактор этот просто с моим браузером не дружит, видимо.

    Так всё же, были у тебя проблемы с переходом расширений с 8.3.6 на 8.3.7, или прошло гладко?

    Reply ↓
  13. ekaruk

    (12) Не было проблем. Работает аналогично 8.3.6.

    Reply ↓
  14. dezzarr

    После обновления основной конфы (проверял на паре БП и ЗУП 3.0) начинается форменный песец. Измененные формы из расширений просто отваливаются от своих родителей, и лечится это только полным удалением их из расширения, заимстованием по-новой, и переносом изменений. Так и не понял как это победить, вернул изменения в основную конфу. Сыровато.

    Reply ↓
  15. Yashazz

    Интересную штуку пронаблюдал с планами видов характеристик. Наследуем ПВХ (остаются только простые типы), добавляем свой тип (сняв флажок контроля), система его спокойно сохраняет и подключает расширение, но — увы, поля такого типа «характеристик» не могут содержать значения добавленного типа; преобразуют его в строку. Пичаль.

    Reply ↓
  16. Yashazz

    (8) CyberCerber, а что весёлого-то? Что при самых невинных операциях с расширениями конфигуратор тихо падает? Я уж утомился считать ситуации, при которых это происходит. Кривая полусырая подсистема в сплошном потоке наспех сляпанных релизов — это действительно грустно.

    И да, я ещё раз повторюсь — если есть возможность не использовать какую-то «новинку» от 1С, то не используйте. Пока минимум релизов четыре-пять не сменится, и её хотя бы относительно не доведут до ума.

    Но, к сожалению, если раньше можно было «отсидеться» на стабильных релизах, то теперь 1С насильно загоняет пользователей в кривые, зато «новые» релизы 8.3. Что обидно, большинство молча терпит — начиная от рядовых региональных франчей и заканчивая разработчиками самих типовых конфигураций.

    Reply ↓
  17. Yashazz

    И ещё раз о косяках платформы: если вы добавили реквизит в расширение формы, и он упомянут где-то в вашем (расширенном) коде формы, то при попытке его удалить конфигуратор аварийно завершится. Ситуация стабильно воспроизводится на всех релизах 8.3.6 и 8.3.7

    Комментарии излишни)))

    Reply ↓
  18. Yashazz

    До кучи: есть табличная часть объекта, взятая в расширение, и реквизит типа одного из справочников, который тоже в расширении есть. При попытке открыть конструктором запрос в обработке, созданной в расширении, где на этот реквизит наложено условие, ругается, что нельзя сравнивать поля «тра-ля-ля». При попытке открыть ровно этот же запрос в коде конфы или во внешней обработке всё ОК. Красота.

    А уж как себя ведёт глобальный поиск, это просто песня. То он видит расширения, то не видит. Пока не переоткроешь, точно быть уверенным, то «поймает», нельзя.

    Что-то, смотрю, тишина в теме. Мне одному везёт, или все считают, что так и надо?

    Reply ↓
  19. JohnyDeath

    (17), (18)

    Баги зарегистрировал в 1с?

    Reply ↓
  20. Yashazz

    (19) JohnyDeath, неа. Смысл? Я представляю себе, как этот багтрекер разбирается и принимается к сведению. Смысла дёргаться нету ни-ка-ко-го.

    Я уж лучше тут соберу пройденные грабли, дабы оно было общедоступно.

    Reply ↓
  21. JohnyDeath

    (20) как это нет смысла? Как вообще разработчики платформы должны по твоему узнавать о багах? Читать все форумы про 1С?

    И почему ты думаешь, что смысла нет? Я, наверное, уже с десяток багов зарегистрировал. ВСЕ были исправлены.

    Странный подход. Очень странный.

    Reply ↓
  22. Yashazz

    (21) JohnyDeath, очень просто.

    1. Я наивно полагаю, что бета-тестирование не должно производиться на конечных потребителях ПО. Я считаю, что баги такого характера должны вылавливаться на этапах до широкой публикации и уж тем более до оголтелых призывов переходить на такие релизы и юзать такие доработки. Узнавать о багах следует от своих тестировщиков, работающих по систематизированной схеме проверки основных механизмов, которую частично отработал я, когда готовил эту статью. Хотя я ни разу не тестер…

    2. Все форумы читать не надо. Раз ИС позиционирует себя как крупнейший, а с определённого времени партнёрский и, чего там, частично финансируемый и крышуемый фирмой 1С, то вполне достаточно читать тут.

    3. Я знаю, что смысла нет. Я примерно знаю внутреннюю кухню и не питаю иллюзий. Ошибки исправляются хаотично, непредсказуемо и спонтанно, и чем дальше, тем хаотичнее. Ну, зарегистрирую я ошибку, и что? Года через три её вдруг исправят, мне и моим пользователям от этого не легче, если у них здесь и сейчас фатально глючит. Конечная цель автоматизации — работающая эффективная система, и телодвижения по регистрации ошибок влияют на достижение этой цели негативно, т.к. я, тратя время на регистрацию и общение с поддержкой (простихосспади) ухожу из области своих возможностей в сферу зависимости от 1С. Но ключевое, всё же, именно трата времени на «регистрацию ошибки». Я лучше обходной костыль сделаю, чем ждать у моря погоды.

    Reply ↓
  23. Yashazz

    Следующий баг платформы: в расширенной форме, унаследованной от документа типовой, группа формы с элементами делалась и отлаживалась в режиме «Такси». В результате, если запускать в другом режиме, то эту группу не видно. Другие — да, а эту почему-то нет, хотя сделано таких было несколько. Только «Такси» и никак иначе.

    Reply ↓
  24. Yashazz

    (4) mszsuz, как показал эксперимент, конфигурации поколения УТ 11.2.3 плевать хотели на «РежимОтладки».

    Очень предметно хочется сказать пару ласковых криворуким писателям этой УТ.

    Reply ↓
  25. mszsuz

    Это не писатели УТ, а писатели БСП и причем у них тоже похоже связаны руки.

    Я на оф.форуме предложил очень простое решение этой проблемы — не удалять расширение, а определять с помощью ОбъектМД.Родитель().ПринадлежностьОбъекта, но там сказали что это «незапланированное поведение» и ждите, короче, пока исправим.

    Reply ↓
  26. mszsuz

    «А мы пока лучше сделаем круглые кнопки и удалим линейку прокрутки, потому что через 5 лет это будет круто, просто вы ещё об этом не знаете»

    Reply ↓
  27. Sergafan10

    (24) отлаживается всё на УТ 11.2.3.66 благодаря РежимОтладки, платформа 7.1949

    Reply ↓
  28. Yashazz

    (27) Sergafan10, вот чесслово, на той же 11.2.3.66 не реагировало. Правда, у меня релиз был 1917. Ну или руки у меня кривые совсем, что тоже не исключено… Или «везуха» такая.

    Спасибо, учту.

    Reply ↓
  29. Yashazz

    Кстати, радость-радость: http://v8.1c.ru/o7/201603ext/index.htm

    Reply ↓
  30. хакер

    Платформа 8.3.7.1970 , конфигурация УТ(11.2.3.108, при попытке добавить в действующее расширение формы списка журнала документов «Документы продажи», расширение перестает работать, может кто нибудь сталкивался с подобным ?

    Reply ↓
  31. Yashazz

    Мало им было старых косяков и кривизны, так они ещё добавить хотят: http://v8.1c.ru/o7/201603module/index.htm

    Имхо, просто издеваются. Хотя, может, лет через 10 (когда уже будут активно продвигать сырую, неудобную и стрёмную 1С 9.9) эта механика чуток устаканится и кое-чем даже можно будет пользоваться.

    Reply ↓
  32. MaxS

    Во внешних обработках можно программно установить разрешение, например, для доступа к временным файлам, А как тоже самое в расширении, которое работает в безопасном режиме разрешить некоторые действия?

    Reply ↓
  33. AndreykO

    У нас клиент-серверная 1С 8.3.7.1845 и Документооборот 8 КОРП, редакция 2.0 (2.0.15.6), расширение одно, в нём добавлена пара обработок и изменены некоторые заимствованные формы. В целом, расширения как инструмент для нашей пользы хороши, но есть моменты, с которыми не удалось справиться:

    1. Многие формы «искривляются». При добавлении в расширение формы «ФормаТекущиеДела» обработки «ТекущиеДелаДокументооборот» из основной, поля виджетов на этой форме изменили свои размеры — это форма начальной страницы простых пользователей, заметно сразу. Также сильно нехорошо получается с формой «ФормаСписка» журнала документов «ЭлектроннаяПочта»: когда письмо содержит вложения, поле «ПредпросмотрHTML» очень мало по ширине и текста письма совсем не видно.



    2. Если добавить в расширение форму «ФормаСписка» журнала документов «ЭлектроннаяПочта», то при запуске в пользовательском режиме вываливается ошибка: «Ошибка подключения расширения: … — Ошибка свойства РегистрируемыеДокументы у объекта ЖурналДокументов.ЭлектроннаяПочта». При чём, заставил себя, потратил много времени (минут 7) и добавил в расширение всё содержимое документов «ВходящееПисьмо» и «ИсходящееПисьмо» — реквизиты, табчасти, формы, команды — не взлетело. Не помогла также отметка обоих документов в списке «Регистрируемые документы» в палитре свойств этого журнала в расширении.

    Если кто встречался с подобным — пишите, буду благодарен, да остальным пригодится.

    Хммм. Эксперементировал и разобрался 🙂

    с первым: у самого расширения в палитре свойств есть «Режим совместимости» — ставим «8.3.6» и в конфигурации, соответственно тоже «8.3.6» (так и есть в типовой в стоке) — в результате размеры окошек в порядке и «раздвигалка» на месте.

    со вторым: вообще убрать галку «Регистрируемые документы» в палитре свойств журнала в расширении — работает )) правда, теперь эта форма мне не нужна, но опыт зачтён. 🙂

    Reply ↓
  34. v3rter

    Читаю http://v8.1c.ru/o7/201603module/index.htm и понимаю, что для появления вредоносных расширений осталось дописать возможность их программной установки или установки из командной строки. Кроме шуток.

    Reply ↓
  35. Yashazz

    (34) v3rter, мне тут кошмар приснился, будто пытаюсь я обойти невозможность команды «Выполнить» в веб-клиенте следующим образом: из какого-то макета распаковываются исходные файлы мини-расширения, ну как обычная выгрузка в файлы, сохраняются куда-то в темпы на клиентской машине, в xml-исходнике формы делается правка со вставкой туды этого несчастного выполняемого кода; потом (как, не знаю, но во сне получилось) всё это собирается в cfe, и оно тут же подключается. Жесть.

    Reply ↓
  36. Alex_E

    (34) v3rter,

    что для появления вредоносных расширений осталось дописать возможность их программной установки или установки из командной строки. Кроме шуток.

    — а появление вредноносных внешних обработок Вас не пугает? Они, к слову из командной строки спокойно могут запускаться….

    Reply ↓
  37. hulio

    (34) v3rter, (36) Alex_E, кто-то явно прочитал эту ветку форума )))

    http://1c.ru/news/info.jsp?id=21537

    Reply ↓
  38. tormozit

    EDT уже поддерживает редактирование расширений? Вроде не встречал инфы про их поддержку в описании.

    Reply ↓
  39. tormozit

    Как массово добавить объекты из конфигурации (CF) в расширение (CFE)?

    Reply ↓
  40. ret

    А в хранилище конфигурации для совместной доработки как-то расширение вставляется? Или пока ничего нет такого?

    Reply ↓
  41. e.kogan

    Мне вот грустно, да. Ну ладно пришлось врубить изменяемость типовой конфе, чтобы воткнуть пару реквизитов туда, куда никак иначе не втыкалось. Но форма-то! вытащила в расширение, всё-всё-всё в расширении уже есть, и реквизиты, и типы оных… и вот вроде в расширении добавлены оба нужных реквизита на форму… и даже запустить удалось, привет всем безопасным режимам… только вот почему-то добавленный реквизит простого типа видно, а типа ссылки на справочник (справочник в расширении есть!) — нету. Хотя добавляла на форму одновременно.

    Молчу уже про регулярные пропадания расширения в никуда.

    8.3.9.2170.

    Reply ↓
  42. гаврюша

    Может кто подскажет что делать:

    Конфигурация ERP платформа 8.3.9.2170 есть расширение.

    При обновлении до релиза 2.2.2.199 проблемы с расширением не возникло, все запустилось.

    При обновлении основной конфигурации до релиза 2.2.2.212 расширение не запускается.

    Ошибка: Значение контролируемого свойства Type у объекта InformationRegister.РеестрДокументов.Resource.Сумма не совпадает со значением в расширяемой конфигурации.

    Что делать, чтобы работало расширение? И как можно избежать подобных ситуаций после обновления релизов?

    Reply ↓
  43. JohnyDeath

    Очевидно, что в новом релизе изменили тип ресурса (наверное увеличили длину числа).

    Надо «обновить» тип этого ресурса в расширении

    Reply ↓
  44. гаврюша

    (43) Спасибо. Так и есть.

    Reply ↓
  45. Yashazz

    Из описания «новенького» в 8.3.10:

    Справка, открываемая в расширяемой конфигурации, включает в себя справочную информацию по объектам расширения.

    Справочная информация расширения конфигурации используется при поиске по справке.

    Данная возможность не предоставлялась.

    Справочная информация, реализованная в расширении конфигурации, была недоступна в дереве справки и для поиска.

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

    Просто уже зла не хватает, так их разэдак.

    Reply ↓
  46. D.B.Sokolov

    8.3.10.2252

    Создал свой макет печатной формы документа, скопировав существующий. Сперва создал его в расширении. Вроде всё работает, но есть нюанс. Если отключить вывод дополнительной колонки печати (Код/Артикул). То ширина колонки «Товар» увеличивается каждый раз при печати документа. Сколько раз вывели на печать, столько раз добавилась. И так до бесконечности. Закрытие окна с табличным документом не сбрасывает ширину колонки, она остаётся в памяти. Проблема решилась только переносом макета из расширения в основную конфигурацию.

    Reply ↓
  47. D.B.Sokolov

    Формы рабочей области начальной страницы, добавленные в расширении конфигурации, не видны в режиме 1С:Предприятие?

    Reply ↓
  48. Yashazz

    Релиз 8.3.10.2699. Добавляю новое расширение с назначением «Дополнение». При попытке открыть окно расширения из списка расширений конфигуратор тихо падает. Красота, что можно сказать…

    Reply ↓
  49. MaCCapAkIII

    Релиз 8.3.12.1685. Ранее была УТ 11.1 на 8.3.10. Обновили до указанной платформы и до релиза УТ 11.2.3.95. Убрал режим совместимости конфигурации, добавил расширение и больше сделать ничего не могу — ошибка в приложении. Пробовал обновление информационной базы через параметр запуска и обработку — все равно ошибка в транзакции, на скриншоте показал кусок кода, который не отрабатывается. Расширение.Удалить() не выполняется, почему — не знаю. Прошу помощи…

    Reply ↓
  50. t.v.s.

    (49) Так закройте расширение в конфигураторе

    Reply ↓
  51. MaCCapAkIII

    (50) Это все при закрытом расширении в конфигураторе. Конфигуратор сам закрыт тоже… Пробовал с РежимОтладки в параметрах запуска — аналогично.

    Reply ↓
  52. t.v.s.

    (51) А вы откройте конфигуратор, уже в нем закройте расширение. Конфигуратор можно не закрывать

    Reply ↓
  53. MaCCapAkIII

    (52) Именно так и делал, в разном порядке и неоднократно. Только после этого написал сюда. Пустое расширение с параметром запуска в Сервисе РежимОтладки отрабатывает нормально. Как только загружаю в него ранее созданное расширение — оно отказывается работать…

    Reply ↓
  54. t.v.s.

    (53) Режим совместимости расширения какой?

    Reply ↓
  55. MaCCapAkIII

    (54)не использовать

    Reply ↓
  56. t.v.s.

    (55) Странная фигня, на платформе 8.3.12 таких глюков никогда не наблюдалось

    Reply ↓
  57. MaCCapAkIII

    Есть предположение, что происходит это из-за сравнения и объединения с расширением, сделанным на прошлой версии платформы. Хотя я сам понимаю, что это скорее всего глупость. Но выхода нет, надо что-то пробовать. Буду создавать объекты в расширении заново и обновлять расширение после каждого.

    Reply ↓
  58. MaCCapAkIII

    Оставлял на ночь обновление ИБ с параметром запуска — вообще дичь какую-то выдал…

    Reply ↓
  59. t.v.s.

    (58) Так, стоп. А с чего вы взяли, что УТ 11.2.3.95 будет нормально работать на платформе 8.3.12?

    Reply ↓
  60. MaCCapAkIII

    (59) Не могу вам ответить. Пришел на то что есть. Что вы рекомендуете? Обновлять УТ дальше до актуального на сегодня релиза? Для 8.3.12 эта версия не подходит?

    Reply ↓
  61. t.v.s.

    (60) Обновлять последовательно, используя рекомендуемую для каждого релиза версию платформы. Если совсем тяжко, то можно попробовать использовать при обновлении 8.3.10 до последнего релиза 11.4.5.

    На платформе 8.3.12 УТ нормально работает только с релиза 11.4.6. Если расширение не имеет собственных данных (а скорее всего у вас это так), то лучше его отключить на время обновления.

    Сама конфа типовая или с изменениями?

    Reply ↓
  62. MaCCapAkIII

    (61) Сильно нетиповая. поставлена задача перенести все что возможно в расширение, плюс добавить определенный функционал непосредственно в расширение (несколько регистров, документов).

    Понял вас. Будем пробовать обновляться дальше, потому что собственных данных в расширении есть, и немало.

    Reply ↓
  63. Andreyyy

    Не нашел в описании — столкнулся с тем, что из процедур основной конфигурации выполняемых через «Выполнить» не видны расширения (во всяком случае общие модули — флажки сервер и вызов сервера установлены). Проверено на 8.3.14.1694 и 8.3.15.1489

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *