Печать внешних форм документов для 7.7




Принцип обмена данными из 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='\

94 Comments

  1. Доня

    Посмотрела в комплексной — понравилось!

    Но в ней не работаю

    Работаю в Бухе.

    Попыталать переделать под Буха, не вышло.

    Может под Буха выложите, или подскажите как сделать

    Reply
  2. ui69

    Как раз такую искал недавно — спасибо!

    В ТиС все работает нормально.

    Reply
  3. Арчибальд

    У тебя клава с турецким акцентом 😉 (с) О.Бендер

    ЭкзЭмпляров 🙂

    (1) Там всего-то переделки — подменить глФильтрПоПеременнойЗапроса и выбросить общие реквизиты Проект и Автор. Текст внятно структурирован, попробуйте еще 🙂

    Reply
  4. Ёпрст

    (1) поправил. пробуй.

    Reply
  5. Арчибальд

    (4) ЁПРСТ БЫСТРОДЕЙСТВУЮЩИЙ. Обитает на ИС и в окрестностях… 😀

    Reply
  6. Доня

    В Бухе работает нормально

    Спасибо

    Reply
  7. _also

    Ёпрст, спасибо классная штука.

    Reply
  8. _also

    +(7) Ты мне в свое время тока для ТиСа дал. Я ее еще под свой Общепит переделанный допилил 🙂

    Reply
  9. CheBurator

    автор — схалявил! 😉 нет чтобы списочек принтеров еще подцепить… и чтоб можно было указывать — для каждой печформы — это туда, это сюда — готовый автомат!

    Reply
  10. CheBurator

    выбор принтера имеется в виду на закладке настройки — чтоб можно было задать по иерархии — не задан для конкретной печформы — берем ядля вида дока, не задан для вида дока — тогда уже берем с основной закладки…

    Reply
  11. CheBurator

    ну и если Устройство = 3 — отправить на мыло….

    Reply
  12. Ёпрст

    (9) ну ё.. код открыт, там делов то — добавить колонку в тз и сделать выбор принтёра..

    Хотя, баловство…

    Подобная поделка нужна в основном бухам, для печати комплекта доков..и печатают они, как правило, на один принтёр…

    Reply
  13. Ёпрст

    (11) ну и мыло прикрутить… пару сек..

    Reply
  14. Khelen-z

    Не работает…

    {D:ЮЛЯEXTFORMSPRINTEXTFORMS.ERT(991)}: Переменная не определена (глКаталогПечФорм)

    Если ФС.СуществуетФайл(глКаталогПечФорм <<?>>+ Файл) = 1 Тогда

    {D:ЮЛЯEXTFORMSPRINTEXTFORMS.ERT(993)}: Переменная не определена (глКаталогПечФорм)

    Если глНайтиВнешнююПечФорму<<?>>(Текст, «»»» + ВидОбъекта + «»»», Название, Кнопка) = 1 Тогда

    {D:ЮЛЯEXTFORMSPRINTEXTFORMS.ERT(994)}: Функция не обнаружена (глНайтиВнешнююПечФорму)

    Файл=глКаталогПечФорм<<?>>+ТзПечФ.Файл;

    {D:ЮЛЯEXTFORMSPRINTEXTFORMS.ERT(1209)}: Переменная не определена (глКаталогПечФорм)

    Стр = глКаталогПечФорм<<?>>+СокрЛП(ТЗ.Файл);

    {D:ЮЛЯEXTFORMSPRINTEXTFORMS.ERT(1248)}: Переменная не определена (глКаталогПечФорм)

    Reply
  15. Ёпрст

    (14) Конфа то какая хоть?.

    Reply
  16. Свой

    Ёпрст — синоним качества. Спасибо.

    Reply
  17. JohnyDeath

    (15) не видишь что ль — «ЮЛЯ» 😀

    Reply
  18. Khelen-z

    Бухгалтерский учет для украины

    Reply
  19. Ёпрст

    (18) На сколько я помню, в этой конфе нет механизма регистрации внешних печатных форм вообще.

    Так что… работать не будет ничего.

    Reply
  20. ineoosaki

    Все хвалят, а я немного покритикую. Спущу немного автора на грешную землю 😉

    Итак.

    1. Если выбраны документы в которых нет реквизита Контрагент, то запрос вываливается с ошибкой.

    Как поправить, можно посмотреть вот здесь:

    http://infostart.ru/public/14160/

    2. МФ сохраняется-востанавливается криво. Как поправить — читаем здесь:

    http://infostart.ru/public/16940/

    (Это типа пиар :))

    3. Кнопка «НоменклатураИзДокумента» в диалоге МФ зачем, если она ничего не делает?

    Почему не видно, что МФ задан?

    4.Ввод периода отображается только на закладке «Документы», что имхо не очень информативно.

    Я бы поместил его в слой «Кнопки».

    При открытии отчета — не задаютя даты начала и окончания — это издевательство над пользователями.

    Еще — в типовых конфигурациях с «ДатаКонца» принято снимать флаг сохранения настройки, ее обычно заполняют рабочей датой или датой ТА.

    Хотя здесь я может чего не догнал, и ее необходимо восстанавливать из настройки. Но опять же настройка восстанавливается криво (читаем пункт 2).

    5. Имхо если ТЗ с отобранными документами масштабировать, то у пользователя присутствовало бы ощущение, что он работает с полноценным журналом документов.

    Чтобы не использовать формекс, я бы поставил слой «Документы» первым в списке, а ТЗ «ТабДок» назначил бы первой в обходе.

    Границы ТЗ (правую и нижнюю) нада вынести за границы остальных реквизитов формы, чтобы последние не «поплыли».

    Здесь прийдется весь «подвал» слоя «Документы» перенести в «шапку». Ну и другие слои чуток поправить.

    Напоследок установить флаг формы «Изменять размер».

    6. В диалоге «Скока печатать» желательно по умолчанию ставить единичку.

    7. Для идентификации типовой конфы есть спец. функция глИдентификаторКонфигурации(),

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

    На последок простенькая задачка: как написать текст запроса, что бы в выборку попали помеченные на удаление и проведенные документы, и не попали текущие (т.е. непомеченные/непроведенные).

    Reply
  21. Ёпрст

    (21) Этой поделке лет 6… И.. дорабатывать её мне лень..

    По -поводу МФ, всё гораздо проще чем в твоём блоге делается.

    Reply
  22. Ёпрст

    +22 Кнопка номенклатура из документа — осталась из рабочей конфы..

    По-поводу клиентосов не во всех документах — данная поделка давно переделана на прямые запросы + ТП и т.д..

    Там свой фильтр.

    А это — старый вариант, из которого

    Reply
  23. ineoosaki

    (22)

    >> По -поводу МФ, всё гораздо проще чем в твоём блоге делается.

    хотелось бы узнать, как сделать проще?

    а то это голословное заявление.

    Reply
  24. Ёпрст

    (24) Ничего не пишем в ВВодНового, оставляем всё штатно + галка автоматическое сохранение в настройке отчета. Всё.

    Reply
  25. Ёпрст

    Да, по воводу

    На последок простенькая задачка: как написать текст запроса, что бы в выборку попали помеченные на удаление и проведенные документы, и не попали текущие (т.е. непомеченные/непроведенные).

    Дык там же ЭТО всё есть.. как в прочем и в любой штатной обработки документов с ИТС … 2 переключателя Включать проведенные и Включать помеченные на удаления…

    Ставим Все и не помеченные на удаление и привет..

    Reply
  26. Ёпрст

    +26 А ёпт.. невнимательно прочитал:

    Ну так тогда:

    |ОбрабатыватьДокументы Все;
    |Условие(Док.Проведен()+Док.ПометкаУдаления()=1);
    Reply
  27. ineoosaki

    (26)

    В твоей обработке этого как раз нет.

    В типовой ТиС используется не запрос, а перебор документов ВыбратьДокументы() поэтому выбрать одномоментно проведенные и помеченные на удаление можно уже в выборке отсекая «текущие» («текущие» — это в терминах типовой ТиС непроведеннные и одновременно не помеченные на удаление, см. ПечатьРеестра, ГрупповаяОбработкаДокументов).

    К сожалению нет под рукой обработок с ИТС, но там вроде тоже используется перебор документов, а не запрос.

    Reply
  28. ineoosaki

    (27)

    правильно 😀

    Reply
  29. ineoosaki

    (25)

    потестирую на досуге…

    Reply
  30. Ёпрст

    (28) Конечно нет.. Нафига мне вообще печатать помеченные на удаление ? 🙂

    А код кстати, с типовых обработок.. почти весь, окромя самой печати.

    Reply
  31. ГАВ

    Мне ужасно нравится для ТИСы… Только очень не хватает МФ по фирме… Или может я не вижу как его применить?

    Reply
  32. Ёпрст

    (32) вообще она там есть.. для тиСа

    Reply
  33. ineoosaki

    (25) потестировал

    Корректно сохраняется/восстанавливается только ОДНА настройка.

    Так что утверждение твое голословно.

    Reply
  34. Ёпрст

    (34) Гы.. аналогично могу утверждать, что правкой ВВодНового это тоже не решается.

    Reply
  35. lemaxs

    А не подскажите где можно взять внешние печатные формы АО и др.?

    Reply
  36. Ёпрст

    (36) АО — Это что ?

    И для какой конфы ?

    Reply
  37. Арчибальд

    (37) Это АО-1 на самом деле. Авансовый отчет.

    (36) http://www.infostart.ru/public/72343/

    Reply
  38. Ёпрст

    (38) я уже кинул ему вн. печ форму в личку..

    Reply
  39. Арчибальд

    (39) Думаешь, поможет?

    Reply
  40. Ёпрст

    (40) почему бы и нет..

    распечатает и всё тут..

    Reply
  41. lemaxs

    Ура ))

    Reply
  42. mezonik

    Очень полезная штука, спасибо

    Reply
  43. max969

    Очень полезная прога, работает как часы.Спасибо)))

    Reply
  44. nickkey

    Спасибо автору хорошая разработка и идея и реализация работает хорошо но все же можно было функционалу добавить до полного счастья типа выбор печати документов всех за период по контрагенту там например расходники если был возврат автоматом приходник к этому документу ну это так мысли в слух :)) все равно спасибо успехов в нашем нелегком деле !!!

    Reply
  45. ssst

    Спасибки, поработаем-посмотрим)))

    Reply
  46. anna01

    Спасибо! Будем пробовать, надеюсь, понравится )))

    Reply
  47. iotkin

    Спасибо автору. Очень пригодилась — как раз искал что-то подобное. Немного доделал — и теперь доволен 🙂

    Reply
  48. 6630

    Работает, протестировал

    Reply
  49. jenkins

    Спасибо, попробую печатную форму дока еще туда запихать, тогда идеально будет.

    Reply
  50. notepad

    Как сделать, чтобы печатала формы ландшафт?

    Reply
  51. mixerden

    спасибо!

    Reply
  52. superket_12

    Обработка отличная,счета-фактуры печатаются как надо,С ГТД.Но для ТОРГ-12 стоит только не унифицированная форма.Я зарегила внешнюю печатную форму ТОРГ-12,но она в этой обработке не появляется….Что я делаю не так…?

    Reply
  53. Ёпрст

    (72) нажми на обновить (кнопка такая там есть)

    Или (не помню я ужо, делал в этой поделки или нет ? )

    удали сохраненный настройки очета и заново открой — должно всё появится.

    Reply
  54. CheBurator

    При первом запуске на бухбазе выдало

    Если ТаблицаДокументов.НайтиЗначение(ВыбранныеДокументы.ПолучитьЗначение(Стр),ид,»ВидДокумента»)=1 Тогда

    {…EXTFORMSPRINTEXTFORMS.ERT(1026)}: Индекс не входит в границы списка значений.

    Reply
  55. Ёпрст

    (74) всё может быть.

    Reply
  56. Tatar_Ed

    Спасибо автору.

    У меня вопрос.можно ли реализовать возможность выбора направления сратницы (портрет или ланшафт) для разных документов. Например напечатать сч.фак. все горизонтально, а нак. вертикально?

    Reply
  57. Ёпрст

    (76) как 2 байта, надо ?

    Достаточно вынести флаг или радиобутон на форму поделки, что это ландшафт или портрет +

    передать в параметры + в печатных формах получить этот параметр и ежели он есть, воткнуть его в ПараметрыСтраницы.

    Reply
  58. Ёпрст

    Если надо для каждой формы — то тупо в ТЗ на форме задавать этот флаг, + можно переделать поделку, чтоб на разные принтёры можно было печатать формы.

    Reply
  59. Ёпрст

    Т.е каждая форма будет печататься на свой принтёр..

    Reply
  60. Tatar_Ed

    (77) т.е. для каждой формы в модуле нужно прописать принтер и ориентацию страницы?

    Reply
  61. Tatar_Ed

    и если прописать принтер, то уже не выбрать другой, будут конфликты при печати?

    Reply
  62. Tatar_Ed

    (77)

    (Достаточно вынести флаг или радиобутон на форму поделки, что это ландшафт или портрет +

    передать в параметры + в печатных формах получить этот параметр и ежели он есть, воткнуть его в ПараметрыСтраницы.) можно по этой идеи подробнее. Пытался реализовать данную вещь в печатной форме ТОРГ12, результат отрицательный, а идея отличная.

    Reply
  63. Ёпрст

    (82) в ТзПечФорм нужно всего лишь воткнуть новую колонку для «портрета/ландшафта» + если есть желание — для принтера.

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

    Могу переделать, если надо.

    Reply
  64. Tatar_Ed

    (83) а можно пример?

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

    Reply
  65. setre

    Это интересно… Попробуем…

    Reply
  66. Ёпрст

    (84) ща обновлю публикацию.

    Reply
  67. Ёпрст

    Обновил, можешь ставить свою ориентацию и выбирать принтёр для каждой формы.

    Reply
  68. Ёпрст

    Reply
  69. Tatar_Ed

    (88)

    ошибка теперь

    Если ТаблицаДокументов.НайтиЗначение(ВыбранныеДокументы.ПолучитьЗначение(Стр),ид,»ВидДокумента»)=1 Тогда

    {E:ВСЕ ДЛЯ 1СPRINTEXTFORMS.ERT(1032)}: Индекс не входит в границы списка значений.

    Reply
  70. Tatar_Ed

    (88)

    при втором открытии обработки, данная ошибка больше не появилясь

    может что не так делаю? меняю ориентация листа, и ничего не меняется.

    Reply
  71. Ёпрст

    (90) А этот пункт выполнил ?

    Ориентация= Форма.Параметр.Получить(«Ориентация»);
    
    ИсхТабл.ПараметрыСтраницы(Ориентация,,,,,,,,,1,,ИмяПринтера);

    Это надо в самой печатной форме прописать

    Reply
  72. Ёпрст

    как-то криво разукрашивает..

    Reply
  73. Tatar_Ed

    (90)

    Виноват этот пункт я упустил. Все проверю, перепроверю,отчитаюсь о проделанной работе :).

    и еще я так понимаю обработка видит только внешние печатные формы (ну у меня только так).

    Reply
  74. Ёпрст

    (93) да, только внешние, собственно, другие, я как правило,в своих конфах вообще вырезал, чтоб не мешались

    🙂

    Reply
  75. Tatar_Ed

    Совсем плохо стало ((

    Ориентация= Форма.Параметр.Получить(<<?>>»Ориентация»);

    {D:1С2010EXTFORMSPRNFORMSSF1137.ERT(825)}: Ожидается выражение

    ИсхТабл.ПараметрыСтраницы(Ориентация,,,,,,,,,1,,ИмяПринтера<<?>>);

    {D:1С2010EXTFORMSPRNFORMSSF1137.ERT(827)}: Переменная не определена (ИмяПринтера)

    Reply
  76. Tatar_Ed

    (91)

    где то я ошибку делаю. Не туда прописываю. Сделал так:

    Если Устройство = 0 Тогда

    ИсхТабл.Опции(0, 0, 0, 0, «ДляСчетаФактурыВыданногоСГТДИзНоменклатуры»);

    ИсхТабл.ОбластьПечати(, 2, , );

    ИсхТабл.ПовторятьПриПечатиСтроки( 17, 19 );

    Если глПолучитьПолномочие(«РазрешитьРедактированиеТаблиц») = 0 Тогда

    ИсхТабл.Защита(1);

    Иначе

    ИсхТабл.Защита(0);

    КонецЕсли;

    ИсхТабл.ТолькоПросмотр(1);

    ИсхТабл.Показать(глНазваниеДокументаВжурнале(Докум),»»);

    Иначе

    ИсхТабл.ОбластьПечати(, 2, , );

    ИсхТабл.ПовторятьПриПечатиСтроки( 17, 19 );

    Ориентация= Форма.Параметр.Получить(«Ориентация»);

    ИсхТабл.ПараметрыСтраницы(Ориентация,,,,,,,,,1,,ИмяПринтера);

    ИсхТабл.КоличествоЭкземпляров(КолвоКопий);

    ИсхТабл.Напечатать(0);

    КонецЕсли;

    КонецПроцедуры // Печать()

    Reply
  77. Ёпрст

    (95)

    Ориентация= Форма.Параметр.Получить(«Ориентация»);

    ИмяПринтера= Форма.Параметр.Получить(«ИмяПринтера»);

    Разукрашка съедает символы на форуме..

    Reply
  78. Tatar_Ed

    (97)

    Аллилуйя. Все заработало, печатает куда нужно и как нужно. Автору большое спасибо за работу и за разъеснения.

    Reply
  79. Ёпрст

    (98) воткни еще в печ форму, чтоб в xls сохраняло, бухам очень полезно бывает, отправить кому-нить все счетфактуры за год в экселе..

    Reply
  80. Tatar_Ed

    (99)

    вот это тоже нужная вещь.:)

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

    Reply
  81. Ёпрст

    (100) всё это есть в поделке + смотри описалово публикации — там код, который нужно вставить в печформу.

    Reply
  82. Tatar_Ed

    (101)

    Все увидел, добавил, все работает на ура. Еще раз спасибо.

    Reply
  83. МимохожийОднако

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

    Reply
  84. Ёпрст

    (103) до печати на принтёр «опрашивать» его на предмет готовности.

    Если из 1-ины послать задание на такой принтёр, то она «зависнет», лечится сыманием очереди печати с принтёра.

    Reply
  85. МимохожийОднако

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

    Reply
  86. Ёпрст

    (105) почитай Абрахамса

    http://www.forum.mista.ru/topic.php?id=571423

    Reply
  87. Ёпрст

    Хотя можно и через vbs посмотреть

    Reply
  88. МимохожийОднако

    (106) спасибо. Для меня актуально и не только в 77.

    Reply
  89. ФеяС

    Файл нужно в ехформ положить? Почему-то не заполняется таблица печатная форма, принтер и не печатает.Что сделать?

    Reply
  90. Ёпрст

    (109) да всё равно куда…

    А что именно не работает ?

    Список принтёров пустой, или что ?

    Reply
  91. cg_union

    Добрый день! Подскажите, пожалуйста, что нужно изменить, чтобы заработало.

    Выдаёт следющее:

    глИдентификаторКонфигурации<<?>>()

    Функция не обнаружена (глИдентификаторКонфигурации)

    Reply
  92. Тсрпё

    (111)

    Поправьте на вот так:

    ТипКонфы=0;
    //Если Найти(«,OUTK,OUTKF,OUMNPV,OUBV,BUOUSL»,»,»+Шаблон(«[глИдентификаторКонфигурации()]»))>0 Тогда
    // ТипКонфы = 1;
    //КонецЕсли;
    

    И попробуйте еще сразу выставить ТипКонфы = 1; если в вашей конфигурации есть справочники

    «Контрагенты»,»Фирмы»,»Пользователи», «Проекты», если их нет , ставьте в коде ТипКонфы=0;

    Reply
  93. CheBurator

    Ёпрст — лучший

    Reply
  94. Andrey_ru

    Доброго времени суток. Понадобилась ваша разработка для групповой печати с-ф бухгалтерии. Понятно, что дело давнее, но не могли бы Вы помочь. При выводе на печать идет только просмотр, на принтер не дает выводить, хотя принтеры в списке все видны. В каталог тоже не сохраняет, только просмотр. Никаких ошибок не выдает…. Буду очень благодарен за ответ.

    Reply

Leave a Comment

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