ПУБ 7.7 ведомость дефицита

Новая тема
Показывать по 10 20 40 сообщений
Кто переделывал отчет "Ведомость дефицита" под свои нужды (на правильный результат), откликнитесь. Или кто как учитывает дефицит на предприятии, сырья и материала.
Я переделывал по заказу клиента.
1С-ная сделана без учета возможности замены аналогами, поэтому ее полезность близка к нулю.
Пример:
В спецификации изделия утверждено комплектующее "А" в количестве 10 штук
При этом указано, что при нехватке "А" можно использовать "Б" равноценно к "А".
Ведомость дефицита 1С-ную формируем, получаем сигнал к покупке (10-n) штук "А" (где n - количество "А" на складе) и алгоритм аналоги вообще не анализирует. Вот это я и переделывал.
весело, а мне предстоит переделать , чтобы учитывались полуфабрикаты и только после этого выдавался дефицит материалов, а можно фрагмент вашего кода, вы разворачивали спецификацию вплоть до последнего уровня?
У меня есть нехорошая привычка - никогда не сохранять себе то, что делаю. Но в данный момент вышло исключение, у меня есть копия их базы, релиз, правда, не самый свежий (7.70.308), но, по моему, после обновлений в том отчете ничего не меняли. Короче говоря, это лучше чем ничего. Писалось это довольно давно, поэтому сходу не могу как то прокомментировать те или иные строки в алгоритме, но если сильно надо, напрягусь.
http://depositfiles.com/files/0zjldk883
ИндексТаблицыЗатрат, с помощью этой переменной мы можем посчитать кол-во строк, получается прописываем цикл с переходом в начало если есть полуфабрикат, чтобы дойти до последнего уровня в спецификации, и не потерять все материалы которые входят в спецификацию, (кошмар как-бы в этом не запутатся), а надо ещё учесть аналоги.
Я бы рекурсивный алгоритм делал
Так там есть селектор "Выводить полуфабрикаты". Это не то что вам нужно?
Немножко нето, не до конца считает полуфабрикаты, мне надо чтобы полностью разворачивалось, потому-что часть сырья лежит в полуфабрикатах/узлах  более низщего уровня, сейчас с помощью рекурсии осталось только посчитать и прописать ещё одно условие по полуфабрикатам-вернее остатки , а исходя из них уже и потребность, надо чтобы получилось именно потребность с учетом всех составляющих и остатков, блин и ещё про аналоги не забыть.
Дорогой человек !!! Выручай , очень нужна дефицита с учетем аналогов , поделись хотя бы , той базой что ты выкладывал , на форуме ... ссылки сдохли ...

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

это справедливо и по сей день. Нет у меня этого отчета :). Но клиент-заказчик жив, заеду, спишу.
Недавно обновлял их базу, вот что в памяти всплыло. У 1С работа с аналогами сделана так:
Пусть в спецификации указано, что для того, чтобы сделать изделие нужно 8 комплектующих. При этом на складе у нас есть, предположим, 5 нужных комплектующих. Типовая конфигурация при этом может работать так:
Обнаруживает недостачу, осматривает аналоги и проверяет их наличие, сортирует найденные данные по приоритету замен.
Далее два способа:
1. Комплектующее должно быть заменено в полном количестве, то есть для сборки изделия надо не менее 8 единиц аналога. Не допускается комбинирование аналога и основного материала. Пример: ручки у ящиков письменного стола. В самом деле, было бы странно на столе увидеть 5 ручек одного цвета и 3 другого.
2. Недостающие комплектующие должны быть заменены на аналог. Пример: для сборки того же стола требуется 8 каких нибудь корпусных гаек, не хватило 3 штуки, добавили их из аналога. В результате получили в столе 5 гаек одного вида и 3 другого и это нормально, потому что их все равно не видно.

К этим двум способам я добавлял еще один, то есть, конфигурация там совсем нетиповая.
3. При нехватке комплектующих недостачу нужно заменить на цепочку аналогов. У 1С, почему то, не реализован такой вполне нормальный ход. То есть, если не хватило 3 гайки, но есть аналоги одного вида 2 штуки и другого 1 штука, то система не понимает что ими можно восполнить недостаток. Это я переделывал, чтобы такое было возможно.

Это я к чему написал? К тому что мой алгоритм, возможно, как то затрагивает третий вариант работы и когда вы получите мой отчет, вы знайте, что он подразумевает такую развязку событий, поэтому не факт, что оно для вас мгновенно подойдет, ведь вы не переделывали функции в глобальном модуле, которые замену аналогами выполняют.
А еще там есть глюк, если для разных аналогов указать одинаковое значение приоритета, то даже если их будет достаточно, система не сумеет выбрать нужный и не сделает замену недостающего количества.
"Спасибо , что не равнодушны к моей проблеме , вы очень понимающий человек ...

Нужно в идеале , что бы при формирование отчета ведомости , дефицитные позиции заменялись аналогами ,

и соответственно не отображались как дефицит

я в 1с вобще плохо понимаю , читал что

Процедура СформироватьТаблицуМатериалов(ТаблицаМатериалов, Прод, Спецификация, Кол, ОбсчитатьТаблицу)
Перем ТЗатрат;
-----------------------------------------------------
//////////////////////////////////////
... вот здесь,перед этой процедурой(..глЗатратыПоПродукции...), нужно передать вместо ТабАналогов - объект "ТаблицаЗначений"...
после обработки глобального модуля в этой таблице будут все аналоги, привязанные к строке ТЗатрат,
ну а дальше здесь дописываем, как будем их учитывать... структура ТабАналогов см. в глобальном, там все просто...

глЗатратыПоПродукции(Прод, Спецификация, Кол, ДатаКон, ТЗатрат, ТабАналогов, 0, ПоПф);

у меня не получилось ..."
Читают тему
(гостей: 1)

Быстрый переход