ГОСиД — Универсал (2.00 / 21.08.15 / CaSH)




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

68 Comments

  1. artbear

    (0) Молодец — хорошо описал аналоги.

    Уже за один этот анализ можно плюсовать.

    Reply
  2. sound

    (1) Поддерживаю

    Reply
  3. CaSH_2004
    artbear пишет:

    (0) Молодец — хорошо описал аналоги.

    Уже за один этот анализ можно плюсовать.

    А идея засунуть все в одну «крос-платформенную» значит не вдохновила?

    Reply
  4. artbear

    (3) Если получится, будет совсем замечательно.

    Reply
  5. DrAku1a

    На скриншоте — после галочки «запись реквизитов в режиме загрузки — текст «Только для изменения раеквизитов» 😀

    Reply
  6. echo77

    Под 1С 8.1 тоже самое есть?

    Reply
  7. Kapitan69

    Не поставил ни плюса ни минуса. На дисках ИТС есть как минимум 2 «крос-платформенные» обработки документов справочников «УниверсальныеПодборИОбработкаОбъектов.epf», «ПоискИЗаменаЗначений.epf» данный вид обработок существует еще с версии 7.7.

    Reply
  8. CaSH_2004

    DrAku1a,

    Спасибо за глазастость — поправлю

    echo77,

    На 8.1 нет и не планируется, т.к. ИМХО и так полно платформ = должно быть какое-то однообразие, иначе всю жизнь будем переделывать одно под другое т.к. кто-то нехочет переходить, «неможет» не принимается 😉 т.к.=»слабо хотели»

    Kapitan69,

    Вот молодец! Какое похвальное наблюдение — ты это скажи 1С-разработчикам, они повидимому запутались, а я тут вроде пытаюсь распутать хоть что-то. Но замечание в целом дельное.

    Reply
  9. Abadonna
    http://infostart.ru/public/21493 — отбирать только те метаданные, где есть нужный реквизит «ОтразитьВНУ»

    Кусок выдернул, а универсальное решение не заметил:

    http://infostart.ru/public/84912/

    отбирать только те метаданные, где есть реквизит нужного типа, включая ВНУ, ВБУ,ВУУ

    Reply
  10. elsiv

    У нас БухгалтерияКОРП. Стоит поменять в процедуре ИнициализацияЗапроса()

    строку

    //Макет = ПолучитьМакет(«ПредопределенныеРеквизиты_»+ИмяКонфигурации); //$*CaSH

    на что-нибудь типа:

    Если Найти(ИмяКонфигурации,»Бухгалтерия») Тогда

    Макет = ПолучитьМакет(«ПредопределенныеРеквизиты_БухгалтерияПредприятия»);

    Иначе

    Макет = ПолучитьМакет(«ПредопределенныеРеквизиты_»+ИмяКонфигурации); //$*CaSH

    КонецЕсли;

    Reply
  11. CaSH_2004

    elsiv,

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

    Reply
  12. CaSH_2004

    Ну вот вроде все реализовал, теперь жду отзывов

    Reply
  13. ibm2007

    К вопросу о универсальности для любой конфигурации

    Платформа 1С:Предприятие 8.2 (8.2.14.519)

    Конфигурация Бухгалтерия государственного учреждения, редакция 1.0 (1.0.4.3)

    После запуска обработки и выбора справочника(документа)

    Сообщение

    {Форма.Форма.Форма(646)}: Поле объекта не обнаружено (НазначениеСвойства)

    Если Не Выборка.НазначениеСвойства.ТипЗначения = Неопределено Тогда

    Reply
  14. CaSH_2004

    (13)Постарался поправить, просьба отписаться если пройдет проверку, т.к. собираю информацию в каких конфигурациях работает.

    Reply
  15. ibm2007

    К сообщению 14

    К вопросу о универсальности для любой конфигурации

    Платформа 1С:Предприятие 8.2 (8.2.14.519)

    Конфигурация Бухгалтерия государственного учреждения, редакция 1.0 (1.0.4.3)

    После запуска обработки и выбора справочника(документа)

    Сообщение

    {Форма.Форма.Форма(646)}: Поле объекта не обнаружено (НазначениеСвойства)

    Если Не Выборка.НазначениеСвойства.ТипЗначения = Неопределено Тогда

    ****************************************************************************

    ВОПРОС РЕШЕН ВАШИМИ ИСПРАВЛЕНИЯМИ СПАСИБО !!!

    ****************************************************************************

    В дополнение к сообщению 13

    Платформа 1С:Предприятие 8.2 (8.2.14.519)

    Конфигурация КАМИН:Расчет заработной платы для бюджетных учреждений. Версия 3.5 (3.5.16.1)

    После запуска обработки

    {Форма.Форма.Форма(147,9)}: Переменная не определена (УниверсальныеМеханизмы)

    Если <<?>>УниверсальныеМеханизмы.НапечататьДокументПоУмолчанию(Объект, , НаПринтер, Истина) Тогда

    {Форма.Форма.Форма(151,9)}: Переменная не определена (УниверсальныеМеханизмы)

    Если <<?>>УниверсальныеМеханизмы.НапечататьДокументПоУмолчанию(Объект, , НаПринтер) Тогда

    Reply
  16. CaSH_2004

    (15)Исправил, подробности см.в описании изменений, жду проверки. Не подумал-бы что КАМИН решит делать все по своему в отличии от типовых.

    Reply
  17. ibm2007

    на сообщ 16

    ВОПРОС РЕШЕН ВАШИМ ИСПРАВЛЕНИЕМ !!! СПАСИБО !!!

    НО ВОТ КОНФА БГУ ЭТО ЧИСТО ИЗДЕЛИЕ ОТ 1С

    Reply
  18. CaSH_2004

    (17)значит ее разрабатывали вопреки стандартам выработанным при разработке других конфигураций, к сожалению даже код в одной конфе 1С часто пишут разные функции разные разработчики (ИМХО, сужу по коду)

    Reply
  19. katty11

    Пользуюсь этой обработкой, все отлично работает, кроме такого момента: при выборе документа Операция (бухгалтерская) никак не возможно задать отбор (и изменение) по КИФ. не подскажете решение проблемы?

    Reply
  20. CaSH_2004

    (19)Если узнаю больше информации то подскажу. В какой конфе используете? Что такое КИФ? ЕВываливаются ли какие-то ошибки, если да то их дословный текст. Проверил изменение в БП 2.0 — документ Операция (бухгалтерский и налоговый учет) фильтруется и изменяется

    Reply
  21. katty11

    Воинская часть 2.0. КИФ в 8.2 — это то же самое, что КВД в 8.1 (мы ставим 1 для бюджета, 2 — для внебюджета). Ошибок нет, потому что просто в списке реквизитов для отбора (и изменения) этого КИФ вообще нет.

    Reply
  22. CaSH_2004

    (21)Если нет ошибок, сложно сказать. Не КИФ не КВД мне не говорят ничего, я в бюджетной сфере не работаю.

    Reply
  23. alexk-is

    Удалил более 400 управляющих тэгов в разметке публикации.

    Остались ещё лишние тэги, но на отображение они не влияют.

    Reply
  24. gad_d

    Отличная и полезная обработка.

    Небольшое замечание: установка пометки удаления для справочников при включенном «режиме загрузки» вызывает ошибку в строке 1779 (для версии 1.52 от 09.09.11):

    Объект.Проведен = Ложь;

    Reply
  25. CaSH_2004

    (24)Устранил

    Reply
  26. dyh

    спасибо

    большое

    Reply
  27. che444

    + автору. Отличный инструмент. Тестировал пока что на Бухгалтерия 2.0, все идет. Попробую на других (14), будут глюки напишу.

    ( Reply

  • Bylka

    Прекрасная работа

    искал что то подобное…

    Reply
  • OrsoBear

    Будет ли что-то подобное под управляемое приложение?

    Reply
  • CaSH_2004

    (30)Сомневаюсь, т.к. конфы на чисто управляемых приложениях насколько я знаю только УТ 11, все остальные имеют оба варианта использования, и поэтому данную обработку можно запускать в обычном режиме, что гораздо удобнее. Вообще я противник чисто управляемых форм без обычных, т.к. это резко уменьшает возможность использованя в них подобных обработок написанных кучей людей с кучей возможностями.

    Reply
  • OrsoBear

    (31)

    Я по большому счету работаю с самописными конфигурациями.

    И есть парочка которые сделаны только на УП.

    Дело даже не в том, что Вы против, вот только приоритеты скорее всего иначе нужно расставить.

    Такие обработки нужны, чтобы иногда что-то в базе поправить.

    А не базы нужны, чтобы именно такими обработками пользоваться.

    Все равно, спасибо за ответ.

    Reply
  • CaSH_2004

    (32)Хммм, позволю не согласиться, т.к. обработка это инструмент. Юникс платформы потому и не преобрели популярность как Виндовс, т.к. как раз не хватает таких инструментов, и чтобы их создать нужно куча времени и сил.

    А зачем создавать когда уже и так все есть? Вот и тут, зачем делать управляемое приложение без возможности использовать обычных обработок? Тут получается самоурезание собственных возможностей, и я этого не понимаю, т.к. если я найду универсальныю обработку на обычных формах, я ее запущу на любой обычной конфе, а что делать если это УП? Все переписывать?

    Возможно я не в курсе про какиет-то преимущества УП в которых не предусмотрено использование обычных форм, подскажите это так.

    Reply
  • OrsoBear

    (33)

    Сервера у нас именно на Юниксе.

    Базы на управляемых приложениях через веб интерфейс.

    Типовые конфигурации никак не подошли, потому писали свои.

    Урезаний возможностей особо не испытываю, разве что COM-объекты

    под тонким клиентом на не виндовом сервере никак не хотят работать.

    Но и этому обход придумали.

    У нас флуд получается.

    Давайте каждый останется при своем мнении…

    Reply
  • CaSH_2004

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

    Насчет флуда не уверен, т.к. каждый делиться своим опытом, но в данном случае приводить в пример одну собственную фирму с Unix+WEB то это как утверждать что если ты имееш машину Мерседес X-6 то значит и и всем другим ничего не мешает иметь такую же. Однако большинство фирм выбирают дешевые и простые решения, им до твоих вариантов как до Луны.

    Я не настаиваю на своем мнении, просто ели с твоим вариантом проехаться и предложить людям, то 99% тут же откажуться, вот и все. Так что рынок рассудит нас что более популярно. У нас лично Unix встречиш в единичных конторах, кстати наличие сервера на Unix не говорит еще что он распостранен, вот если бы и рабочие станции на нем были, тогда другой разговор.

    Reply
  • OrsoBear

    (35)

    Хорошо, обозначу позицию по другому.

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

    распространенных конфигураций. Будет больше скачиваний и идей по доработке.

    Я преследую цель сэкономить время на написание подобной обработки.

    Эта на текущий момент мне не подошла.

    Ответ на свой вопрос я услышал.

    Спасибо.

    Reply
  • Valerich

    у меня обнаружился такой глюк, который подпортил впечатление. Выбираю виды объектов, определяю отбор, жму кнопку «Отобрать» и получаю свой список объектов, которые соответствуют фильтру. Но почему-то в таблице выбранных объектов нет колонки с галочками, которые можно было ставить и убирать вручную. В стандартных такое присутствует. Т.е. если фильтр невозможно наложить так, чтобы выбрались только нужные объекты, накладываем фильтр так, чтобы точно получить требуемые объекты + то, что не нужно, руками снимаем галки с объектов, которые не надо обрабатывать и далее обрабатываем уже только выбранные галками.

    Еще из пожеланий пользователей:

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

    Reply
  • CaSH_2004

    (37) Отметку документов поправил, сохранение колонок гляну

    Reply
  • xavi

    При попытке выбора задачи «Изменить реквизит» появляется ошибка:

    {Форма.ФормаВыбораРеквизита.Форма(26)}: Ошибка при установке значения атрибута контекста (ТекущаяСтрока)

    ЭлементыФормы.ДеревоРеквизитов.ТекущаяСтрока = ДеревоРеквизитов.Строки.Найти(ТекущееЗначение);

    по причине:

    Отсутствует ключ строки

    Документ «Ввод начальных остатков», таб. часть «Данные по остаткам НДС»

    Reply
  • CaSH_2004

    (39) Конфигурация то какая?

    Reply
  • xavi

    (40) Сорри, типовая БП 2.0.34

    Reply
  • CaSH_2004

    (41) Странно, но у меня работает. Закоменть строку, если выловлю ошибку — устраню

    (38)Вот они с этой колонкой «Вид» накрутили — куда-то пропадает, а не найду.

    Так что пока с пометками отобранных объектов проблема не решена

    Reply
  • isn

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

    Reply
  • isn

    Скачал, посмотрел. Симпатично. Есть пожелания: в «Произвольном коде» напиши пример кода по типу 1совского как в обработке УниверсальныеПодборИОбработкаОбъектов например (как в 1С ):

    Объект.Наименование = «Новое наименование»;

    Сообщить(Объект.Ссылка);

    Хотя мне больше импонирует выше указанная обработка от 1С УниверсальныеПодборИОбработкаОбъектов, нравится тем что я могу создать свой код в своей форме (в конфигураторе) минус, созданный код в «произвольной алгоритме» не сохраняется.

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

    Ну приблизительно. надеюсь мои комменты будут чем то полезным

    Reply
  • CaSH_2004

    (44) Ну я вношу изменения только те которыми лично пользуюсь, из указанных посмотрю что интересно — реализую

    Reply
  • isn

    ты обработку на других компьютерах используешь?

    Reply
  • CaSH_2004

    (46) в 95% именно на других ПК и использую, я фрилансер, так что такие инструменты нужны позарез

    Reply
  • isn

    (47)

    Во во, значит варианты написания кода в обработке надо перетаскивать в виде файла. Или писать в коде самой обработки.

    Ты как свой написанный произвольный код переносишь с компа на комп с этой обработкой? Может я что то не так понимаю.

    Reply
  • CaSH_2004

    (48) Да особо такой проблемы и не возникает

    Если надо я PowerExplorer юзаю, или просто свою обработку «Выполнение произвольного кода» как встроенную в ГОСиД так и просто внешнюю.

    Скажем так — у меня построена работа таким образом что все часто повторяющиеся действия я написал обработки универсальные которые явно лучше справяться с задачей чем писать в Предприятии без отладчика, другие действия редко встречаються и они либо очень простые и можно обработать как я указал уже, либо очень сложные и все равно нужен отодчик, поэтому не имеет смысла дорабатывать ГОСиД.

    Вот из-за этого я и не вижу смысла ее дорабатывать, т.к. там работы не на пол часа, но если у тебя есть возможность корректно дописать этот функционал, то я с удовольствием включу в очередной релиз, и укажу тебя как разработчика данного функционала.

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

    Reply
  • Incedo@yandex.ru

    При попытке осуществить отбор в справочнике ДоговорыКонтрагентов (УТ 10.3) по свойствам выдает ошибку:

    {Форма.Форма.Форма(1223)}: Ошибка при вызове метода контекста (Выполнить)

    ТаблицаДанныхОбъекта = ПостроительКопия.ПолучитьЗапрос().Выполнить().Выгрузить();

    по причине:

    {(48, 30)}: Не задано значение параметра «С_6»

    И (Таблица_С_6.Свойство = <<?>>&С_6)

    Reply
  • Incedo@yandex.ru

    Разобрался сам. Была переименована конфигурация. Спасибо за разработку.

    Reply
  • isn

    Спасибо автору за разработку. Использую в работе очень давно. Есть пожелание по развитию обработки. Было бы здорово, иметь возможность делать отбор по свойству: заполненное, незаполненное, значение и т.д.

    Reply
  • CaSH_2004

    (52) Работа со свойствами и категориями (отбор и изменение) были реализованы в типовой обработке самой 1С и естественно есть и здесь — включается в настройках. Странно что используя обработку давно вы не изучили ее функционал и не прочитали справку (в том числе и мои описания) особенно когда чего-то нехватает — почитайте может много нового/полезного найдете 🙂

    Reply
  • isn

    Прошу прощения за вопрос. «Ступил слегка». При включении отбора по свойствам и категориям, отбора по «заполнено /незаполнено» увы нет ни в обработке 1С ни в Вашей обработке.

    Reply
  • nurislam

    Автору огромное спасибо.Очень хорошая обработка и главное вовремя.

    Reply
  • AlexO

    (0) так в чем отличие от типовых? А то кроме «спасибо, помогла!» от авторов, не знакомых с типовыми обработками, больше никакой структурированой информации нет.

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

    Reply
  • AlexO

    (1) artbear,

    Молодец — хорошо описал аналоги.

    И у каждого главное отличие — свой нюанс в обработке, не нужный всем остальным ))

    Reply
  • AlexO

    И протом, нет такого ни термина, ни сокращения — ГОСиД.

    ГОС — давно «зарезервировано» Осиповым. У вас — «Глобальная… и документов»? Максимум — есть сокращение ГО, групповая обработка. Название употребляют все. Госид»ом не называет никто, кроме вас ))

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

    И цель, цель «замены» типовым? Всего лишь «…когда нужно было ОПЯТЬ вносить одинаковые изменения в две обработки»?

    Reply
  • CaSH_2004

    (58)Вот ведь пристал, что тебе не нравится то? Хочеш штрафануть за использование сокращения ГОСиД — ну проще так называть чем 5 слов писать, чего непонятного? Или тебя все по фамилии имени отчеству величают? Зачем тогда сократил ник до «AlexO»? Называйся по полному как то так: «гуманоид с 3-й планеты Солнечной системы по имени Земля, Иванов Иван Иванович»

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

    Reply
  • CaSH_2004

    (58)

    И протом, нет такого ни термина, ни сокращения — ГОСиД.

    И тебя когда то не было 🙂 Как то появился же.

    Reply
  • AlexO

    (60)

    И тебя когда то не было

    Судя по всему, вы считаете себя вечным ))

    Про нестандартное восприятие окружающего мира я уже сказал Вам в двух темах ))

    Как то появился же

    Не удивлюсь, если 2004 в вашем нике — Ваш год рождения.

    Reply
  • CaSH_2004

    (61)

    Не удивлюсь, если 2004 в вашем нике — Ваш год рождения.

    Постараюсь таки удивить — я родился на год позже, а ник попросил заранее для меня сделать 🙂

    Reply
  • AlexO

    (62)

    Ну вот, теперь все разъяснилось ))

    Кстати, Краснодар — это наполовину Москва (из Сочи), наполовину — Украина.

    Весьма оторванный от России город.

    Reply
  • CaSH_2004

    (63)

    Весьма оторванный от России город.

    Да ты что, а я и не знал. А откуда у тебя рассчет России идет? От Москвы или от Владивостока?

    А ты же не из Москвы! Наверно центр России — твой дом? И Краснодару не повезло что это очень далеко от тебя.

    Кстати, Краснодар — это наполовину Москва (из Сочи), наполовину — Украина.

    Спасибо — просвятил, а то живя тут это сложно заметить, то ли дело оттуда откуда-то. Я заметил что ты националист и не можеш не указать кто тут есть кто по твоему мнению.

    Reply
  • AlexO

    (64)

    Я заметил что ты националист

    И к какой нации принадлежите? Определились уже?

    Reply
  • xaimix

    ГОСиД Универсал (1.88/ 06.03.2013 / CaSH)

    Бухгалтерия Предприятия 2.0.45.6

    1С:Предприятие 8.2 (8.2.18.61)

    При попытке отбора по документам выдает следующую ошибку:

    {Форма.Форма.Форма(1284)}: Ошибка при вызове метода контекста (Выполнить)

    ТаблицаДанныхОбъекта = ПостроительКопия.ПолучитьЗапрос().Выполнить().Выгрузить();

    по причине:

    {(21, 30)}: Не задано значение параметра «С_1»

    И (Таблица_С_1.Свойство = <<?>>&С_1)

    В других база она работает исправно. Так же нормально обрабатывает справочники и пр.

    С чем это может быть связано?

    Reply
  • xaimix

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

    {Форма.Форма.Форма(1284)}: Ошибка при вызове метода контекста (Выполнить)
    ТаблицаДанныхОбъекта = ПостроительКопия.ПолучитьЗапрос().Выполнить().Выгрузить();
    по причине:
    {(46, 30)}: Не задано значение параметра «С_1»
    И (Таблица_С_1.Свойство = <<?>>&С_1)
    Reply
  • CaSH_2004

    (66)Ну без указания что вы указываете за параметры при выполнении достаточно сложно сказать. Из того что «Таблица_С_1.Свойство» следует что вы используете свойства при отборе, судя по «Таблица_С_1» — следует что свойство 1-е в выборке Планов видов характеристик «Свойства объектов». Проверьте так ли это.

    А вообще параметр там добавляется одновременно со значением, вот:

    ПостроительЗапроса.Параметры.Вставить(«С_»+Формат(Счетчик,»ЧГ=0»), Выборка.ссылка);

    Т.е. он не может быть пустым, если только не битая ссылка — проверьте этот вариант.

    Больше ничего подсказать не могу из-за недостатка информации.

    Reply
  • CaSH_2004

    (67)Лучше поздно чем никогда 🙂

    Что-то с отбором, вроде данный блок я не менял. А типовая обработка работает? Какая конфигурация? Какой объект обрабатываете или несколько? Измененная конфигурация или объект? Какие отборы указаны? Путем перебора можно вычислить на какую таблицу ругается.

    Reply
  • Leave a Comment

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