Подсистема "Контроль отрицательных остатков"



Подсистема "Контроль отрицательных остатков" позволяет настроить контроль отрицательных остатков по регистрам оперативного учета при проведении документов.

Подсистема может быть встроена в любую конфигурацию на платформе 1С:Предприятие 8.2, в том числе и в типовые конфигурации.

Подсистема «Контроль отрицательных остатков» позволяет настроить контроль отрицательных остатков по регистрам оперативного учета при проведении документов. Контроль может производиться по любому документу, который при проведении осуществляет движения по регистрам, например, по документам «Реализация ТМЦ», «Требование-накладная» и «Списание ТМЦ», документам по кассе и банку.

Для настройки вариантов контроля и проведения используются следующие измерения и ресурсы:

  1. Пользователь — при выборе пользователя контроль будет осуществляться только по нему.
  2. Режим проведения (Оперативный/неоперативный) — возможность выбора режима, при котором будет осуществляться контроль.
  3. Вид контроля (по текущей дате/на дату документа) — в зависимости от выбора вида контроля остатки будут проверяться либо на текущую системную дату, либо на дату проведения документа.
  4. Тип контроля (Выводить сообщение/Запретить проведение) — выбор действия, которое будет выполняться при списании «в минус».
  5. Вид регистра — выбор регистра, по которому будет контролироваться проведение. В зависимости от выбора вида регистра формируется список измерений и ресурсов выбранного регистра. В этом списке можно установить отметки для измерений и ресурсов, по которым будут контролироваться отрицательные остатки. Т.е., например, можно запретить проведение при отсутствии необходимого количества товаров на складе (по регистру «Товары на складах), но при этом не обращать внимание на отсутствие нужного количества товаров именно по указанной в документе характеристике.
  6. Выводить сообщение об ошибках в отдельном окне — при установке флага сообщение об ошибках будет выводиться в отдельном окне, в ином случае оно будет выведено на панели сообщений.

Контроль отрицательных остатков

Порядок настройки регистра

При настройке регистра действуют следующие правила:

  1. Если измерение не заполнено, правило будет применяться ко всем значениям данного измерения. Например, если не выбран пользователь, правило будет применяться ко всем пользователям.
  2. При существовании нескольких правил, в одном из которых значение измерения не выбрано, приоритет имеет то правило, в котором значение выбрано. Например, если для всех пользователей настроен запрет проведения «в минус» по регистру, а для одного установлено значение «Выводить сообщение»,  данный пользователь сможет провести документ с отрицательным движением, но при этом после проведения будет выведено сообщение.
  3. Если при проведении документа к нему применяются несколько правил, и хотя бы по одному из них проведение запрещено, документ не будет проведен.

Настройка контроля отрицательных остатков

В правой части формы настройки возможен выбор документов, при проведении которых будет действовать данный  регистр правил.

Чтобы отметить все документы, правой кнопкой мыши вызовите меню и выберите пункт «Установить пометки». Чтобы разметить весь список, выберите пункт «Снять флажки». При необходимости можно также инвертировать отметки.

Реквизиты формы настройки

  1. Пользователь — пользователь или группа пользователей системы, для которых будет действовать данное правило. Если пользователь или группа не выбраны, правила контроля будут распространяться на всех пользователей.
  2. Режим проведения — оперативный/не оперативный. Если режим не выбран, правило будет действовать в любом режиме.
  3. Вид контроля — выбор варианта расчета остатков — на рабочую дату/на дату документа, а также варианта проведения — выводить сообщение или запретить проведение.
  4. Вид регистра — выбор регистра, по которому будет вестись контроль отрицательных остатков.

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

Отображение результатов проведения

98 Comments

  1. b1958

    Прочитал несколько раз, так и не понял, как подключить эту разработку к конфигурации.

    Через объединение конфигураций?

    Интересно вкратце узнать алгоритм контроля.

    Reply
  2. 33lab

    (1) b1958,

    Да, через объединение (как любую другую подсистему), по поводу алгоритма контроля — код открыт.

    Reply
  3. makas

    плюс за идею!

    Reply
  4. b1958

    (2) Спасибо!

    Объединил с типовой УПП 1.3. Подсистема работает.

    Плюс!

    Reply
  5. Marina__

    Здравствуйте. А у меня выдает ошибку.

    Ошибка при выполнении обработчика — ‘ОбработкаПроведения’

    по причине:

    Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода КонтрольОстатковРегистровНакопления ().

    В чем может быть дело?

    УПП

    Reply
  6. Marina__

    На файловой базе работает, а на sql не работает. А надо на sql.

    Reply
  7. Marina__

    Спасибо. Все работает. Разобралась.

    Reply
  8. superman

    (7) umnica2, И в чем была проблема?

    Reply
  9. Marina__

    (8) superman, В Свойствах ОбщийМодуль.онтрольОтрицательныхОстатков активизировать флажок «Клиент обычное приложение». И все заработало.

    Reply
  10. Alex_Pet

    Отлично, наконец-то контроль отрицательных остатков выполнен в виде подсистемы!

    А будет ли проходить штатное обновление типовой конфигурации после объединения с вашей подсистемой?

    Reply
  11. 33lab

    (10) Alex_Pet, Не совсем понятен вопрос. Это обычная подсистема.

    Reply
  12. bes-kkm

    Здравствуйте! У меня тоже выдает ошибку: Ошибка при выполнении обработчика — ‘ОбработкаПроведения’

    по причине:

    Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода КонтрольОстатковРегистровНакопления ().

    Как быть?

    Reply
  13. 33lab

    (12) bes-kkm, Ответ в (9)

    Reply
  14. validat

    Попробуем. Не знаю что такое подсистема, но очень нужно контролироать остатки. Очень надеюсь поможет настроить.

    Reply
  15. validat

    Огромное спасибо! Все получилось благодаря этой подсистеме!

    Благодарю за помощь по подключению и справку.

    Reply
  16. Vertex

    Можно настроить на конкретного пользователя ?

    Reply
  17. 33lab

    (16) Vertex, Можно.

    Reply
  18. Oleeeg

    В комплексной автоматизации не работает почему-то

    Посмотрел отладчик, в таблицу «тзПроведения» выгружается набор записей регистра с отбором по проверяемому документу

    Потом эта таблица соединяется с таблицей остатков

    Далее «Если Необходимо > Остаток Тогда» сравнивается с остатками по регистру

    Я так понимаю в «Необходимо» должно быть количество по документу но там почему-то количество остатка и условие никогда не срабатывает

    Reply
  19. Oleeeg

    (18) Это по регистру Партии товаров на складах (упр. учет)

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

    Если НаборЗаписей.Количество() = 0 Тогда

    Продолжить;

    КонецЕсли;

    Reply
  20. 33lab

    (18) Oleeeg, Скорее всего у вас в настройке стоит «Вид контроля —> на рабочую дату», там есть ошибка в алгоритме.

    Найдите в коде строку:

    Для Каждого СтрокаКоллекции Из тзДанныеЗапроса Цикл

    и добавьте сразу после нее следующий код:

    Еcли НЕ СтруктураЗаписей.ВидКонтроля Тогда
    СтрокаКоллекции[стрРесурс+»Остаток»]=СтрокаКоллекции[стрРесурс+»Остаток»]+СтрокаКоллекции[стрРесурс];
    КонецЕсли;
    Reply
  21. Oleeeg

    Не. В настройках контроля стоит «На дату документа»

    До контроля не доходит по той же причине. в «тзПроведения» не количество из документа а количество остатка по регистру

    Reply
  22. 33lab

    (21) Oleeeg, в тзПроведения — движения которые документ сделал по регистру (а не остаток) — следовательно если документ по каким то причинам движения в регистры сделал не такие как в самом документе то надо смотреть модуль проведения документа. (если есть аммитимвьюер — могу подключиться и посмтреть)

    Reply
  23. script

    Все очень просто. В типовіх конфигурациях движения в регистр «Партии товаров на складах» делаются только по тем товарам которіе есть в наличии. Если в документе в товарое № 1, указано количество 10, а в регистре «Партии товаров на складах» этого товара в остатке = 5, тогда типовые конфигурации списывают 5, т.е. только то что есть в наличии. а потом выводится сообщение что «… не списано по партиям….». Следовательно эта подсистема не сможет обработать такую ситуацию, потому что для этого нужно сравнивать количество товара в документе и в регистре, а это приведет к потере универсальности, потому что табличные части могут иметь ранзые имена, да и вообще может и не быть табличной части и т.д.

    Вообщем если нужно контролировать минус по регистру партии товаров, тогда нужно изменить алгоритм проведения документа, что бы он писал в данный регистр движения в любом случае, хотя это может быть и некоректно, например: Товар № 1 еще никогда не вводился в базу (новый), его завели и решили продать — партий еще нет и быть не может. В терминах 1С это означает что измерение «документ оприходования» не может иметь значения, в этом случае можно завести запись с пустым измерением «Документ оприходования» только для того чтобы эту запись подхватил механизм контроля. Понятно что такие изменения лучше делать через подписку на событие.

    Reply
  24. kodblack

    «Управление торговлей», редакция 10.3 (10.3.29.1)

    При объединение. даже ничего не настраивая по Контролю отрицательных остатков — выдает ошибку при открытие Отчета о рознечной продаже:

    {Документ.ОтчетОРозничныхПродажах.Форма.ФормаСписка.Форма(29,43)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)

    ВалютаРегламентированногоУчета = <<?>>глЗначениеПеременной(«ВалютаРегламентированногоУчета»);

    Reply
  25. 33lab

    (24) kodblack, Данная ошибка означает, что Вы неправильно подключили подсистему (неправильно объединили). При объединение необходимо было снять галки сконфигурации и указать приоритет объединения.

    Reply
  26. Kutnor

    Обьединил с УТ 10.3 через конфигуратор сравнение и объединение конфигураций, в итоге базу запорол, ничего не открывается, выдает ошибки, что я сделал не так?

    {ОбщийМодуль.ГлобальныйМодуль.Модуль(282)}: Ошибка при получении значения атрибута контекста (ОбщиеЗначения)
    по причине:
    {ОбщийМодуль.ГлобальныйМодуль.Модуль(282)}: Ошибка при получении значения атрибута контекста (ОбщиеЗначения)
    
    по причине:
    Попытка получения неинициализированного значения параметра сеанса
    Reply
  27. 33lab

    (26) Kutnor, Судя по всему Вы допустили туже ошибку, что и (24).

    Самое важное это — «В окне «Сравнение, объединение» снимите отметку в корне дерева конфигурации».

    P.S. Если есть возможность — могу подключиться (аммитимвьюер) и показать как правильно загружать подсистемы.

    Reply
  28. 33lab

    По ссылке можно посмотреть пример описания того как правильно загружать подсистемы: http://infostart.ru/public/60173/

    Reply
  29. Kutnor

    (27) хочется самому научится.

    Я главную галочку снял, и стал искать разницу.

    Вот что я нашел:

    Общие модули: КонтрольОтрицательныхОстатков

    Подписки на события:ДокументыПроведения…

    регистры сведений:Контроль отрицательных остатков

    Правильно я поставил галочки или еще где нужно?

    Reply
  30. Kutnor

    или галки не нужно ставить, непонятен термин «указать приоритет объединения»

    Где что указать нужно?

    Reply
  31. 33lab

    (29) Kutnor, Да, правильно.

    (30) Kutnor, Необходимо правой кнопкой мышки нажать на корне дерева конфигурации -> выйдет меню в котором будет предложено указать приоритет объединения.

    Reply
  32. Kutnor

    или никакие галочки ставить не нужно, а нужно выполнить вот это???:

    6. Встать в корень дерева конфигурации и по щелчку правой кнопки мыши выбрать последовательно Режим объединения для подчиненных объектов > Объединить с приоритетом основной конфигурации.

    7. Встать в корень дерева конфигурации и по щелчку правой кнопки мыши выбрать последовательно Порядок для подчиненных объектов > Из файла.

    8. Щелкнуть кнопку «Выполнить» для запуска процедуры объединения.

    9. Обновить конфигурацию базы данных по клавише F7.

    Reply
  33. 33lab

    (32) Kutnor, Галки снять тоже нужно (с корня конфигурации имеется ввиду)!

    Reply
  34. Kutnor

    (31) спасибо, вроде получилось, поставил всего три галки и сделал по пунктам от 6 до 9, было бы не плохо написать вверху инструкцию по установке, не все читают комментарии. А если кто бэкап не делает, того ждет большой геморой.

    У меня собственно последний вопрос, а где мне теперь найти настройки?

    Reply
  35. 33lab

    (34) Kutnor, Меню —> Операции —> Регистры Сведений —> Контроль отрицательных остатков.

    P.S. Архив необходимо делать всегда (даже если ничего не обновляется)…по поводу описания встраивания — согласен — надо бы вставить в начало.

    Reply
  36. Kutnor

    интересно, а почему в документах нет заказа покупателя?

    И пользователя если не устанавливать будет на всех распространятся?

    Reply
  37. 33lab

    (36) Kutnor, Да, если пользователя не указать — то распространяется на всех (тоже самое с режимом проведения).

    По поводу заказа покупателя — трудно так сразу ответить — должен быть вроде как.

    Reply
  38. Kutnor

    (36) Kutnor, нашел, нужно оказывается регистр поменять и там будет заказ покупателя.

    Reply
  39. 33lab

    (38) Kutnor, Это да 🙂 При выборе регистра происходит автофильтрация и показываются только те документы к которым этот регистр привязан.

    Reply
  40. Kutnor

    еще не совсем понятно зачем нужны «измерения» «Ресурсы»

    я везде галочки поставил. Буду тестировать. Спасибо! Плюс!

    Reply
  41. Kutnor

    такая же ошибка как в 5, что делать подскажите. Где это? В конфигурации, или нужно было при установке?

    В Свойствах ОбщийМодуль.контрольОтрицательныхОстатков активизировать флажок «Клиент обычное приложение».

    Reply
  42. 33lab

    (41) Kutnor, Правой кнопкой мышки на общем модуле —> появится меню —> выбираем «свойство» —> открывается окно —> выбираем галку «клиент»

    Reply
  43. Kutnor

    А я его искал в регистре сведений.

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

    Reply
  44. Kutnor

    разобрался.

    Reply
  45. Kutnor

    Как дать доступ к подсистеме другим пользователям?

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

    {ОбщийМодуль.КонтрольОтрицательныхОстатков.Модуль(17)}: Ошибка при вызове метода контекста (Выполнить)

    Результат=Запрос.Выполнить();

    по причине:

    Недостаточно прав для работы с таблицей «РегистрСведений.КонтрольОтрицательныхОстатков»

    Reply
  46. 33lab

    (45) Kutnor, Заходим в конфигуратор щелкаем правой кнопкой мышки на регистре сведений «КонтрольОтрицательныхОстатков» -> в появившемся меню выбираем «Дополнительно» —> в открывшемся окне выбираем закладку «Права» и устанавливаем флажки всем кому необходимо.

    Reply
  47. Kutnor

    (46) а как настроить так чтобы в заказе покупателя тоже был контроль остатков товара?

    Я перепробовал все, так и не нашел нужный результат. Чтобы был контроль в реализации понятно, ставлю регистр:товары со склада, но там нет в докмуентах заказа покупателя.

    Сейчас при оперативном проведении он сообщает что товара нет, а вот в неоперативном не хочет сообщать, проводит молча.

    Reply
  48. Kutnor

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

    пробовал добавлять регистр Товары в резерве на складах.

    Reply
  49. 33lab

    (47) Kutnor, Заказ покупателя не двигает регистр «Товары на складах» — поэтому не совсем понятно как вы хотите его настроить?!

    (48) Kutnor, Вы всего лишь настраиваете конкретный регистр (не важно какой, пусть это будет «Товары в резерве на складах») — система не даст провести документ если вы указанным вами измерениям (по установленным галкам на измерениях) нет остатков (по установленным галках на ресурсах)

    Reply
  50. Kutnor

    (49) а какой регистр тогда двигает заказ покупателя при оперативном проведении? Ведь при оперативном проведении заказ покупателя не проводится если «товара на складах» нет в наличии. Значит все таки он двигает этот регистр, вот я и хотел бы настроить чтобы он и в неоперативном тоже работал. Я как бы и думал что контроль остатков-это именно контроль товара.

    Ответ на второй вопрос не совсем понял. Я ставил все галки и ресурсы и измерения.

    Давайте задам вопрос по другому:

    Как настроить подсистему чтобы реализация товаров не проводилась если нет свободных остатков? Хоть оперативно хоть неоперативно.

    Reply
  51. 33lab

    (50) Kutnor,

    а какой регистр тогда двигает заказ покупателя при оперативном проведении?

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

    Как настроить подсистему чтобы реализация товаров не проводилась если нет свободных остатков? Хоть оперативно хоть неоперативно.

    Выбираем регистр «Товары на складах» —> ставим галку на виде документа «Реализация товаров и услуг» -> ставим галки на ИзмеренияРесурсы, поле «Режим проведения» оставляем пустое. Все.

    P.S. Предложение о подключении все еще в силе — могу подключится и все показать (по скайпу еще и голосом все объяснить)

    Reply
  52. Kutnor

    (51) спасибо, давайте подключимся, буду благодарен. скайп kutnor.ru

    p.s. это я уже делал, не помогло.

    Выбираем регистр «Товары на складах» —> ставим галку на виде документа «Реализация товаров и услуг» -> ставим галки на ИзмеренияРесурсы, поле «Режим проведения» оставляем пустое.
    Reply
  53. Kutnor

    Спасибо 33lab, все рассказал, объяснил, даже код немного подправил и у меня все заработало.

    Молодец!

    Reply
  54. maslakhoff

    Получил, спасибо!

    Вот только у меня появилась проблемка:

    Типовая конфигурация 1С:Общепит 2.0.43.6 (8.2) (Похожа на Бухгалтерию 2.0 с добавлением подсистемы «Общепит»)

    Нам нужно установить контроль остатков на документ «Реализация товаров и услуг» иначе пользователи проводят документы задним числом и появляются минусовые остатки…

    Начал смотреть подсистему «Контроль отрицательных остатков» но сразу же столкнулся с проблемкой — не могу найти нужный «Вид регистра».

    Посмотрел движения документа «Реализация товаров и услуг» — там только «Журнал проводок (бухгалтерский и налоговый учет)». Хотел выбрать регистр «Товары на складах» как в примере, но у меня его не оказалось в списке данной подсистемы…

    Помогите, плиз

    Reply
  55. maslakhoff

    Еще: у нас ведется партионный учет … остатки вычисляются запросом на дату … остатки товаров не хранятся в регистрах… (Похоже сам ответил на свой же вопрос) Значит данная подсистема нам не подходит…?

    Reply
  56. 33lab

    (56) maslakhoff, Скорее всего у вас все построено на бух.счетах (т.е. на регистрах бухгалтерии а не на регистрах накопления) — следовательно данная подсистема вам не подойдет.

    P.S. Реализовать подобное для регистров бухгалтерии довольно просто.

    Reply
  57. maslakhoff

    Спасибо за оперативной ответ!

    Я уже добавил проверку при проведени нужного документа (формируется запрос для получения остатков на текущую дату и сверяется с документом, если остаток превышен, тогда Отказ = Истина и выводится предупреждение…)

    Reply
  58. perceff

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

    Reply
  59. 33lab

    (59) perceff, Если есть аммитимвьюер — могу подключиться и показать.

    Reply
  60. 33lab

    во вложениии описание встраивания подсистем

    Reply
  61. perceff

    (60) сделал все по инструкции (подсистемы.exe) возникло пара вопросов:

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

    2. видимо вытекает из 1:

    Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
    по причине:
    Попытка передачи с клиента на сервер мутабельного знач

    , т.к. лечится насколько я понял галочками

    есть ammyy 3.4.0.0 готов к подключению, если Вы не против.

    Reply
  62. 33lab

    (62) perceff, Напишите мне в аську 165768938

    Reply
  63. perceff

    (53) Kutnor, Подскажите, пожалуйста, как вам удалось настроить подсистему контроля отрицательных остатков на работу с заказами покупателей? у меня что-то не выводится сообщение о превышении ни при оперативном проведении, ни при не оперативном.

    Reply
  64. gol12351

    Добрый день! Подключила подсистему, по товарным остаткам все хорошо контролирует. Возник вопрос по регистру Взаиморасчеты с контрагентами. Вид движения у этого регистра Приход при проведении РТУ, т.е. движение НЕ проверяется (строка 116 кода в модуле: МассивСтрок=тзПроведения.НайтиСтроки(Новый Структура(«ВидДвижения»,ВидДвиженияНакопления.Расход));).

    У меня конфигурация УТП, может в УПП при реализации вид движения по регистру Взаиморасчеты «расход»?

    Reply
  65. 33lab

    (65) gol12351, Все, что Вы написали — правильно т.е. регистры которые пишут движения в «Приход» не контролируются — к сожалению таким регистром оказался «Взаиморасчеты с контрагентами». Подсистема создавалась в основном для контроля списания ТМЦ в минус (поэтому в коде жестко прошита проверка на вид движения «Расход»), но как Вы заметили код открыт — так, что можете спокойно доработать ее под себя (проще всего добавить к виду документу — > вид движения который необходимо контролировать — вот тогда будет совсем универсально)

    Reply
  66. gol12351

    Добрый день! Спасибо за ответ. буду разбираться дальше.Ваш Контроль отр. остатков подтягивается под событие обработка проведения документа. Пробовал ли кто- нибудь подтянуть под другое событие?

    Reply
  67. 33lab

    (67) gol12351, что имеется ввиду под «другое событие» ?

    Reply
  68. gol12351

    дело в том, что я хотела бы оставить событие при проведении стандартным, там у нас есть свои изменения, а вашу обработку прикрутить к наример призакрытии и не запрещать проведение, а только выдавать сообщение, что у Вас возможно. Спасибо

    Reply
  69. 33lab

    (69) gol12351, Событие «При проведении» остается стандартным…Добавляется лишь новая подписка на событие «Обработка проведения» — она выполняется после стандартного проведения.

    Reply
  70. validat

    Подсистема установлена у пользователя и работает уже 6 месяцев. Огромное спасибо разработчику!

    Задачу Подсистема, — выполняет вполне.

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

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

    о проблемных товарах и какое количество или по деньгам не хватает. Проблема в том, что 1С номера строк не соответствуют

    номерам в сообщении или со смещением, причём очень сложно найти соответствующую строчку.

    Вопрос. Можно сделать чтобы выводилось Наименование Номенклатуры, это позволит по названию найти товар.

    Или как сделать чтобы нумерация товаров совпадала с номером в сообщении выдаваемое подсистемой.

    Постараюсь прикрепить снимки для пояснения

    Вопрос решён с помощью автора «Подсистема «Контроль отрицательных остатков»».

    Огромное ему спасибо!

    Нужно было проставить галочки «Выводить сообщения об ошибках в отдельном окне».

    Теперь будет просто найти где чего-то не хватает. Снимок прикрепил.

    Reply
  71. 33lab

    (71) validat, Спасибо за отзыв.

    Проблема в том, что 1С номера строк не соответствуют

    номерам в сообщении или со смещением, причём очень сложно найти соответствующую строчку.

    Подсистема была вырезана из конфигурации «Скат-профессионал» — там такой проблемы нет т.к. в регистрах проходят реквизит «НомерСтрокиТабличнойЧасти» т.к. номер строки в регистре не всегда (особенно это касается регистра партий) совпадает с номером строки табличной части документа.

    Вопрос. Можно сделать чтобы выводилось Наименование Номенклатуры, это позволит по названию найти товар.

    Или как сделать чтобы нумерация товаров совпадала с номером в сообщении выдаваемое подсистемой.

    Можно, но тогда подсистема будет не универсальной (т.к. придется проверять есть ли в конкретном регистре к примеру измерение «Номенклатура»)

    Reply
  72. validat

    Понятно.

    Осмелюсь предложить решение проблемы соответствия.

    Вдруг это сможет решить проблему соответсттвия порядкого номера в документе и сообщении об ошибках.

    Взято отсюда http://infostart.ru/public/205184/. Для пояснения принципа решения. В этой обработке выполняется сортировка для совпадения строк Документа и Печатной формы. Обработка прикреплена к сообщению.

    После  | РегТоварыВРознице.Качество
    добавить
    | ,РегТоварыВРознице.НомерСтроки
    
    поменять //|УПОРЯДОЧИТЬ ПО Номенклатура
    на
    |УПОРЯДОЧИТЬ ПО РегТоварыВРознице.НомерСтроки
    Reply
  73. 33lab

    (73) validat, Если честно я не очень понимаю чем это может помочь.. Можете добавить и посмотреть, что получится(если не сможете сами, могу подключиться и добавить)…Возможно в простых случаях (как в данном конкретном) — это и поможет.

    Reply
  74. validat

    (74) прошу помощи. Подключиться и добавить.

    Спасибо! Всё получилось. Проблема была в моей невнимательности.

    Reply
  75. Bozhevilnoe

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

    Reply
  76. 33lab

    (76) Bozhevilnoe, К сожалению данное сообщение ни о чем не говорит, напишите какой регистр пытаетесь контролировать.

    P.S. Либо напишите в аську — подключусь посмотрю сам.

    Reply
  77. Artur2316

    Рекомендую данную подсистему, помимо всех плюшек, ОЧЕНЬ АДЕКВАТНАЯ поддержка в лице разработчика Константина!

    Reply
  78. Safon46

    Добрый день!

    Подсистема встала хорошо на КА 1.1, только вот почему-то контроль распространяется на всех пользователей, хотя в РС указываю всего одного.

    Вот настройка http://img-fotki.yandex.ru/get/16130/38647799.3/0_108e3e_9eee357d_orig.png

    Но почему то не дает проводить перемещения даже из под админа с полными правами

    Reply
  79. 33lab

    (79) Safon46, Есть несколько вариантов почему такое может быть:

    1.Возможно в КА нет «ПараметрыСеанса.ТекущийПользователь»

    2.Возможно запрет проведения никак не связан с подсистемой а связан с внутренними алгоритма запрета в КА

    Если есть возможность подключиться к Вас через амиитимвьюер — то смогу посмотреть и точно ответить почему такое происходит.

    Reply
  80. Safon46

    (80) благодарю за отклик!

    Как только вам будет удобно черкните в скайп saf..n, организуем сеанс!

    Reply
  81. N_s_s

    Что то не правильно работает, делаю поступление 5 шт от 20.12. Делаю реализацию от 22.12 1 штуки и от 24.12 4 штук. Всё работает. Захожу в документ от 22 меняю на 2 штуки, пытаюсь провести — ругается, вроде все корректно. Меняю обратно на 1, нажимаю провести — ругается. В чем подвох? отчет ведомости по партиям товаров показывает что количество на остатках есть. Ведомость по товарам на складах тоже показывает остаток. Не пойму…

    Reply
  82. 33lab

    (82) N_s_s, Если есть возможность подключится к Вам по аммитимвьюеру — то могу посмотреть и сказать в чем дело.

    Reply
  83. N_s_s

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

    Выбрать

    &Склад как склад, &Номенклатура как номенклатура, 3 как количество

    Поместить Первая

    ;

    ////////////////////////////////////////////////////////////­///////////////////////

    Выбрать

    Первая.Номенклатура,Первая.Склад,Первая.Количество,ЕстьNULL(ПартииТоваровНаСкладах.КоличествоОстаток,0) КАК КоличествоОстаток

    ИЗ Первая КАК Первая

    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаОстатков,(Номенклатура,Склад) В ( Выбрать А.Номенклатура,А.Склад

    ИЗ Первая КАК А)) КАК ПартииТоваровНаСкладах

    ПО Первая.Номенклатура=ПартииТоваровНаСкладах.Номенклатура И Первая.Склад=ПартииТоваровНаСкладах.Склад

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

    Reply
  84. oops!

    Идея классная! Плюс адназначна!

    А вот насколько сложно тоже самое сделать для новых типовых конфигураций (УТ11, БП3.0, УНФ1.5) под платформой 8.3?

    В данный момент лично мне (думаю, что я не одинок в этом вопросе) это очень актуально для УНФ1.5 — там при проведении документов остатки проверяются «на конец концов», т.е. по последнему проведённому документу в системе. В связи с тем, что в конфигурации напрочь отсутствуют документы корректировки отгрузки, при расхождениях приходится править исходные документы задним числом, а из-за этого возникают внутренние минуса и себестоимость товара летит в известном направлении.

    Reply
  85. 33lab

    (86) oops!, Для перевода на УФ необходимо перерисовать саму форму (она там одна), алгоритм переписать не надо. К сожалению (или к счастью) упр.формы я принципиально не рисую.

    Reply
  86. oops!

    (87) Костя, на сколько я понимаю, форму нужно не только перерисовать (их как минимум там три), а и определиться во всех модулях (в общем модуле, в обработчике подписки, а так же в трёх формах регистра сведений — форма списка, записи и отображения результата) с тем, что выполняется на клиенте, а что на сервере, и как они (клиент и сервер) взаимодействуют между собой; возможно, нужно будет ещё и области определить (программный интерфейс, системный и пр.). Кроме того, избавиться от модальных окон (сообщить, предупреждение, установить период и т.п.). И, очень сильно подозреваю, что это ещё не всё, потому что программирование в УФ весьма отличается от обычного приложения — многие системные процедуры, функции, доступ к объектам — всё иначе.

    Вобщем, я попробую перевести — отпишусь здесь по результатам 🙂

    Ну, а переходить на УФ, думаю, всё же придётся, если ты одинэсишь — 8.2, по сути, доживает свой последний год, ну, м.б., ещё годик-другой поддержка будет после выхода УПП и КА на УФ, чтобы дать время на переход, но не более того.

    Reply
  87. 33lab

    (88) oops!, Почти все верно, но не совсем 🙂 Там действительно 3 формы надо перерисовать (с одной я погорячился), а вот, что касается алгоритма то его менять не придется (кроме как избавится от модальности). У меня к сожалению времени сейчас катастрофически не хватает, но если стукнешься в аську (а лучше в скайп) — помогу чем смогу (относительно перевода на УФ).

    P.S. Ну а что касается перехода на УФ (ввиду того, что 1С туда ушло) — мне это не грозит 🙂

    Reply
  88. sdm1triy

    В 1С Розница 8 1.0 прекрасно работает. Автору спасибо!

    Reply
  89. pvlunegov

    При внедрении подсистемы на доработанную Ут 10.3 в конфигураторе

    выдается предупреждение:

    «Удалены группы в справочнике: Пользователи»

    Печально! К сожалению, я не могу такого допустить, группы в справочнике очень важны!

    Придется что-то допиливать при объединении с вашей подсистемой…

    Reply
  90. pvlunegov

    Решил проблему.

    При объединении с вашей подсистемой в настройках объединения в справочнике «Пользователи», снял все галки, кроме общего модуля.

    Помогло.

    Буду тестить.

    Reply
  91. 33lab

    (93) pvlunegov, данную галку просто не надо было ставить 🙂

    Reply
  92. pvlunegov

    (96)

    При объединении с вашей подсистемой я все галки проставлял, кроме тех, что в справочнике «Пользователи»

    Reply
  93. pvlunegov

    (96)

    не понял вашего комментария. Вы выслали 3 картинки. В них написано — Установить флаг. Вы говорите, цитата: «данную галку просто не надо было ставить»

    Что вы хотели сказать?

    Reply
  94. kodblack

    (96) Добрый день еще раз!

    Подключил вашу систему к переписанной УТ 10,3

    при проведение перемещения товара — хоть ставить выводить сообщение отдельно, хоть в отдельном окне — сообщение о нехватке выводит только в низу.

    Если проводить товар задним числом — выводит сообщение — что не хватает товара, но все равно проводит документ.

    Стоит — запрет проведения. регистр: товар на складах.

    Как быть?? в чем проблема?

    Reply
  95. 33lab

    (103) kodblack,

    Подключил вашу систему к переписанной УТ 10,3

    при проведение перемещения товара — хоть ставить выводить сообщение отдельно, хоть в отдельном окне — сообщение о нехватке выводит только в низу.

    Возможно это выводится стандартное сообщение (а не сообщение подсистемы, такое ощущение, что подсистема не правильно интегрирована)

    Если проводить товар задним числом — выводит сообщение — что не хватает товара, но все равно проводит документ.

    Стоит — запрет проведения. регистр: товар на складах.

    Как быть?? в чем проблема?

    1.Контроль установлен на дату документа (а не на текущую дату)

    2.Подсистема просто не работает (по причине не правильной интеграции)

    P.S. Напиши свои контакты (в личку) и как к вам подключиться (аммитимвьюер), что бы посмотреть, что и как у вас подключено.

    Reply
  96. kodblack

    (104) Все заработала — когда регистр выбрал — товар в рознице.

    Reply
  97. ketr

    (20) Очень важное замечание!!! Сначала подумал что контроль на рабочую дату не работает

    Reply
  98. ketr

    (79) Safon46, а я вот так сделал, чтобы проводилось под полными правами:

    в процедуре КонтрольОстатковРегистровНакопления добавил проверку на доступность роли «Полные права»:

    Если тзПравила = Неопределено ИЛИ РольДоступна(«ПолныеПрава») Тогда Возврат;

    Reply

Leave a Comment

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