gifts2017

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

Опубликовал 33lab (33lab) в раздел Обработки - Обработка документов

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Файл поставки
.zip 25,30Kb
10.04.13
343
.zip 25,30Kb 343 Скачать

См. также

Вознаграждение за ответ
Сумма: 0 $m
Добавили:
Denis Shistko (zayden) (0.07 $m)
Подписаться Добавить вознаграждение

Комментарии

1. Борис Нагорнов (b1958) 10.04.13 17:04
Прочитал несколько раз, так и не понял, как подключить эту разработку к конфигурации.
Через объединение конфигураций?
Интересно вкратце узнать алгоритм контроля.
2. 33lab (33lab) 10.04.13 17:44
(1) b1958,
Да, через объединение (как любую другую подсистему), по поводу алгоритма контроля - код открыт.
3. Макас (makas) 11.04.13 00:29
4. Борис Нагорнов (b1958) 12.04.13 17:01
(2) 33lab, Спасибо!
Объединил с типовой УПП 1.3. Подсистема работает.
Плюс!
5. umnica2 (Marina__) 28.06.13 15:59
Здравствуйте. А у меня выдает ошибку.

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

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

УПП
6. umnica2 (Marina__) 28.06.13 23:49
На файловой базе работает, а на sql не работает. А надо на sql.
7. umnica2 (Marina__) 29.06.13 21:57
Спасибо. Все работает. Разобралась.
8. Евгений Иванов (superman) 18.07.13 10:47
(7) umnica2, И в чем была проблема?
9. umnica2 (Marina__) 18.07.13 23:15
(8) superman, В Свойствах ОбщийМодуль.онтрольОтрицательныхОстатков активизировать флажок "Клиент обычное приложение". И все заработало.
ketr; Taflex; +2 Ответить 1
10. Алекс Петрухин (Alex_Pet) 08.09.13 03:44
Отлично, наконец-то контроль отрицательных остатков выполнен в виде подсистемы!
А будет ли проходить штатное обновление типовой конфигурации после объединения с вашей подсистемой?
11. 33lab (33lab) 09.09.13 09:12
(10) Alex_Pet, Не совсем понятен вопрос. Это обычная подсистема.
12. Геннадий Малюков (bes-kkm) 20.09.13 11:02
Здравствуйте! У меня тоже выдает ошибку: Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода КонтрольОстатковРегистровНакопления ().
Как быть?
13. 33lab (33lab) 20.09.13 13:07
14. Z Lu (validat) 27.09.13 00:36
Попробуем. Не знаю что такое подсистема, но очень нужно контролироать остатки. Очень надеюсь поможет настроить.
15. Z Lu (validat) 22.10.13 09:20
Огромное спасибо! Все получилось благодаря этой подсистеме!
Благодарю за помощь по подключению и справку.
16. Vertex (Vertex) 23.12.13 10:38
Можно настроить на конкретного пользователя ?
17. 33lab (33lab) 23.12.13 12:11
18. Oleg Havrysh (Oleeeg) 17.01.14 13:14
В комплексной автоматизации не работает почему-то
Посмотрел отладчик, в таблицу "тзПроведения" выгружается набор записей регистра с отбором по проверяемому документу
Потом эта таблица соединяется с таблицей остатков
Далее "Если Необходимо > Остаток Тогда" сравнивается с остатками по регистру
Я так понимаю в "Необходимо" должно быть количество по документу но там почему-то количество остатка и условие никогда не срабатывает
19. Oleg Havrysh (Oleeeg) 17.01.14 13:21
(18) Это по регистру Партии товаров на складах (упр. учет)
По регистру Партии (бух. учет) контроль если ставить то набор записей по этому регистру вообще пустой и до этого условия даже не доходит. Выходит по условию:
Если НаборЗаписей.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
20. 33lab (33lab) 22.01.14 16:37
(18) Oleeeg, Скорее всего у вас в настройке стоит "Вид контроля --> на рабочую дату", там есть ошибка в алгоритме.
Найдите в коде строку:
Для Каждого СтрокаКоллекции Из тзДанныеЗапроса Цикл

и добавьте сразу после нее следующий код:
Еcли НЕ СтруктураЗаписей.ВидКонтроля Тогда
                СтрокаКоллекции[стрРесурс+"Остаток"]=СтрокаКоллекции[стрРесурс+"Остаток"]+СтрокаКоллекции[стрРесурс];
            КонецЕсли;
21. Oleg Havrysh (Oleeeg) 27.01.14 14:03
Не. В настройках контроля стоит "На дату документа"
До контроля не доходит по той же причине. в "тзПроведения" не количество из документа а количество остатка по регистру
22. 33lab (33lab) 28.01.14 09:00
(21) Oleeeg, в тзПроведения - движения которые документ сделал по регистру (а не остаток) - следовательно если документ по каким то причинам движения в регистры сделал не такие как в самом документе то надо смотреть модуль проведения документа. (если есть амми\тимвьюер - могу подключиться и посмтреть)
23. script Мальчинко (script) 12.02.14 00:01
Все очень просто. В типовіх конфигурациях движения в регистр "Партии товаров на складах" делаются только по тем товарам которіе есть в наличии. Если в документе в товарое № 1, указано количество 10, а в регистре "Партии товаров на складах" этого товара в остатке = 5, тогда типовые конфигурации списывают 5, т.е. только то что есть в наличии. а потом выводится сообщение что "... не списано по партиям....". Следовательно эта подсистема не сможет обработать такую ситуацию, потому что для этого нужно сравнивать количество товара в документе и в регистре, а это приведет к потере универсальности, потому что табличные части могут иметь ранзые имена, да и вообще может и не быть табличной части и т.д.

Вообщем если нужно контролировать минус по регистру партии товаров, тогда нужно изменить алгоритм проведения документа, что бы он писал в данный регистр движения в любом случае, хотя это может быть и некоректно, например: Товар № 1 еще никогда не вводился в базу (новый), его завели и решили продать - партий еще нет и быть не может. В терминах 1С это означает что измерение "документ оприходования" не может иметь значения, в этом случае можно завести запись с пустым измерением "Документ оприходования" только для того чтобы эту запись подхватил механизм контроля. Понятно что такие изменения лучше делать через подписку на событие.
24. Андрей Ефим (kodblack) 15.06.14 11:31
"Управление торговлей", редакция 10.3 (10.3.29.1)
При объединение. даже ничего не настраивая по Контролю отрицательных остатков - выдает ошибку при открытие Отчета о рознечной продаже:
{Документ.ОтчетОРозничныхПродажах.Форма.ФормаСписка.Форма(29,43)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
ВалютаРегламентированногоУчета = <<?>>глЗначениеПеременной("ВалютаРегламентированногоУчета");
25. 33lab (33lab) 15.06.14 12:59
(24) kodblack, Данная ошибка означает, что Вы неправильно подключили подсистему (неправильно объединили). При объединение необходимо было снять галки сконфигурации и указать приоритет объединения.
26. Kutnor Kutnor (Kutnor) 23.06.14 13:17
Обьединил с УТ 10.3 через конфигуратор сравнение и объединение конфигураций, в итоге базу запорол, ничего не открывается, выдает ошибки, что я сделал не так?
{ОбщийМодуль.ГлобальныйМодуль.Модуль(282)}: Ошибка при получении значения атрибута контекста (ОбщиеЗначения)
по причине:
{ОбщийМодуль.ГлобальныйМодуль.Модуль(282)}: Ошибка при получении значения атрибута контекста (ОбщиеЗначения)

по причине:
Попытка получения неинициализированного значения параметра сеанса
...Показать Скрыть
27. 33lab (33lab) 23.06.14 13:34
(26) Kutnor, Судя по всему Вы допустили туже ошибку, что и (24).
Самое важное это - "В окне "Сравнение, объединение" снимите отметку в корне дерева конфигурации".

P.S. Если есть возможность - могу подключиться (амми\тимвьюер) и показать как правильно загружать подсистемы.
28. 33lab (33lab) 23.06.14 14:29
По ссылке можно посмотреть пример описания того как правильно загружать подсистемы: http://infostart.ru/public/60173/
29. Kutnor Kutnor (Kutnor) 24.06.14 16:12
(27) 33lab, хочется самому научится.
Я главную галочку снял, и стал искать разницу.
Вот что я нашел:
Общие модули: КонтрольОтрицательныхОстатков
Подписки на события:ДокументыПроведения...
регистры сведений:Контроль отрицательных остатков

Правильно я поставил галочки или еще где нужно?
30. Kutnor Kutnor (Kutnor) 24.06.14 16:18
или галки не нужно ставить, непонятен термин "указать приоритет объединения"
Где что указать нужно?
31. 33lab (33lab) 24.06.14 16:24
(29) Kutnor, Да, правильно.
(30) Kutnor, Необходимо правой кнопкой мышки нажать на корне дерева конфигурации -> выйдет меню в котором будет предложено указать приоритет объединения.
32. Kutnor Kutnor (Kutnor) 24.06.14 16:27
или никакие галочки ставить не нужно, а нужно выполнить вот это???:
6. Встать в корень дерева конфигурации и по щелчку правой кнопки мыши выбрать последовательно Режим объединения для подчиненных объектов > Объединить с приоритетом основной конфигурации.

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

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

9. Обновить конфигурацию базы данных по клавише F7.
33. 33lab (33lab) 24.06.14 16:36
(32) Kutnor, Галки снять тоже нужно (с корня конфигурации имеется ввиду)!
34. Kutnor Kutnor (Kutnor) 24.06.14 16:37
(31) 33lab, спасибо, вроде получилось, поставил всего три галки и сделал по пунктам от 6 до 9, было бы не плохо написать вверху инструкцию по установке, не все читают комментарии. А если кто бэкап не делает, того ждет большой геморой.
У меня собственно последний вопрос, а где мне теперь найти настройки?
35. 33lab (33lab) 24.06.14 16:42
(34) Kutnor, Меню --> Операции --> Регистры Сведений --> Контроль отрицательных остатков.

P.S. Архив необходимо делать всегда (даже если ничего не обновляется)...по поводу описания встраивания - согласен - надо бы вставить в начало.
36. Kutnor Kutnor (Kutnor) 24.06.14 16:45
интересно, а почему в документах нет заказа покупателя?
И пользователя если не устанавливать будет на всех распространятся?
37. 33lab (33lab) 24.06.14 16:49
(36) Kutnor, Да, если пользователя не указать - то распространяется на всех (тоже самое с режимом проведения).
По поводу заказа покупателя - трудно так сразу ответить - должен быть вроде как.
38. Kutnor Kutnor (Kutnor) 24.06.14 16:50
(36) Kutnor, нашел, нужно оказывается регистр поменять и там будет заказ покупателя.
39. 33lab (33lab) 24.06.14 16:52
(38) Kutnor, Это да :) При выборе регистра происходит автофильтрация и показываются только те документы к которым этот регистр привязан.
40. Kutnor Kutnor (Kutnor) 24.06.14 16:53
еще не совсем понятно зачем нужны "измерения" "Ресурсы"
я везде галочки поставил. Буду тестировать. Спасибо! Плюс!
41. Kutnor Kutnor (Kutnor) 24.06.14 17:03
такая же ошибка как в 5, что делать подскажите. Где это? В конфигурации, или нужно было при установке?
В Свойствах ОбщийМодуль.контрольОтрицательныхОстатков активизировать флажок "Клиент обычное приложение".
42. 33lab (33lab) 24.06.14 17:19
(41) Kutnor, Правой кнопкой мышки на общем модуле --> появится меню --> выбираем "свойство" --> открывается окно --> выбираем галку "клиент"
validat; Kutnor; +2 Ответить
43. Kutnor Kutnor (Kutnor) 24.06.14 17:27
А я его искал в регистре сведений.
Но все равно не получается, галки не активны, в желтом квадратике стоит замок.
44. Kutnor Kutnor (Kutnor) 24.06.14 17:30
45. Kutnor Kutnor (Kutnor) 25.06.14 10:54
Как дать доступ к подсистеме другим пользователям?
Сейчас если провожу неоперативно под полными правами то все проводится, если пробую под пользователем с ролью менеджера то выходит вот такая ошибка:


{ОбщийМодуль.КонтрольОтрицательныхОстатков.Модуль(17)}: Ошибка при вызове метода контекста (Выполнить)
Результат=Запрос.Выполнить();
по причине:
Недостаточно прав для работы с таблицей "РегистрСведений.КонтрольОтрицательныхОстатков"
46. 33lab (33lab) 25.06.14 11:28
(45) Kutnor, Заходим в конфигуратор щелкаем правой кнопкой мышки на регистре сведений "КонтрольОтрицательныхОстатков" -> в появившемся меню выбираем "Дополнительно" --> в открывшемся окне выбираем закладку "Права" и устанавливаем флажки всем кому необходимо.
47. Kutnor Kutnor (Kutnor) 26.06.14 10:10
(46) 33lab, а как настроить так чтобы в заказе покупателя тоже был контроль остатков товара?
Я перепробовал все, так и не нашел нужный результат. Чтобы был контроль в реализации понятно, ставлю регистр:товары со склада, но там нет в докмуентах заказа покупателя.
Сейчас при оперативном проведении он сообщает что товара нет, а вот в неоперативном не хочет сообщать, проводит молча.
48. Kutnor Kutnor (Kutnor) 26.06.14 10:23
И еще не совсем понятно как настроить товары в резерве, вот допустим в резерве 8 упаковок товара, в наличии в организации 8, а свободный остаток равен нулю, то есть продавать нельзя товар, если реализацию провожу оперативно, то он мне выдает ошибку и пишет что товар зарезервирован, а если неоперативно то проводит.
пробовал добавлять регистр Товары в резерве на складах.
49. 33lab (33lab) 26.06.14 10:30
(47) Kutnor, Заказ покупателя не двигает регистр "Товары на складах" - поэтому не совсем понятно как вы хотите его настроить?!
(48) Kutnor, Вы всего лишь настраиваете конкретный регистр (не важно какой, пусть это будет "Товары в резерве на складах") - система не даст провести документ если вы указанным вами измерениям (по установленным галкам на измерениях) нет остатков (по установленным галках на ресурсах)
50. Kutnor Kutnor (Kutnor) 26.06.14 10:42
(49) 33lab, а какой регистр тогда двигает заказ покупателя при оперативном проведении? Ведь при оперативном проведении заказ покупателя не проводится если "товара на складах" нет в наличии. Значит все таки он двигает этот регистр, вот я и хотел бы настроить чтобы он и в неоперативном тоже работал. Я как бы и думал что контроль остатков-это именно контроль товара.

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

Давайте задам вопрос по другому:
Как настроить подсистему чтобы реализация товаров не проводилась если нет свободных остатков? Хоть оперативно хоть неоперативно.
51. 33lab (33lab) 26.06.14 10:54
(50) Kutnor,
а какой регистр тогда двигает заказ покупателя при оперативном проведении?

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

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


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

P.S. Предложение о подключении все еще в силе - могу подключится и все показать (по скайпу еще и голосом все объяснить)
52. Kutnor Kutnor (Kutnor) 26.06.14 11:05
(51) 33lab, спасибо, давайте подключимся, буду благодарен. скайп kutnor.ru
p.s. это я уже делал, не помогло.
Выбираем регистр "Товары на складах" --> ставим галку на виде документа "Реализация товаров и услуг" -> ставим галки на Измерения\Ресурсы, поле "Режим проведения" оставляем пустое.
53. Kutnor Kutnor (Kutnor) 26.06.14 12:05
Спасибо 33lab, все рассказал, объяснил, даже код немного подправил и у меня все заработало.
Молодец!
54. Раиль Маслахов (maslakhoff) 09.07.14 11:08
Добрый день! Если Вас не затруднит, не могли бы Вы отправить Подсистему "Контроль отрицательных остатков" на e-mail: maslakhoff@yandex.ru
Заранее благодарен!
55. Раиль Маслахов (maslakhoff) 09.07.14 13:51
Получил, спасибо!
Вот только у меня появилась проблемка:
Типовая конфигурация 1С:Общепит 2.0.43.6 (8.2) (Похожа на Бухгалтерию 2.0 с добавлением подсистемы "Общепит")
Нам нужно установить контроль остатков на документ "Реализация товаров и услуг" иначе пользователи проводят документы задним числом и появляются минусовые остатки...
Начал смотреть подсистему "Контроль отрицательных остатков" но сразу же столкнулся с проблемкой - не могу найти нужный "Вид регистра".
Посмотрел движения документа "Реализация товаров и услуг" - там только "Журнал проводок (бухгалтерский и налоговый учет)". Хотел выбрать регистр "Товары на складах" как в примере, но у меня его не оказалось в списке данной подсистемы...
Помогите, плиз
56. Раиль Маслахов (maslakhoff) 09.07.14 13:57
Еще: у нас ведется партионный учет ... остатки вычисляются запросом на дату ... остатки товаров не хранятся в регистрах... (Похоже сам ответил на свой же вопрос) Значит данная подсистема нам не подходит...?
57. 33lab (33lab) 09.07.14 14:05
(56) maslakhoff, Скорее всего у вас все построено на бух.счетах (т.е. на регистрах бухгалтерии а не на регистрах накопления) - следовательно данная подсистема вам не подойдет.
P.S. Реализовать подобное для регистров бухгалтерии довольно просто.
58. Раиль Маслахов (maslakhoff) 09.07.14 14:44
Спасибо за оперативной ответ!
Я уже добавил проверку при проведени нужного документа (формируется запрос для получения остатков на текущую дату и сверяется с документом, если остаток превышен, тогда Отказ = Истина и выводится предупреждение...)
59. Иван Иванов (perceff) 10.07.14 10:02
Здравствуйте, не подскажете, порядок добавления подсистемы в типовую КА, что-то я никак разобраться не могу, не профи я.
60. 33lab (33lab) 10.07.14 10:12
(59) perceff, Если есть амми\тимвьюер - могу подключиться и показать.
61. 33lab (33lab) 10.07.14 11:02
во вложениии описание встраивания подсистем
Прикрепленные файлы:
Подсистемы.exe
62. Иван Иванов (perceff) 10.07.14 11:46
(60) 33lab, сделал все по инструкции (подсистемы.exe) возникло пара вопросов:
1. сказано при объединении согласится оставить на поддержке, согласился, но ничего изменить не могу ни код, ни галочки, как быть?
2. видимо вытекает из 1:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
Попытка передачи с клиента на сервер мутабельного знач
, т.к. лечится насколько я понял галочками
есть ammyy 3.4.0.0 готов к подключению, если Вы не против.
63. 33lab (33lab) 10.07.14 11:50
(62) perceff, Напишите мне в аську 165768938
64. Иван Иванов (perceff) 10.07.14 17:32
(53) Kutnor, Подскажите, пожалуйста, как вам удалось настроить подсистему контроля отрицательных остатков на работу с заказами покупателей? у меня что-то не выводится сообщение о превышении ни при оперативном проведении, ни при не оперативном.
65. Ольга Гуральник (gol12351) 24.07.14 16:10
Добрый день! Подключила подсистему, по товарным остаткам все хорошо контролирует. Возник вопрос по регистру Взаиморасчеты с контрагентами. Вид движения у этого регистра Приход при проведении РТУ, т.е. движение НЕ проверяется (строка 116 кода в модуле: МассивСтрок=тзПроведения.НайтиСтроки(Новый Структура("ВидДвижения",ВидДвиженияНакопления.Расход));).
У меня конфигурация УТП, может в УПП при реализации вид движения по регистру Взаиморасчеты "расход"?
66. 33lab (33lab) 25.07.14 09:47
(65) gol12351, Все, что Вы написали - правильно т.е. регистры которые пишут движения в "Приход" не контролируются - к сожалению таким регистром оказался "Взаиморасчеты с контрагентами". Подсистема создавалась в основном для контроля списания ТМЦ в минус (поэтому в коде жестко прошита проверка на вид движения "Расход"), но как Вы заметили код открыт - так, что можете спокойно доработать ее под себя (проще всего добавить к виду документу - > вид движения который необходимо контролировать - вот тогда будет совсем универсально)
67. Ольга Гуральник (gol12351) 25.07.14 10:36
Добрый день! Спасибо за ответ. буду разбираться дальше.Ваш Контроль отр. остатков подтягивается под событие обработка проведения документа. Пробовал ли кто- нибудь подтянуть под другое событие?
68. 33lab (33lab) 25.07.14 11:06
(67) gol12351, что имеется ввиду под "другое событие" ?
69. Ольга Гуральник (gol12351) 25.07.14 12:04
дело в том, что я хотела бы оставить событие при проведении стандартным, там у нас есть свои изменения, а вашу обработку прикрутить к наример призакрытии и не запрещать проведение, а только выдавать сообщение, что у Вас возможно. Спасибо
70. 33lab (33lab) 25.07.14 12:13
(69) gol12351, Событие "При проведении" остается стандартным...Добавляется лишь новая подписка на событие "Обработка проведения" - она выполняется после стандартного проведения.
71. Z Lu (validat) 30.07.14 23:52
Подсистема установлена у пользователя и работает уже 6 месяцев. Огромное спасибо разработчику!
Задачу Подсистема, - выполняет вполне.

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

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

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

Вопрос решён с помощью автора "Подсистема "Контроль отрицательных остатков"".
Огромное ему спасибо!
Нужно было проставить галочки "Выводить сообщения об ошибках в отдельном окне".
Теперь будет просто найти где чего-то не хватает. Снимок прикрепил.
Прикрепленные файлы:
72. 33lab (33lab) 31.07.14 09:16
(71) validat, Спасибо за отзыв.

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


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

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


Можно, но тогда подсистема будет не универсальной (т.к. придется проверять есть ли в конкретном регистре к примеру измерение "Номенклатура")
73. Z Lu (validat) 31.07.14 11:24
Понятно.
Осмелюсь предложить решение проблемы соответствия.
Вдруг это сможет решить проблему соответсттвия порядкого номера в документе и сообщении об ошибках.
Взято отсюда http://infostart.ru/public/205184/. Для пояснения принципа решения. В этой обработке выполняется сортировка для совпадения строк Документа и Печатной формы. Обработка прикреплена к сообщению.

После  | РегТоварыВРознице.Качество
добавить
| ,РегТоварыВРознице.НомерСтроки

поменять //|УПОРЯДОЧИТЬ ПО Номенклатура
на
|УПОРЯДОЧИТЬ ПО РегТоварыВРознице.НомерСтроки
...Показать Скрыть
Прикрепленные файлы:
ПриходНаРозничныеСкладыВЦенахАТТ_Сортировка.epf
74. 33lab (33lab) 31.07.14 13:10
(73) validat, Если честно я не очень понимаю чем это может помочь.. Можете добавить и посмотреть, что получится(если не сможете сами, могу подключиться и добавить)...Возможно в простых случаях (как в данном конкретном) - это и поможет.
75. Z Lu (validat) 31.07.14 19:16
(74) 33lab, прошу помощи. Подключиться и добавить.

Спасибо! Всё получилось. Проблема была в моей невнимательности.
76. Алексей Антонюк (Bozhevilnoe) 08.08.14 14:59
Не читал всех сообщений, может писал уже кто, но не срабатывает когда товар ставится в резерв Заказом покупателя задним числом.
77. 33lab (33lab) 11.08.14 09:39
(76) Bozhevilnoe, К сожалению данное сообщение ни о чем не говорит, напишите какой регистр пытаетесь контролировать.
P.S. Либо напишите в аську - подключусь посмотрю сам.
78. Артур Хайруллин (Artur2316) 16.09.14 09:20
Рекомендую данную подсистему, помимо всех плюшек, ОЧЕНЬ АДЕКВАТНАЯ поддержка в лице разработчика Константина!
79. Никита Сафонов (Safon46) 05.12.14 12:18
Добрый день!
Подсистема встала хорошо на КА 1.1, только вот почему-то контроль распространяется на всех пользователей, хотя в РС указываю всего одного.
Вот настройка http://img-fotki.yandex.ru/get/16130/38647799.3/0_108e3e_9eee357d_orig.png
Но почему то не дает проводить перемещения даже из под админа с полными правами
80. 33lab (33lab) 05.12.14 12:57
(79) Safon46, Есть несколько вариантов почему такое может быть:
1.Возможно в КА нет "ПараметрыСеанса.ТекущийПользователь"
2.Возможно запрет проведения никак не связан с подсистемой а связан с внутренними алгоритма запрета в КА

Если есть возможность подключиться к Вас через амии\тимвьюер - то смогу посмотреть и точно ответить почему такое происходит.
81. Никита Сафонов (Safon46) 07.12.14 14:53
(80) 33lab, благодарю за отклик!
Как только вам будет удобно черкните в скайп saf..n, организуем сеанс!
82. Сергей Назаров (N_s_s) 24.12.14 13:43
Что то не правильно работает, делаю поступление 5 шт от 20.12. Делаю реализацию от 22.12 1 штуки и от 24.12 4 штук. Всё работает. Захожу в документ от 22 меняю на 2 штуки, пытаюсь провести - ругается, вроде все корректно. Меняю обратно на 1, нажимаю провести - ругается. В чем подвох? отчет ведомости по партиям товаров показывает что количество на остатках есть. Ведомость по товарам на складах тоже показывает остаток. Не пойму...
83. 33lab (33lab) 24.12.14 15:14
(82) N_s_s, Если есть возможность подключится к Вам по амми\тимвьюеру - то могу посмотреть и сказать в чем дело.
84. Сергей Назаров (N_s_s) 24.12.14 18:06
Конечно есть, skype nazarovs_ui, я расковыряал ваш код, но все равно не могу понять, главное если я в консоли запросов делаю запрос:

Выбрать
&Склад как склад, &Номенклатура как номенклатура, 3 как количество
Поместить Первая

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

то он нормально отрабатывает, а в конфе нет. я в ступоре. чего то видимо не вижу.
86. Egor (oops!) 11.03.15 05:19
Идея классная! Плюс адназначна!
А вот насколько сложно тоже самое сделать для новых типовых конфигураций (УТ11, БП3.0, УНФ1.5) под платформой 8.3?
В данный момент лично мне (думаю, что я не одинок в этом вопросе) это очень актуально для УНФ1.5 - там при проведении документов остатки проверяются "на конец концов", т.е. по последнему проведённому документу в системе. В связи с тем, что в конфигурации напрочь отсутствуют документы корректировки отгрузки, при расхождениях приходится править исходные документы задним числом, а из-за этого возникают внутренние минуса и себестоимость товара летит в известном направлении.
87. 33lab (33lab) 11.03.15 10:00
(86) oops!, Для перевода на УФ необходимо перерисовать саму форму (она там одна), алгоритм переписать не надо. К сожалению (или к счастью) упр.формы я принципиально не рисую.
88. Egor (oops!) 11.03.15 12:56
(87) Костя, на сколько я понимаю, форму нужно не только перерисовать (их как минимум там три), а и определиться во всех модулях (в общем модуле, в обработчике подписки, а так же в трёх формах регистра сведений - форма списка, записи и отображения результата) с тем, что выполняется на клиенте, а что на сервере, и как они (клиент и сервер) взаимодействуют между собой; возможно, нужно будет ещё и области определить (программный интерфейс, системный и пр.). Кроме того, избавиться от модальных окон (сообщить, предупреждение, установить период и т.п.). И, очень сильно подозреваю, что это ещё не всё, потому что программирование в УФ весьма отличается от обычного приложения - многие системные процедуры, функции, доступ к объектам - всё иначе.
Вобщем, я попробую перевести - отпишусь здесь по результатам :)
Ну, а переходить на УФ, думаю, всё же придётся, если ты одинэсишь - 8.2, по сути, доживает свой последний год, ну, м.б., ещё годик-другой поддержка будет после выхода УПП и КА на УФ, чтобы дать время на переход, но не более того.
89. 33lab (33lab) 11.03.15 13:36
(88) oops!, Почти все верно, но не совсем :) Там действительно 3 формы надо перерисовать (с одной я погорячился), а вот, что касается алгоритма то его менять не придется (кроме как избавится от модальности). У меня к сожалению времени сейчас катастрофически не хватает, но если стукнешься в аську (а лучше в скайп) - помогу чем смогу (относительно перевода на УФ).
P.S. Ну а что касается перехода на УФ (ввиду того, что 1С туда ушло) - мне это не грозит :)
90. Egor (oops!) 11.03.15 15:08
(89) Алгоритм верен, тут сомнений нет. Возможно и код на 90% останется тем же - я ещё сильно в детали не вникал - глянул только структуру, и обратил внимание на включения типа "# Если Клиент" внутри самих процедур и функций, а не на них непосредственно - не совсем уверен, но, возможно, в УФ с такими "оборотами" надо быть поаккуратнее. Я сам с УФ сижу буквально с начала этого года и пока плююсь и ругаюсь матом, но делать нечего и приходится жрать этот кактус :)
91. Дмитрий Сергеев (sdm1triy) 08.04.15 23:17
В 1С Розница 8 1.0 прекрасно работает. Автору спасибо!
92. Петр Лунегов (pvlunegov) 10.07.15 07:31
При внедрении подсистемы на доработанную Ут 10.3 в конфигураторе
выдается предупреждение:
"Удалены группы в справочнике: Пользователи"

Печально! К сожалению, я не могу такого допустить, группы в справочнике очень важны!
Придется что-то допиливать при объединении с вашей подсистемой...
93. Петр Лунегов (pvlunegov) 10.07.15 07:36
Решил проблему.
При объединении с вашей подсистемой в настройках объединения в справочнике "Пользователи", снял все галки, кроме общего модуля.
Помогло.
Буду тестить.
94. Петр Лунегов (pvlunegov) 10.07.15 10:11
Тестирую. Нет контроля свободного остатка.
Сделал все согласно предыдущим комментариям.
Например, делаю контроль регистра "Товары на складах", "Товары в резерве на складах".
Контроль отрицательного остатка по регистрам есть.
Но мне нужен контроль остатка одновременно по 2 регистрам.
То есть СВОБОДНЫЙ остаток.

Как это реализовать без изменения вашей подсистемы?
95. Петр Лунегов (pvlunegov) 10.07.15 10:16
Мое резюме - задумка отличная, все замечательно, но сильно не хватает контроля Свободного остатка.
А без этого смысла внедрять в управленческий учет нету никакого!

Потому что Свободный остаток и контроль сразу по 2 регистрам "Товары на складах", "Товары в резерве на складах" - это основа.
Почему автор за 2 года своей подсистемы не смог подобное учесть?
Ведь уже были возражения в комментариях, почему нельзя подсистему доработать?

Напишите тогда в описании подсистемы - нет контроля СВОБОДНОГО остатка.

Получается я зря потратил несколько часов на тестирование вашей подсистемы. Нехорошо!
96. 33lab (33lab) 10.07.15 10:19
(93) pvlunegov, данную галку просто не надо было ставить :)
Прикрепленные файлы:
97. Петр Лунегов (pvlunegov) 10.07.15 10:20
Еще один косяк - в настройках регистра "Контроль отрицательных остатков" всего одна запись. Настройка "Режим проведения" - неоперативный. "Запретить проведение"

Провожу документ за сегодня. Выводится сообщение, запрещает проведение.
Это как? Недоработка?
Может еще какие то недоработки есть.
Все больше склоняюсь к мысли что ваша подсистема сырая и с кучей багов
98. Петр Лунегов (pvlunegov) 10.07.15 10:22
(96) 33lab,
При объединении с вашей подсистемой я все галки проставлял, кроме тех, что в справочнике "Пользователи"
99. Петр Лунегов (pvlunegov) 10.07.15 10:26
(96) 33lab,
не понял вашего комментария. Вы выслали 3 картинки. В них написано - Установить флаг. Вы говорите, цитата: "данную галку просто не надо было ставить"

Что вы хотели сказать?
100. 33lab (33lab) 10.07.15 10:34
(95) pvlunegov, Можете контролировать остатки любого регистра (как одного так и сразу нескольких)
(99) pvlunegov, На картинках указано какие галки необходимо установить. Про галку "Пользователи" там нет ни слова.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа