7.7 Документ "Реализация (розница)" в 7.70.944

Тема в разделе "Типовые решения "1С:Предприятие 7.7"", создана пользователем К_Е, 22 июл 2010.

  1. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    1С 7.7 ТиС ред. 9.2, релиз 944

    кто-нибудь может подтвердить догадку по следующей ситуации:
    Есть документ "Неподтвержденная заявка", на основании этой заявки делается д-т "Реализация (розница)", ошибка заключается в том, что в документ попадают не все позиции из заявки и те, что попадают, могут быть с ошибочным количеством.
    Проблем с последовательностями документов нет. Остатки на складах есть 100%!
    Есть догадка, что это ошибка кода. Релиз, к сожалению старенький, 944-й. Никто не знает? а? :unsure:
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Думаю вы не так смотрите остатки скорее всего. Выберите как в заявке: фирма/склад... Думаю ситуация изменится
  3. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    нет-нет, с фирмой и складом все в порядке - и в остатках, и в заявке указывается одинаково.
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Попробуйте переиндексировать базу. При заполнении на основании довольно постой алгоритм.
    1) Выгрузили табличную часть заявки
    2) Проверили есть ли по ней резерв и не снят ли он
    3) Взяли остатки
    4) Заполнили табличную часть с учетом их.
    Посмотрите процедуру ЗаполнениеПоИтогам() может кто ручками полазил?
  5. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Благодарю за подсказку!

    Открыла процедуру как для формирования документа "Реализация (розница)", так и для документа "Реализация". Вроде как они же аналогичны (документ "Реализация" формировался всегда правильно, а "Реализация (розница)" - с ошибками)
    Воткнула в процедуру пошаговое отслеживание и вот что получилось:
    для документа "Реализация (розница)" выполняется следующий ряд условий:
    Код:
    Если Константа.КонтрольОтрицательныхОстатков = Перечисление.СпособыКонтроляОстатковТМЦ.НеКонтролировать Тогда 
    ЗаполнятьСУчетомОстатков = 0; // выполняется для д-та "Реализация"
    Иначе
    ЗаполнятьСУчетомОстатков = 1; // выполняется ДЛЯ д-та "Реализация (розница)"
    Если глПолучитьПолномочие("РазрешитьПродаватьРезерв") = 0 Тогда
    ЗаполнятьСУчетомРезервов = 1;
    КонецЕсли;
    КонецЕсли;
    ....
    
    Если ЗаполнятьСУчетомОстатков = 1 Тогда
    Отпустить      = Мин(ТаблицаДокумента.Количество * ТаблицаДокумента.Коэффициент, КоличествоРасход);
    МожноОтпустить = ПолучитьКоличество(ФирмаДляОстатковТМЦ, ТекНоменклатура, Отпустить,
    РегОстатки, ЗаполнятьСУчетомРезервов, РегРезервы); // возвращает неправильное количество
    МожноОтпустить = МожноОтпустить / ТаблицаДокумента.Коэффициент;
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/иначе')">Иначе	</span>
    МожноОтпустить = Отпустить; 
    
    КонецЕсли;
    
    
    ПОЯСНЮ: для д-та "Реализация (розница)" переменная ЗаполнятьСУчетомОстатков=1
    В то время как для документа "Реализация", переменная ЗаполнятьСУчетомОстатков всегда имеет значение 0.

    В итоге выяснилось, что процедура "ПолучитьКоличество" возвращает неверный остаток. Осталось проверить где...
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Там есть такое:

    Код:
    			
    // Если склад не выбран, то заполним без учета остатков
    Если ПустоеЗначение(Склад) = 1 Тогда
    ЗаполнятьСУчетомОстатков = 0;
    КонецЕсли;
    
    
  7. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    да, такое есть, но стоит в рамках условия:

    Код:
    Если ПустоеЗначение(ДокОснование) = 0 Тогда
    
    ...
    // Если склад не выбран, то заполним без учета остатков
    Если ПустоеЗначение(Склад) = 1 Тогда
    ЗаполнятьСУчетомОстатков = 0;
    КонецЕсли;
    
    ...
    
    
    а в это первоначальное условие мы не попадаем. Да и склад у нас указан.
    Торможу, не пойму "ЗаполнятьСУчетомОстатков" - где описание найти?

    Пока что дошла до:
    Процедура "ПолучитьКоличество" возвращает
    Код:
     Мин(ОстатокПоЗаявке, СвободныйОстатокНаСкладе, СвободныйОстатокПоФирме);
    
    где 2-ой параметр СвободныйОстатокНаСкладе почему-то равен 0 (а должен быть 1 в моем случае, т.к. и по фирме, и по складу остаток товара = 1).
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Смотрите на 2 строчки выше
    Код:
    СвободныйОстатокНаСкладе = Макс(ОстатокНаСкладе - РезервНаСкладе, 0);
    
    
    В процедуре ПолучитьКоличество()
    Если вы уверяете что товар есть на остатках (нет оснований не верить), значит он висит в резервах. Сформируйте отчет по резервам
  9. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Действительно, следуя коду программы, в резерве висит несколько штук товара.
    (Я уже сформировала другую заявку, там вместо 10 шт, в реализацию попадает 9. При этом всего на складе 11 штук, из них 3 - оказывается в резерве).
    Но опять же... формирую отчет по резервам и 1С мне выдает - НОЛЬ в резерве!
    Может я отчет формирую не правильно?

    1) Отчеты - Остатки ТМЦ - на число формирования реализации. Склад, фирма, наименование ТМЦ - все из заявки.
    Указываю в первом случае "показывать резерв" - 11 шт.,
    во втором случае - "за минусом резерва" - снова 11 штук.

    2) Отчеты - Резервы ТМЦ
    показывает, что данное ТМЦ никогда не было в резерве

    Насколько я знаю, на фирме никто никогда такой функцией, как резервирование товара, не пользовался, за ненадобностью. Но тем не менее, как могло быть так, что в резерв товар никто не отправлял, а код программы пишет о наличии такового?!
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Как вариант:
    1) Проверьте целостность базы (меня смущает что отчет ничего не показывает). Регистры глянуть бы.... Выяснитьдокумент сделавший движения...
    2) Воспользуйтесь документом СнятиеРезерва
  11. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    и апогеем становится документ Снятие Резерва, которые ни в какую не хочет признать наличие резерва. Делаю его как по фирме, так и по складу. Пишет, что "Кол-во снимаемого товара превышает имеющийся резерв"
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Значит нужно делать тестирование/исправление БД. Закрадывается подозрение что у вас индексы полетели
  13. TopicStarter Overlay
    К_Е
    Offline

    К_Е Опытный в 1С

    Регистрация:
    8 июл 2008
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    я опять с той же проблемой...
    сделала тестирование и исправление - результат тот же.
    Откуда товар попадает в резерв? ИП даже не пользуется им никогда. :angry:
  14. Хряк
    Offline

    Хряк Профессионал в 1С

    Регистрация:
    26 сен 2007
    Сообщения:
    1.447
    Симпатии:
    37
    Баллы:
    54
    в чем проблема обновиться (для начала)
  15. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Сделайте отчет по резервам с детализацией по документам и все увидите

Поделиться этой страницей