Имеется ли возможность загрузки остатков через XML?
#1
Отправлено 21 March 2014 - 18:09
Опишу ситуацию:
Внешняя программа сформировала файл XML остатков по всем материалам: ДСП Белое, Акрил, Дюбонд, Стекло, Зеркало с разными размерами отходов и целых листов. Далее программа Астра при запуске "подхватывает" этот файл с остатками и загружает их в свой "Склад", удаляя переде этим старые остатки, что бы были записаны до импорта. После совершения нескольких раскроев разных заказов программа Астра Раскрой при закрытии формирует файл XML с остатками своего внутреннего "Склада". Внешняя программа записывает их в свою базу для хранения.
Реально ли реализовать такой сценарий симбиоза?
Я понимаю, что имеется возможность ручной выгрузки остатков "Склада". Но можно ли такое автоматизировать, что бы при закрытии не приходилось каждый раз делать выгрузки листов и отходов вручную двумя файлами XML?
#2
Отправлено 21 March 2014 - 18:24
Yarunya (21 March 2014 - 18:09) писал:
Да, конечно. См. в Справочной системе о том, как импортировать список остатков на склад и при этом очистить уже существующий список остатков, а потом добавить на склад новый список.
Yarunya (21 March 2014 - 18:09) писал:
Конечно, можно было бы сделать, чтобы состояние склада автоматически экспортировалось бы в XML по некоторому событию. Однако, может быть это лишнее? Ведь после выполнения очередного заказа он экспортируется в XML и несет всю информацию - сколько листов и остатков было использовано и сколько новых остатков сформировано. Этот файл можно использовать для обновления текущего состояния склада в принимающей программе.
#3
Отправлено 24 March 2014 - 09:30
1. При загрузке заказа в формате XML можно ли загружать любые типы материалов, кроме того материала, который используется в этом заказе?
Например, заказ состоит из материала "Стекло 4мм", могу ли я загрузить паралельно остатки и листы других видов матералов, типа "ДСП Белое", "ДСП Серое", "Дюбонд" и т.д.
2. При записи новых остатков и листов удаляются ли все остальные остатки импортируемого материала, которые были в базе программы Астра до импорта? Или они просто дописываються до тех что были ранее в базе Астры?
3. При экспорте заказа после раскроя выгружаются в файл импорта остатки и листы только тех материалов что были использованы при раскрое? Или выгружаются все остатки по всем материалам (что не логично...)?
4. Реально ли реализовать механизм загрузки листов и остатков при загрузке программы и выгрузке базы при её закрытии, несмотря на все уже реализованные варианты импорта/экспорта? Ведь мы уже имеем часть этого обмена в виде возможности ручной выгрузки базы листов и базы остатков. Осталось только написать возможность авматического срабатывания события. Есть вариант сделать этот механизм (теоретически), но надо знать ответы на выше поставленные вопросы... Просто, как мне кажется, это было бы логично, если пользователь при начале работы загрузил остатки по всем материалов, а после окончания работы выгрузил их в основную программу.
У меня есть много замечаний и предложений, которые накопились за годы работы.
#4
Отправлено 24 March 2014 - 09:47
#5
Отправлено 24 March 2014 - 09:57
<list_materials>
<material type="ДСП" name="Белое гладкое">
<sheet length=" 1000" width=" 1000" thick=" 18" quantity="1" code="" number="1" x=" 0" y=" 0" outorder="" inorder="" nesting="0"/>
</material>
</list_materials>
Это файл экспорта остаков из базы "Астра Раскрой". Значения атрибутов содержат лишние знаки пробелов. Это специально так сделано?
#6
Отправлено 24 March 2014 - 12:27
Yarunya (24 March 2014 - 09:30) писал:
Да, можно.
Yarunya (24 March 2014 - 09:30) писал:
Это как хотите. Если у элемента <data> поставить атрибут stock_rest_resete="1", то перед импортом все существующие остатки на складе будут удалены и в результате импорта будут добавлены новые остатки.
Yarunya (24 March 2014 - 09:30) писал:
При экспорте заказа экспортируются только остатки по этому заказу.
Yarunya (24 March 2014 - 09:30) писал:
Этот механиз есть. Ведь мы о нем говорим?
Yarunya (24 March 2014 - 09:30) писал:
Да. Записал в ближайший план. Точно не скажу, но есть вариант, что на этой неделе сделаем. Подчеркну, что обещать не могу - нам очень трудно менять реализуемые планы на лету.
Yarunya (24 March 2014 - 09:30) писал:
Да, найдет.
#7
Отправлено 24 March 2014 - 13:04
Ещё небольшой вопрос: если в заказ я загружаю листы и остатки, но некоторые из них в результате раскроя не были использованы и должны быть возвращены на склад, то они будут записаны в файл экспорта XML?
Те остатки, которые были получены в результате раскроя программа выводит, а те что не были использованы при экспорте, но были при импорте не пишутся, как неиспользованные...
P.S. В итоге во внешней программе надо иметь список отходов и листов, которые отдаем. После раскроя получаем список использованных остатков и листов, а также отходы которые вышли после раскроя. Я правильно понимаю?
#8
Отправлено 24 March 2014 - 14:59
Yarunya (24 March 2014 - 13:04) писал:
Нет. В этом XML файле возвращается список карт раскроя. Для каждой карты раскроя указаны габариты листа и количество. Если карта сформирована на остатке, то указан также номер остатка. Т.о., чтение этого файла даст информацию - какие именно листы/остатки использованы и сколько. Остальные, соответственно, не использованы.
Yarunya (24 March 2014 - 13:04) писал:
Нет. Использовать ли во внешней программе список остатков и листов - это только Ваше дело. Это вопрос конкретной реализации. Я видел, например, такие реализации интерфейса Астра Раскрой и 1С:
Вариант 1. В 1С принимается список деталей от клиента. Весь склад ведется на стороне Астра Раскрой. В 1С обратно возвращается только площадь использованных материалов.
Вариант 2. В 1С принимаются только реквизиты заказа от клиента и выполняется выбор наименования материала заказа. После этого вызывается Астра Раскрой, где вводится список деталей. Весь склад ведется на стороне Астра Раскрой. В 1С обратно возвращается только площадь использованных материалов.
Вариант 3. В 1С ведется склад материалов как список листов и остатков. В 1С принимаются реквизиты заказа от клиента и выполняется выбор наименования материала заказа. После этого вызывается Астра Раскрой, куда передается список листов и остатков. В Астра Раскрой вводится список деталей. В 1С обратно возвращается список использованных листов и остатков и новые остатки.
Вариант 4. В 1С ведется склад материалов как список листов и остатков. В 1С принимается список деталей от клиента и выполняется выбор наименования материала заказа. После этого вызывается Астра Раскрой, куда передается список деталей, листов и остатков. В 1С обратно возвращается список использованных листов и остатков и новые остатки.
Какую именно реализацию выбрать - это решается на стороне предприятия.