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




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

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

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

<?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='\

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 не будет опубликован. Обязательные поля помечены *