Экспресс-проверка ведения учета для 1С:Управление торговлей 8




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

83 Comments

  1. Шёпот теней

    !!!

    … процесс идЁт или завис …? какой-нибудь прогресБар или цифирки или меняющийся текст … а так только появляющиеся тексты ошибок …

    … вотВедьКакМогут …

    Reply ↓
  2. Шёпот теней

    спАсиБО … хорОшО… крАсивО… идЕйно… дОходчиво …

    … вОт …

    Reply ↓
  3. kondrashka

    НА УПП 8.1.14.72 (1.2.23.2) много ошибок. Напиши какая версия. Пока ничего не ставлю

    Reply ↓
  4. Шёпот теней

    (3) … НЕ переЖИВАЙ … у товариЩчЪа первая рАбота … пОддержи …

    ( насколько я знаю нажатие «+» и потом «-» — обнуляЕт оценку…)

    … кОд открЫт …

    … ЗАодно и потестировали … гдядишь товариЩчЪ и испрАвит …

    … вОтАидеяЗамечательная …

    Reply ↓
  5. Шёпот теней

    (8) … точно … Рад за нЕго … ииии крАсиво всЁтаки …

    … спАсибо gad_d … только подправь под кОмментарии … и удачи …

    … вОт …

    Reply ↓
  6. Alex_IT

    Однозначно +

    Reply ↓
  7. gad_d

    Спасибо всем за отзывы. Буду благодарен за конструктивные замечания и пожелания.

    (4) На УПП не проверялась, только на УТ.

    (5) Ситуацию с возвратами поставщикам поправил. По возвратам покупателей должно быть все корректно.

    (6) Ситуацию с датами поправил. На счет чеков, непонятно зачем вообще нужно проводить подобную проверку в течении текущего дня.

    Reply ↓
  8. gad_d

    (12) если от заката до рассвета, то у вас целый световой день для технических работ )).

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

    Reply ↓
  9. WKBAPKA

    ох и любит же народ красивые цацки… афигеть !!!

    Reply ↓
  10. d.snissarenko

    респект 🙂

    Reply ↓
  11. susorov

    автор, при возможности, повтори это же и так же, но для УПП, плиз.

    (или дай рекомендации, а то на УПП 1.2.9.2 проверка зависает намертво)

    Reply ↓
  12. freesyava

    Отлично. Как раз сам о таком думал, а тут раз и есть. Подгоняю правда под УПП.

    Reply ↓
  13. Smile84

    Просто супер, осталось только под упп подогнать, а в принципе огромный плюс.

    Reply ↓
  14. wirg

    Великолепная вещь

    Reply ↓
  15. souldiver

    Хм… У меня в УТ 10.3 показывает в ошибке «Различия движений товаров по партиям и складам» один и тот же документ («Реализация товаров») в двух строчках.

    В первой — Расход по складу 10 штук, Расход по партии 0 штук

    Во второй — Расход по складу 0 штук, Расход по партии 10 штук

    Обе строчки относятся к одному документу.

    И так по очень многим документам «Реализация товаров»

    Reply ↓
  16. mawr45

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

    {ВнешняяОбработка.ЭкспрессПроверкаВеденияУчета(212,22)}: Переменная не определена (ОбщегоНазначения)

    УчетнаяПолитика = <<?>>ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(ТекДата, Отказ, Организация);

    {ВнешняяОбработка.ЭкспрессПроверкаВеденияУчета(325,20)}: Переменная не определена (ОбщегоНазначения)

    УчетнаяПолитика = <<?>>ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(ДатаНач, Отказ);

    {ВнешняяОбработка.ЭкспрессПроверкаВеденияУчета(2946,4)}: Переменная не определена (ОбщегоНазначения)

    <<?>>ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), , ЗаголовокСообщения);

    {ВнешняяОбработка.ЭкспрессПроверкаВеденияУчета(2955,4)}: Переменная не определена (ОбщегоНазначения)

    <<?>>ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), , ЗаголовокСообщения);

    {ВнешняяОбработка.ЭкспрессПроверкаВеденияУчета(280,22)}: Переменная не определена (УчетНДС)

    УпрощенныйУчетНДС = <<?>>УчетНДС.ПолучитьУПУпрощенныйУчетНДС(Организация, ДатаНач, УчетнаяПолитика);

    Reply ↓
  17. gad_d

    (22) Упс. У вас в конфигурации отсутствует общий модуль «ОбщегоНазначения». Какой релиз конфигурации?

    Reply ↓
  18. mawr45

    УТ 10.2.6.4 а Бух 1.6.17.4, УТ не обновляем потому что много там доработок и смысла нет переходить на новую версию. Что можно сделать в моей ситуации?

    Reply ↓
  19. Поручик

    (24). Всё-таки переходить на новую версию. У нас до недавнего времени тоже УТ 10.2.13.1 с кучей доработок использовалась, тем не менее поднатужившись, добил конфу до 10.3.7.9. Как выяснилось, многие доработки легко и непринуждённо выносятся в подписки на события, внешние обработки, регламентные задания. Из уцелевших доработок оставил только реально необходимое, на «юзерские хотелки» просто забил.

    Reply ↓
  20. mawr41

    (25) Слишком много денег вбухали в доработки, начальство не даст перейти, опять придется много отстегивать, поэтому уж как есть:(

    Reply ↓
  21. mawr41

    (23) «У вас в конфигурации отсутствует общий модуль «ОбщегоНазначения». Что можно сделать?

    Reply ↓
  22. tango

    однозначно +

    на супер-переделанной конфе отработала без вылета +++

    Reply ↓
  23. yuraskas

    У меня почемуто выдал ошибку — Поступление товара без указания стоимости, а именно док.ВозвратТовараОтПокупателя идет без стоимости, хотя в самом доке все ок, цена и сумма стоит. Этот нормально???

    ЗЫ. Прикол, запустил данную обработку в демке УТ — ошибок нашел больше, чем у меня 🙂

    Reply ↓
  24. magic

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

    Reply ↓
  25. sinjevla

    В новую базу УТ внесли справочники и остатки до этого учет ввелся в другой базе.

    Проверил обработкой выдает ошибки в Партионном учете.

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

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

    Это обработка показывает не правильно или я что-то не так делаю ?

    Reply ↓
  26. msmaiorka

    Спасибо, очень полезная вещь!

    Reply ↓
  27. multilab

    Классная обработка! Бухи в восторге)

    Reply ↓
  28. alexkl

    удобно с чужой базой знакомиться

    Reply ↓
  29. AlexKoso

    одно слово: отлично. Смущает только что с 2009 года не редактировалась. Или она идеальна? Или на базе ее создана новая обработка, как здесь не редко бывает, тогда поделитесь линком 🙂

    Reply ↓
  30. maxpostal

    Есть ли аналогичная обработка под 8.2?

    Reply ↓
  31. gad_d

    (36) Если подразумевается 11 редакция торговли, то нет

    (35) Конечно не идеальна :), но мне достаточно. Выложил версию посвежее, с вариантами для платформ 8.1 и 8.2.

    Reply ↓
  32. maxpostal

    (37) нет подразумевается платформа 8.2 и редакция УТ 10.3 (10.3.14.5). Пойдет?

    Reply ↓
  33. gad_d

    (38) maxpostal, Пойдет.

    Reply ↓
  34. DimitrT

    Интересно, отработает на украинской конфигурации?

    Reply ↓
  35. oxana1

    на молдавской работает!:)

    спасибо!

    Reply ↓
  36. Fialka88

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

    Reply ↓
  37. Fialka88

    {ВнешняяОбработка.ЭкспрессПроверкаВеденияУчета(280,22)}: Переменная не определена (УчетНДС)

    УпрощенныйУчетНДС = <<?>>УчетНДС.ПолучитьУПУпрощенныйУчетНДС(Организация, ДатаНач, УчетнаяПолитика);

    Выдает эту ощибку что можно сделать????

    Reply ↓
  38. Fialka88

    что ни чего сделать нельзя??? (((

    Reply ↓
  39. gad_d

    (44) Fialka88, уточните пожалуйста на какой конфигурации, платформе происходит описанная вами ошибка. Обработка изначально была предназначена для конфигурации «Управление торговлей, ред. 10.3». Работу с другими конфигурациями я не проверял.

    Reply ↓
  40. Fialka88

    Управление торговым предприятием редакция 1.0, (1.0.15.9)

    Reply ↓
  41. gad_d

    (46) Fialka88, к сожалению вам эта обработка не подходит.

    Reply ↓
  42. Fialka88

    ((( да я уже поняла … спасибо

    Reply ↓
  43. n_lintek

    Спасибо! огромное за такую наработку.. Такая должна быть во всех конфигурациях по умолчанию ! Может , что где-то и не так, пока не обнаружила, вот при всей моей дотошности ошибки , которые не видны отчетами, нашла .. еще раз большой респект.

    Reply ↓
  44. greenvitla

    интересно

    Reply ↓
  45. n_lintek

    нашла ошибочку — заказ был зарезервирован, затем был снят весь товар с резерва , но в заказе поставщика и в поступлении есть товар , вставший под контроль этого заказа , отчет сообщает, что надо отгрузить » со склада» (( а отгружено верно «из резерва» так как резерв лег через » поступление товаров и услуг»

    Reply ↓
  46. gad_d

    (51) n_lintek, Так как вы описали операция вообще не должна идентифицироваться как ошибочная. Проверил на демо базе, все отработало корректно. Что у вас показывает отчет «Товары в резерве на складах» по этой позиции? Используются ли у вас характеристики, серии при резервировании?

    Reply ↓
  47. n_lintek

    Спасибо за отклик. У нас 1,0,5. Нет просто резервируем, без усложнений, но вот на КА 1,1,14,1 — точно есть такое (( в анализе по заказу все чисто, в отчете Анализ доступности товаров , тоже все чисто (( с какими настройками и группировками надо сделать Товары в резерве ?

    Reply ↓
  48. n_lintek

    Ой спс за обработку )) нашла , такое устроить )) резерв на одном складе , а отгруз на другом . анализ заказ ни чего не показывает в таком случае.. ну очень странно .. (( (( это действительно видно в резерве именно по этому товару!

    Reply ↓
  49. n_lintek

    gad_d, есть еще особенность в 1с , комплектующие под комплект можно резервировать, в документе «резервирование товаров» , созданный на основании заказа покупателя, заполняешь — размещением комплектующими для комплектов. Все они выходят в превышении над заказом в экспресс проверке ((, но при создании комплектации программа видит , весь этот товар зарезервирован и списывает из резерва! вот тут как посоветуете быть?

    Reply ↓
  50. Mx00

    Спасибо, столько ошибок — теперь бухгалтер разбирается что с этим делать

    Reply ↓
  51. gad_d

    (55) n_lintek, А что тут посоветуешь. Имейте в виду подобную ситуацию при анализе базы. Замечу, что экспресс проверка выявляет в учете точки на которые следует обратить внимание. Не обязательно эти точки — ошибки. «Это не баги, это фичи» )).

    Reply ↓
  52. n_lintek

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

    Reply ↓
  53. lexeika

    Отличная вещь, буду усиленно юзать. Спасибо.

    Reply ↓
  54. lexeika

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

    При попытке напечатать отчет выходит: «{Форма.Форма.Форма(162)}: Ошибка при вызове метода контекста (Вывести)

    ВремТабДокумент.Вывести(ЭлементыФормы.ДокументРезультат.Область());

    по причине:

    Несоответствие типов (параметр номер ‘1’)

    »

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

    «Управление торговлей», редакция 10.3 (10.3.14.5) (http://v8.1c.ru/trade/)

    Copyright (С) ООО «1C», 2003-2011. Все права защищены

    (http://www.1c.ru)

    Reply ↓
  55. gad_d

    (60) lexeika, Спасибо за замечания, исправил.

    Reply ↓
  56. lexeika

    (61) Отлично. Спасибо огромное.

    Reply ↓
  57. ASoft

    За идею спасибо. Плюсую.

    Reply ↓
  58. ShestakovVitaly

    Делал отчет с большим фунционалом для УПП:

    http://infostart.ru/public/119569/

    Reply ↓
  59. Ламия

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

    Reply ↓
  60. electronik

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

    Reply ↓
  61. Iwan777

    Эта обработка только ищет ошибки? Или ещё исправляет их?

    Reply ↓
  62. desblyum

    Огромное спасибо, выручило!

    (67) Iwan777, Предлагает рекомендации по исправлению найденных ошибок

    Reply ↓
  63. n_lintek

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

    Reply ↓
  64. gad_d

    (69) n_lintek,

    А что именно, на ваш взгляд, нужно добавить(убрать)?

    Reply ↓
  65. n_lintek

    Работа с комплектацией — резервирование, но как их вычислить в 1с эти резервы просто (( одни вопросы к разработчикам (( .. нет ни каких маркеров… а там тоже все зависает периодически, контролировать даже с отчетом сложно(( Но вполне возможно, что есть что-то просто я в силу своих неглубоких познаний 1с , не могу их увидеть (( И еще что можно добавить.. и это реально это проверка документов на время их проведение. например чтоб заказ был раньше реализации , ордер позже реализации.. такая мелочь, но приходиться ручками отслуживать(( и сразу добавить в обработку и исправление времени. например дату реализации увеличивать на 5 секунд, относительно времени заказ и подтягивать к этому ордер. Может еще где-то важны такие моменты, я пока ковыряюсь в этом. До остального просто руки не доходят (( все же время и силы ограниченны естественными причинами)

    Reply ↓
  66. Prelude

    Надо бы её доработать, чтобы учитывала корректировки реализаций и поступлений

    Reply ↓
  67. LexSeIch

    Мир этому дому!

    Идея интересная. С какими версиями УТ обработка работает?

    Reply ↓
  68. Prelude

    Обработка не учитывает разницу движений по складам и партиям по документам корректировка реализации и корректировка поступления. Можно ли исправить?

    Reply ↓
  69. orehova123

    вот это просто спасение для нового буха или сопровожденца в новом проекте

    Reply ↓
  70. sobeyko2008

    Спасибо огромное автору. Обработка огонь! Если автор еще в теме, проверь пожалуйста корректно ли сравнивает остатки номенклатуры организации с реальными. У меня в отчете по товарам ГТД организации сходится с фактическими, а обработка показывает что нет!

    Reply ↓
  71. gad_d

    (76) sobeyko2008,

    А что именно не сходится? Можно ли подробнее с примерами (можно в личку). Что в вашем случае «реальные» остатки, это остатки по складам? Проверка «Разница в остатках по складам и организациям» сравнивает остатки [товары на складах]+[товары в НТТ]+[товары в рознице] с [остатки по организациям].

    Reply ↓
  72. sobeyko2008

    Вот такая картина получается:

    Судя по вашему отчету фактически на складах товара:Утеплитель автомобильный № 10 (Белое) 6+2=8

    а остатков у организаций тоже 8. Вопрос номер 1 — почему тогда посчитало что это ошибка?

    а теперь воспользуюсь штатными отчетами и вижу что фактического остатка на складах 6+2+1 = 9 (проигнорирован один склад)

    а в отчете ГТД организации вообще 2+11=13

    см. скрины

    Reply ↓
  73. sobeyko2008

    кстати по моему мнению было бы гораздо удобней если бы склады располагались в одну строчку а не в столбик!

    Reply ↓
  74. sobeyko2008

    Что скажете?

    Reply ↓
  75. shoy

    А были исправления с учётом документов корректировки поступления и реализации?

    Если нет, то стоит доработать.

    По этой причине, пока, не возьму даже тестить

    Reply ↓
  76. V.Nikonov

    Не плохо бы добавить Анализ Ордерных схем: ТоварыКПередачеСоСкладов; ТоварыКПолучению…

    Часто бывают Ордера не соответствующие первичному документу (Перемещение, Реализация, ПоступлениеТМЦ …)

    Reply ↓
  77. floodprog

    При работе по «ордерной схеме» при операции перемещение. Выдает ошибку на проверке «Различие движений по партиям и складам». Так как двигают партии разные документы. Прих ордер на товари и Расх.

    Reply ↓
  78. Strannik99

    Проект заморожен похоже ?

    Reply ↓
  79. Эльвира933

    Добрый день. Скачала Вашу комплексную проверку (у нас конфигурация «Управление торговлей», редакция 10.3 (10.3.18.5)), почему-то при открытии выдает ошибку…

    Reply ↓
  80. gad_d

    (85) Эльвира933, У вас старая версия торговли, и наверно переписанная. Возможно это и приводит к ошибке. А какая именно ошибка?

    Reply ↓
  81. olesha

    Для УТ11, есть такая?

    Reply ↓
  82. gad_d

    (87) Нет, к сожалению.

    Reply ↓
  83. user1249898

    Приветствую!

    Хочу спросить, является ли нормальным наличие ошибки «Отрицательные остатки по заказам поставщикам» при условии, что:

    а) документы «Заказ поставщику» и «Поступление товаров и услуг» в USD (договоры и оплаты тоже, все документы привязаны к заказу поставщику)

    б) цены и количества в документе «Заказ поставщику» и «Поступление товаров и услуг» одинаковы

    в) все курсы на дату самого последнего документа в цепочке загружены

    г) между датами документов «Заказ поставщику» и «Поступление товаров и услуг» несколько месяцев (курсы изменились, но не на порядок)

    Спасибо!

    Reply ↓

Leave a Comment

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