Проблема с резервами товаров - при перемещении между собственными фирмами

1. Khaliff 2 29.11.08 19:54 Сейчас в теме
Есть проблемка с резервами товаров. Комплексная 7.7, один оптовый склад на 2 фирмы (у каждой фирмы свое юридическое лицо).

Пример:
у фирмы_1 нет товара, но она выписала клиенту счет (этот товар есть у фирмы_2), склад у них общий. После того, как клиент оплатил счет, товар ставится в резерв.

На примере это выглядит так:
фирма_1 количество = 0, резерв = 0,
фирма_2 количество = 1, резерв = 1.

Фирма_1 начинает оформлять накладную конечному клиенту, и поскольку товара для выдачи не хватает (но товар есть у фирмы_2), то перед продажей клиенту сначала товар перемещается (а вернее, официально продается) от фирмы_2 фирме_1.
При этом автоматически формируются накладные между фирмой_1 и фирмой_2, но вот резервы остаются как были (а это неправильно, т.к. приводит в дальнейшем к ошибке в учете резервов):

При продаже конечному клиенту происходит следующее: резерв у фирмы_1 уменьшается, а у фирмы_2 как был резерв, так и остался.

На примере это выглядит так:
фирма_1 количество = 0, резерв = -1,
фирма_2 количество = 0, резерв = 1.

Перемещение между собственными юридическими лицами делается автоматически (доработан документ Реализация).

Кто сможет подсказать, как "переместить резерв между собственными юридическими лицами"?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. Khaliff 2 18.12.08 21:14 Сейчас в теме
Открой в конфгураторе модуль проведения документа реализация

да-а-а... там такое наворочено, в этом не разобраться, да и страндартную процедуру трогать зачем?

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

--> НачатьТранзакцию();
--> ДокРеализация = СоздатьОбъект("Документ.Реализация");
--> ДокРеализация.Новый();
--> ДокРеализация.ДатаДок = ДатаДок;
--> ДокРеализация.АвтоВремяТекущее();
--> // идентичные реквизиты шапки
--> СкопироватьРеквизитыШапки(Контекст, ДокРеализация);
--> ДокРеализация.Скидка = "";
--> ДокРеализация.ДокОснование = "";
-->
--> Ф = СоздатьОбъект("Справочник.Фирмы");
--> Если Фирма.Код = "00001" Тогда
--> Ф.НайтиПоКоду("00002");
--> ИначеЕсли Фирма.Код = "00002" Тогда
--> Ф.НайтиПоКоду("00001");
--> КонецЕсли;
--> К = СоздатьОбъект("Справочник.Контрагенты");
--> Если К.НайтиПоРеквизиту("ЮрФизЛицо", Фирма.ЮрЛицо, 1) = 1 Тогда
--> ДокРеализация.Фирма = Ф.ТекущийЭлемент();
--> ДокРеализация.ЮрЛицо = Ф.ЮрЛицо;
--> ДокРеализация.Контрагент = К.ТекущийЭлемент();
--> ДокРеализация.Договор = К.ОсновнойДоговор;
--> КонецЕсли;
--> ДокРеализация.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + СокрЛП(ДокРеализация.Фирма.ЮрЛицо.ПрефиксНомеровДокументов));
--> // уникальные реквизиты шапки
--> ДокРеализация.КодОперации = глКО.Продажа;
--> ДокРеализация.ДатаОплаты = ДатаДок;
--> // табличная часть
--> ДокРеализация.ЗагрузитьТабличнуюЧасть(ТаблицаДокумента);
--> ДокРеализация.Комментарий = СтрокаКомментария;
-->
--> ДокРеализация.СуммаВзаиморасчетов = ДокРеализация.Итог("Сумма");
--> ДокРеализация.Записать();
--> ДокРеализация.ПеремещениеСделано = 1;
-->
--> ДокРеализация.Провести(1);
--> Если ДокРеализация.Проведен() = 0 Тогда
--> ОтменитьТранзакцию();
--> Возврат;
--> КонецЕсли;

но не вижу здесь ничего, что может влиять на резервы.
Все операции с резервами, видимо, в стандартных процедурах выполняются, как же мне докопаться до исправления "неправильности резервов"
[диагностику я уже выполнил, суть вот так сформулировал: как "переместить резерв между собственными юридическими лицами"? т.е. у фирмы_1 добавить резерв, у фирмы_2 уменьшить резерв].
2. Khaliff 2 29.11.08 20:00 Сейчас в теме
Кусок кода, который делает перемещение (реально это не перемещение, а настоящая реализация товара между собственными юр.лицами), я сохранил в файле, могу выложить.
3. CheBurator 2725 30.11.08 13:28 Сейчас в теме
- а чего это вы заявку от покупателя принимаете на Ф2, а продаете с ф1? отсюда все ваши проблемы...
- как стоит настройка "разрешить продавать резерв"?
- исходная конфигурация правилась чьими-то кривенькими ручками?


..я бы делал так: контроль остатков: по компании (или по упр.аналитике), спокойно торгуем, в конце дня (недели, месяца - производим перепродажу между собственными фирмами) в нужных местах...
4. CheBurator 2725 30.11.08 13:30 Сейчас в теме
> а настоящая реализация товара между собственными юр.лицами)
- вот и смотрите там - производится ли снятие резерва и прочие необходимые действия... а еще лучше - кто писал эту "настоящую реализацию" - пусть поправит как надо...
5. poppy 06.12.08 01:15 Сейчас в теме
2Khaliff

Почитай здесь http://infostart.ru/blogs/612/

Если контроль остатков стоит, как написал Че, то не стоит бояться минусов по фирме или собственному юр. лицу.

Если контроль остатков установлен по фирме, то необходимо:
1. Изучить как работают типовые алгоритмы;
2. Отказаться от услуг программиста и обратиться к нормальному специалисту.
6. Khaliff 2 17.12.08 16:26 Сейчас в теме
"Контроль отрицательных остатков ТМЦ" = не контролировать.
вот такая у нас установка.
7. Khaliff 2 17.12.08 16:58 Сейчас в теме
Poppy
>Почитай здесь ...
нет, та методика не для этого случая,
тут оба юр.лица белые, просто когда у одного не хватает - берет у другого со склада.
весь учет, в принципе, отлично налажен, но вот эти резервы немного мешают, если к ним приглядеться.
Если же не приглядываться, то получается:
в разрезе "по складам" - картина реальная (резерв "-1" и резерв "+1" друг друга съедают, и получается резерв 0)
а вот в разрезе "по фирмам" - там это и выплывает,
но менеджеры при продажах пользуются "по складам",
вроде и не мешает, но в некоторых случаях эти дурацкие неправильные резервы портят картину!
8. Khaliff 2 17.12.08 17:08 Сейчас в теме
в чужом коде, понимаю, что никому не захочется копаться,
ну сам бы опробовал найти проблемное место,
какие переменные отвечают за резервы и их снятие при нормальных реализациях?
9. poppy 17.12.08 22:34 Сейчас в теме
> нет, та методика не для этого случая,

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

Кстати, почему у тебя отключен контроль остатков?

Есть еще одна непонятка. Почему счет выставляет фирма_1, а резерв ставится на фирму_2?
10. Khaliff 2 18.12.08 17:59 Сейчас в теме
Poppy
две фирмы, склад один.
обе фирмы закупают, обе продают.
если у одной недостаточно товара, то берет у соседней фирмы и продает.

контроль отключен: иногда надо выписать документы на отгрузку, а товар еще реально не пришел, но придет завтра, например.

всё-таки какие переменные или процедуры участвуют в создании резервов, в снятии резервов - при обыкновенной Реализации (ей предшествовала Заявка на поставку)?
11. CheBurator 2725 18.12.08 18:30 Сейчас в теме
> контроль отключен: иногда надо выписать документы на отгрузку, а товар еще реально не пришел, но придет завтра,
- бяка. вот как товар придет - так и выпишите документы - проблема в чем? в нехватке 5 минут для выписки документов? или в том что принципиально некому в момент отгрузки выписать документы?
> но придет завтра,
..угумс .. и этот товар оприходуют тупо не на ту фирму... так и останется все "по минусам"
.
> всё-таки какие переменные или процедуры участвуют в создании резервов, в снятии резервов - при обыкновенной
- по разному, в зависимости от применямых схем учета.
Открой в конфгураторе модуль проведения документа реализация и пройдись визуально по алгоритму... (если подкован - трасер от Опланета включи).
.
> (резерв "-1" и резерв "+1" друг друга съедают, и получается резерв 0)
а вот и нет, как раз и остается резерв -1 и резерв +1
...
у тебя проблемы в тех криворукописных алгоритмах (?), по перепродаже/перемещению между фирмами (описано в (0)).
13. CheBurator 2725 19.12.08 15:15 Сейчас в теме
ДокРеализация.СуммаВзаиморасчетов = ДокРеализация.Итог("Сумма"); - в общем случае неверно, наступите как-нибудь на грабли.
..
Приведенный код - в каком месте выполняется?
..
Резервы "снимаются" документом реализации..
..
пишешь очень много слов, приведи свою цепочку документов (если изменены алгоритмы проведения документов - укажи как именно изменены на уровне идеи).
т.е. у тебя должно быть что-то типа такого:
ПоступлениеТМЦнаФ1 - ЗаявкаНаСкладНаФ1дляКл1-(принимаем решение продавать от Ф2)-РеализацияОтФ1наФ2-ПоступлениеТМЦнаФ2отПост(Пост=Ф1)-РеализацияОтФ2наКл1
- распиши цепочку поподробнее...
14. PeRom 51 19.12.08 15:50 Сейчас в теме
Ошибка в том, что товар ставиться в резерв второй(видать там документ поправили), а убирается с резерва первой(сюда ещё не добрались). Вам нужно одно из двух - править везде или отменять правки везде. Самый простой способ - доработать
(0)Перемещение между собственными юридическими лицами делается автоматически (доработан документ Реализация).
и снимать резерв(если он есть конечно) при перемещении. А для этого сравнить ОбработкиПроведения стандартной реализации и реализации с фирмы на фирму.
15. Khaliff 2 19.12.08 16:42 Сейчас в теме
PeRom
товар ставиться в резерв второй

ситуация такая: на складе есть товар. Какая фирма его закупила - не важно, главное - что есть товар, который можно продавать. Приходит клиент и выписывает счет (счет от Фирмы1), оплачивает. Неподтвержденная->Заявка на поставку. При этом (при заявке на поставку) товар ставится в резерв (если он есть на складе), это стандартная логика работы 1С. Теперь рассматриваем этот резерв подробнее: выясняется, что все позиции, кроме одной, закуплены Фирмой1, а одна позиция закуплена Фирмой2 (соответственно, все эти позиции есть на складе, но в разрезе "по фирмам" две строки - для каждой фирмы своя строка наличия на складе). Так же и резервы: все позиции, принадлежащие Фирме1, находятся в резерве Фирмы1, а одна позиция, которая принадлежит Фирме2, она в резерве Фирмы2.
Теперь ждем, когда клиент придет получать товар, он приходит. Начинаем выписывать Реализацию. Автоматом (за счет "доработки" кода 1С) программа видит, что для отгрузки от Фирмы1 товара не хватает, и надо ту единственную недостающую позицию забрать у Фирмы2, тогда Реализация пройдет нормально. Хорошо, "автоматом" создается Реализация Фирма2->Фирма1, Поступление в Фирму1 (плюс счет-фактуры, естественно). Вот теперь РеализацияКлиенту спокойно может быть проведена, что и происходит.
Вот такой алгоритм.
Всё работает отлично.
Кроме: резерв на эту "перепроданную" позицию, он ведь изначально был по Фирме2, т.к. товар в момент "Заявки на поставку" принадлежал Фирме2. При "автоматической" перепродаже резерв никуда не сдвинулся. При РеализацииКлиенту товар по этой проблемной позиции ("автоматом" перепроданный Фирма2->Фирма1) он появился на складе Фирмы1 и тут же был отгружен Клиенту, так? И при этом 1С делает вот что: "уменьшить резерв по позиции у Фирмы1".
А резерв-то висит на Фирме2!
Получается по Фирме1: резерв был =0, стало = -1.

CheBurashka Сергей
приведи свою цепочку документов

вот, в принципе, и вся цепочка. Могу еще для упрощения так написать:

ПоступлениеТМЦнаФ2 - ЗаявкаНаПоставкуНаФ1дляКл1 - (товар на складе у Ф2) - РеализацияОтФ2наФ1 - ПоступлениеТМЦнаФ1отФ2 - РеализацияОтФ1наКл1

Приведенный код - в каком месте выполняется?

в Реализации.
16. poppy 19.12.08 22:59 Сейчас в теме
(15)
> а одна позиция, которая принадлежит Фирме2, она в резерве Фирмы2.

Это не стандартная логика работы 1С. Копай здесь.

> для отгрузки от Фирмы1 товара не хватает, и надо ту единственную недостающую позицию забрать у Фирмы2, тогда Реализация пройдет нормально.

У тебя же контроль остатков отключен, поэтому Реализация пройдет нормально и без этих телодвижений (забираний у Фирмы2).

Кстати, как твоя бухгалтерия обходит такую ситацию?
> иногда надо выписать документы на отгрузку, а товар еще реально не пришел, но придет завтра
Ты говорил, что фирмы белые...?
17. Khaliff 2 20.12.08 17:17 Сейчас в теме
Poppy
Это не стандартная логика работы 1С

Спасибо за ценное замечание! Пошел проверил в конфигурации "демо" - и точно: резерв встает у Ф1.
Пошел проверил в рабочей базе - создал Поступления, Заявки, Реализации - оказывается, и у меня тоже как в "демо".
?!?
Нашел старую ведомость по товарам - а там почему-то логика другая, ничего не понятно! (картинку прилагаю). Заново сформировал ведомость по картинке - та же фигня как в картинке,
... надо подумать...

18. poppy 20.12.08 22:17 Сейчас в теме
(17) > Нашел старую ведомость по товарам - а там почему-то логика другая, ничего не понятно!

Это значит, что в когда ты проводил докуметы, которые в старой ведомости, была другая конфигурация.
19. Khaliff 2 22.12.08 15:45 Сейчас в теме
Poppy
я выяснил в чем проблема: есть нюанс в стандартной логике работы 1С -
если для поступления товара использовался документ Заказ поставщику -
он и портит картину по резервам!
пример:
ф1 заявка покупателя
ф2 заказ поставщику
ф2 поступление - уже на этом этапе резерв оказался на ф2
ф2->ф1 перепродает товар
ф1 реализация клиенту

если то же самое сделать без "ф2 заказ поставщику", то всё нормально.
[проверено на "демо" 1С, т.е. такая логика зашита в саму 1С, а не в нашу конфигурацию]
20. CheBurator 2725 22.12.08 16:26 Сейчас в теме
Не надо ля-ля... заказ поставщику - ничего не портит! Портят кривенькие ручки, покоцавшие штатные алгоритмы... По приведенному в (19) схеме резерв на Ф" никак ШТАТНО организоваться не может.. потому как необходимости в резерве на Ф2 - нет...
Если не заборешь - выходи на связь на длинных новогодних выходных... при конструктивном подходе - выправим на раз...
22. Fuego 463 22.12.08 20:32 Сейчас в теме
(19) а доделать под нужды своих организаций не судьба? И вообще, что за вопросы про полусамописную конфигурацию? Это всё равно что "А плюс Бэ делённые на Цэ сидели на трубе. Икс упала, Цэ пропала. Какое число в результате уравнения?"
21. Khaliff 2 22.12.08 20:11 Сейчас в теме
CheBurashka Сергей
Не надо ля-ля...

проверь в Комплексной конфигурации (демо),
выбери фирму ТД Комплекный и ТД Новый,
создай заявки в том порядке, как я показал,
и увидишь!
23. CheBurator 2725 22.12.08 22:00 Сейчас в теме
(21) на что забъем спор? потому как задарма юзаться неохота...
и не выйдет как ты написал, ибо во всех этих регистрах учет ПО ФИРМЕ, а с фирмы на фирму самостоятельно ничего не прыгает! и заказ поставщику не закроет заявку покупателя - потому что на РАЗНЫЕ ФИРМЫ они сделаны! и т.д.
24. CheBurator 2725 23.12.08 01:43 Сейчас в теме
(21) короче, как будет интерес "забить" - стучись в личку...
25. Khaliff 2 23.12.08 11:56 Сейчас в теме
Комплексная 7.70.486 (демо)

вот эти операции:


фотка покрупнее здесь:
http://img-eburg.fotki.yandex.ru/get/3206/va4-inbox.0/0_1f89_c933d4c1_orig

привели к такому состоянию резервов:


фотка покрупнее здесь:
http://img-eburg.fotki.yandex.ru/get/2709/va4-inbox.0/0_1f8a_f6456621_orig

Примечание:
если сделать все те те операции, но не создавать "Заказ поставщику",
то 1С отработает нормально, без глюков.
26. CheBurator 2725 23.12.08 16:26 Сейчас в теме
инфы на рисунках - недостаточно...
1. завести в номенклатуру НОВЫЙ ТРЕНИРОВОЧНЫЙ ТОВАР.
2. СДЕЛАТЬ НОВОГО ТРЕНИРОВОЧНОГО КЛИЕНТА-ПОКУПАТЕЛЯ.
3. смоделировать цепочку документов, приводящую (предположительно) к "плохим" данным, документы вводить последовательно один за другим.
4. мне на почту e.meil@mail.ru
- по каждому документу скриншот основной закладки и закладки табличной части.
- по каждому документу - открыть документ, кнопка "Действия" - Отчет о движениях документа.
- отчет по товару п.1 "Ведомость по остаткам ТМ" с максимальной детализацией.
5. скриншот настроек Меню-Сервис-Настройка параметров учета - Закладка "Режимы работы" (там где устанавливается контроль остатков)
27. Fuego 463 23.12.08 23:09 Сейчас в теме
(26) Сергей, чё ты паришься?.. :) Он всё равно не поставит :))
28. CheBurator 2725 24.12.08 01:45 Сейчас в теме
не, ну мну реально интересно - кто из нас тупит?
29. CheBurator 2725 24.12.08 01:47 Сейчас в теме
У меня в ТиСе я принудительно делал, что приход от другого поставщика закрывал "чужой" заказ поставщику - но это надо прописать принудительно!!!
..мну реально интересует.. я даже поспорить готов... и проиграть - не боюсь... проиграю - реально признаю что тупил не падеццки...
30. Khaliff 2 24.12.08 10:34 Сейчас в теме
Fuego
нас уже трое, у кого какие ставки? :)
Да ладно, конечно, не поставлю, тут интерес пропал после того,
как выяснилось, что этот глюк зашит в 1С-ку,
просто откажемся от использования "Заказ поставщику" и делов-то,
вот простейшее решение проблемы!
(после того, как с помощью уважаемого сообщества мы все вникли в проблему, и докопались до сути, всем огромное спасибо. И с Наступающим!)
32. CheBurator 2725 24.12.08 11:16 Сейчас в теме
(30) тебя ломает выслать материалы которые я попросил? ;-)
34. Fuego 463 24.12.08 14:02 Сейчас в теме
(30) слова "глюк зашит в 1С-ку" - это совершенно пустые слова! Как глюк может быть зашит? Если бы мы говорили о глюке в платформе, то можно совершенно забыть о том, что есть документ "Заказ поставщику"! Вообще нет никаких документов в платформе! Это ПЛАТФОРМА 1С - плацдарм для разработки бизнес-приложений при помощи предметно-ориентированного программирования! Результат такого программирования - это КОНФИГУРАЦИЯ! И для того программисты 1С и существуют, чтобы корректировать и создавать эти самые конфигурации под конкретные нужды компании! Если ты говоришь о глюке зашитом в конфигурации, ты подписываешься на справке, в которой сказано, что ты болван. Ищущий находит, а под лежачий камень вода не течёт.
31. CheBurator 2725 24.12.08 11:15 Сейчас в теме
Глюка - нет!
может он есть именно в комплексной - в ТиСе его нет... нет и все!!!
33. CheBurator 2725 24.12.08 11:17 Сейчас в теме
или по крайней мере скинь архив комплексной демо, на которой тренировался
e.meil@mail.ru
35. CheBurator 2725 24.12.08 15:26 Сейчас в теме
Вот так пришел человек проблему решить, а его оболванили ;-)
36. Khaliff 2 24.12.08 17:30 Сейчас в теме
Fuego
мне стало смешно, когда прочитал твой пост, т.к. получается в стране так много болванов (сколько пользователей конфигурации "Комплексная"?)
37. Fuego 463 24.12.08 17:52 Сейчас в теме
(36) ну ты, парень, совсем ничего не понял... При чём тут "Комплексная"? При чём тут бедные пользователи, которые всё ждут-недождутся пока такие вот как ты программисты ищут не столько решения проблемы, сколько успокаивающих и тешащих "фактов" для себя. Я про пользователей вообще в прошлом посте ничего не говорил. Тебе предлагали помощь реальную, реальные люди (далеко не роботы), а ты сам себе решил, что "Глюк зашит в 1С-ку". Вот это воистину смешно!
38. Khaliff 2 24.12.08 18:01 Сейчас в теме
CheBurashka Сергей
скинул конфу мылом 2 письма по 20Мб
39. Khaliff 2 24.12.08 18:35 Сейчас в теме
CheBurashka Сергей
напоминаю суть эксперимента, который я проводил:
(все операции касаются одной и той же номенклатурной позиции)
ф1 заявка покупателя
ф2 заказ поставщику
ф2 поступление - уже на этом этапе резерв оказался на ф2
ф2->ф1 перепродает товар (т.е. ф2 реализацияНаФ1, ф1 поступлениеОтФ2)
ф1 реализация клиенту
41. CheBurator 2725 24.12.08 19:50 Сейчас в теме
(39)
- режим заявки покупателя? какой вариант выбран конкретно?
- режим заказа поставщику - по конкретным заявкам покупателей или кучей?
42. Khaliff 2 24.12.08 21:48 Сейчас в теме
(41) заявка покупателя: заявка на поставку,
заказ поставщику: просто создать новый (без привязки к чему-либо, без ввода на основании)
43. CheBurator 2725 25.12.08 01:52 Сейчас в теме
(42) каким образом заполнен заказ поставщику - с указанием в строке заявки покупателя?
40. Khaliff 2 24.12.08 18:37 Сейчас в теме
дополнение:
склад у ф1 и ф2 один и тот же
(в конфигурации "демо" это - "главный склад")
44. poppy 25.12.08 11:00 Сейчас в теме
Khaliff все правильно написал. Конфигурация именно так и работает. И Комплексная, и ТиС. Работает она правильно...

Главное, что глюк заключается не в том, что разработчики плохо разработали конфигурацию и не в том, что программисты плохо ее запрограммировала, но в том, что логика, заложенная в конфигурацию, не соответствует ожиданиям Khaliff'a.

Khaliff, в типовой конфигурации установи контроль остатков "по фирме". Повтори эксперимент. Сравни результаты.
45. CheBurator 2725 25.12.08 13:14 Сейчас в теме
...ээхх, зря Khaliff, значит, со мной на шоколадку не забился!...
46. Khaliff 2 25.12.08 18:34 Сейчас в теме
Poppy
еще не повторял эксперимент, но припоминаю, что еще ранее у меня мелькнула такая мысль, что если "контроль остатков" сделать не как у меня, то возможно результат будет иной
[это называется `прозрение` :) ]
[кстати, эта мысль мелькнула на этапе, когда готовил информацию для Сергея, и всё старался поподробнее сформулировать, что доказывает в очередной раз: сформулировать проблему - уже половина решения!]
47. CheBurator 2725 26.12.08 01:48 Сейчас в теме
(46) а ты думаешь, почему я так все выспрашивал - смотрим (26) п.4 ;-)
48. CheBurator 2725 26.12.08 01:49 Сейчас в теме
еще не смотрел, буду ковырять в выходные если время будет - даже при отсутсвии контроля остатков резерв ИМХО не должен вешаться на другую фирму...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот