Автоматическое снятие резервов. УТ 10.3

12.08.19

Учетные задачи - Оптовая торговля

Модуль полностью программно повторяет действие пользователя (в тексте модуля все действия выделены для удобства использования): Создаёт документ "Закрытие заказов покупателей" с видом операции "снятие резервов и размещения" - заполнить(ТЧ) - форма "Отобрать заказы покупателей" с вариантом отбора "Неоплаченные в срок заказы", после чего форма "Отобрать заказы покупателей" принимает следующий вид

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

Наименование Файл Версия Размер
СнятиеРезервов.epf
.epf 9,13Kb
68
.epf 2018.02.28 9,13Kb 68 Скачать

Если заказы были найдены то по ним резервы снимаются.

Из опыта использования:

   те заказы которые установлены в документах оплаты (сумма оплаты не контролируется) - по ним резерв висит, если не снят документом продажи.

   товары которые были убраны с "Заказа покупателя", но остались в "Резервирование товаров" висят, т.к. в документе они отсутствуют

Для проверки в режиме 1С:Предприятие, в тексте модуля найдите и приведите к виду строки

Стр 11
ЗакрытиеЗаказовПокупателейФорма.Открыть();//Разкоментируйте для проверки (!!!!!1)
Стр 167
//ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.Закрыть();//Закоментируйте для проверки (!!!!!2)

Для  Клиент-серверного варианта работы.

Для Клиент-серверного варианта работы:  т.к. обработка использует формы, то регламентным заданием на сервере выполнятся не будет, но можно в процедуру ПриНачалеРаботыСистемы() добавить условие с её выполнением.

1. Добавляем модуль в "Общие модули", со свойствами "Сервер" "Вызов сервера" "Привилегированный"

Вносим процедуру из модуля вложенной внешней обработки "ПроцедураСнятиеРезервов.epf" во вновь созданный модуль.

2. В Модуль обычного приложения

ПриНачалеРаботыСистемы()

в конце 

Если РольДоступна("ПолныеПрава") Тогда// Где РольДоступна("ПолныеПрава") - обозначение пользователя
    ""ВашМодуль"".СнятиеРезервов();
КонецЕсли;

 

Для Файлового варианта работы.

Для Файлового варианта работы:  Для автоматического снятия резервов нужно добавить "Регламентное задание" и "Общий модуль", заводской код при этом править нет необходимости. 

1. Добавляем модуль в "Общие модули", со свойствами "Сервер" "Вызов сервера" "Привилегированный"

Вносим процедуру из модуля вложенной внешней обработки "ПроцедураСнятиеРезервов.epf" во вновь созданный модуль.

2. Добавляем задание в "Регламентные задания", со свойствами "Использование" "Предопределенное", а в "Имя метода" выбираем созданный модуль. (Если свойство "Предопределенное" не устанавливать, то задание нужно будет добавлять через обработку КонсольЗаданий.epf)

В "Расписание" задания, в закладке "Общее" - "Повторять каждые" добавляем 1 (Выполнять: каждый  день;), в закладке "Дневное" - "Время начала" - "18:00:00" (с 18:00:00 один раз в день)

После проделанного каждый день в конце рабочего дня будет создаваться документ "Закрытие заказов покупателей" с видом операции - снятие резервов и размещений с настройками отбора из последнего изображения. Если такие заказы отсутствуют, то документ не будет создан.

Работает как внешняя обработка, в ручном режиме

Единственное - ищет причину закрытия по ссылке, но закомментированное

//ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПричинаЗакрытия = Справочники.ПричиныЗакрытияЗаказов.ПолучитьСсылку(Новый УникальныйИдентификатор("d11d6223-f487-11e6-b485-0cc47a6c5738"));//881

 

Снятие резервов УТ 10.3

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

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

28500 22800 руб.

21.04.2017    90170    105    39    

190

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    165952    679    362    

385

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Данная публикация создана для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Смело задавайте нам вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, мы накопили достаточно большую базу знаний по данным темам и готовы ответить на все Ваши вопросы.

104000 руб.

18.03.2019    110319    34    114    

178

Обмен с системой Меркурий через Web + Ветис.API для любых конфигураций (универсальная конфигурация Хамелеон Меркурий)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Конфигурации 1cv8 Сельское хозяйство и рыболовство Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Пищевая промышленность Россия Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная конфигурация Хамелеон Меркурий для взаимодействия с системой Меркурий(тестовый+рабочий+демо контур) может использоваться для интеграции в любую конфигурацию на базе 1С, версии ПРОФ и выше. Основное отличие от других решений - работа через веб-интерфейс и API 2.0(API 2.1). Для удобства реализован общий интерфейс в виде обработки, схожей с интерфейсом Меркурий, но возможностей гораздо больше, т.к. при интеграции в Вашу учетную систему, можно на основании Ваших справочников и документов, создавать соответствующие документы и справочники в системе Меркурий и наоборот.

104000 руб.

08.11.2017    120853    296    138    

392

Простое ценообразование (установка цен номенклатуры) для 1С 8.3 (УТ 11 / ERP 2 / КА 2 / Розница 2) + (УТ 10.3 / УПП / КА 1 / Розница 1)

Оптовая торговля Розничная торговля Ценообразование, анализ цен Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:CRM ПРОФ, КОРП Управленческий учет Платные (руб)

Есть проблемы с расчетом и установкой цен на товары? Универсальная подсистема для ценообразования в 1С поможет навести порядок с ценами! Механизм позволяет задавать произвольные правила расчета колонок цен для разных групп товаров и легко их изменять. Может автоматически (по расписанию) обновлять цены в 1С и выполнять проверку наличия и корректности цен на все товары.

30000 руб.

13.11.2017    77900    40    11    

46
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. 1C82 46 16.01.19 15:55 Сейчас в теме
Спасибо! Все работает.
2. wau8824ru 22 21.02.19 07:01 Сейчас в теме
3. user817897 2 14.03.19 13:11 Сейчас в теме
(2) а где настроить через сколько дней чтобы снимался резерв?
4. wau8824ru 22 14.03.19 13:55 Сейчас в теме
(3)
В модуле обработки
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты			= 11;//Число рабочих дней просроченной оплаты

Рабочих или календарных то что в константе
Константы.СпособКонтроляДнейЗадолженности.Получить()

Если используете рабочие то Регламентированный производственный календарь должен быть сформирован.
Дата от которой идёт отсчёт - это "Оплата" в документе Заказ покупателя
5. wau8824ru 22 14.03.19 14:00 Сейчас в теме
(3)
Ищё там же есть
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.Закрыть();//Закоментируйте для проверки (!!!!!2)
6. user817897 2 14.03.19 14:43 Сейчас в теме
(5) закомментировал, но пока не соображу как проверить,распишите пожалуйста ход действий,хочу очень вникнуть
7. wau8824ru 22 15.03.19 06:43 Сейчас в теме
(6)
у как проверить,распишите пожалуйста ход действий,хочу очень вникнуть

В начале
ЗакрытиеЗаказовПокупателейФорма.Открыть();//Разкоментируйте для проверки (!!!!!1)
В конце
//ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.Закрыть();//Закоментируйте для проверки (!!!!!2)

После чего форма ОтбораЗаказов будет видна для проверки
10. user817897 2 15.03.19 09:56 Сейчас в теме
(7) понял,я просто не понял где просмотреть это ))) но потом прочитал что открыть обработку
11. wau8824ru 22 15.03.19 10:07 Сейчас в теме
(10)
ЗакрытиеЗаказовПокупателейФорма.Открыть();//Разкоментируйте для проверки (!!!!!1)
//ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.Закрыть();//Закоментируйте для проверки (!!!!!2)

После этого откройте обработку в режиме предприятия (Фаил - Открыть - СнятиеРезервов.epf)
12. user817897 2 15.03.19 10:27 Сейчас в теме
(11)ссори,не заметил,проверил,всё гуд,работает))) ещё раз извините.
а подскажите как переделать чтобы не по оплате вёлся контроль,а по количеству дней от даты в заказе?
14. wau8824ru 22 15.03.19 10:45 Сейчас в теме
(12)
(11)ссори,не заметил,проверил,всё гуд,работает))) ещё раз извините.
а подскажите как переделать чтобы не по оплате вёлся контроль,а по количеству дней от даты в заказе?

В (8) написал
добавте между
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаКон                        = НачалоДня(ТекущаяДата())-1;

и
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты            = 11;//Число рабочих дней просроченной оплаты

код
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ВидЗаполнения                    = 4;
    ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПолеНастройкиВидЗаполненияПриИзменении(ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ЭлементыФормы.ПолеНастройкиВидЗаполнения);

Нужно в форме отбора заказов процедуру Процедура ПолеНастройкиВидЗаполненияПриИзменении(Элемент) сделать Экспортной
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПолеНастройкиВидЗаполненияПриИзменении() - она должна быть Экспорт
15. wau8824ru 22 15.03.19 10:48 Сейчас в теме
(14)
После чего
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаНач = ДобавитьМесяц(ТекущаяДата(), -3);
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаКон = НачалоДня(ТекущаяДата())-1;

период заказов участвующих в отборе
8. wau8824ru 22 15.03.19 07:45 Сейчас в теме
(6)
Нужно в форме отбора заказов процедуру Процедура ПолеНастройкиВидЗаполненияПриИзменении(Элемент) сделать Экспортной
а в Процедура СнятиеРезервов()
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ДатаКон						= НачалоДня(ТекущаяДата())-1;
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ВидЗаполнения					= 4;
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПолеНастройкиВидЗаполненияПриИзменении(ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ЭлементыФормы.ПолеНастройкиВидЗаполнения);
	ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.ПросроченоДнейОплаты			= 11;//Число рабочих дней просроченной оплаты
9. wau8824ru 22 15.03.19 07:48 Сейчас в теме
(8)
После чего форма отбора примет вид файла
Прикрепленные файлы:
13. user817897 2 15.03.19 10:42 Сейчас в теме
(9)я так понимаю надо часть кода закомментировать?
16. user817897 2 15.03.19 11:51 Сейчас в теме
(9)проверил,всё работает если открывать отдельно обработку,а вот по времени чё-то не работает,настроил в регламентном задании чтобы через две минуты сделалось к примеру, сейчас на часах 11:50,а поставил выполнять в 11:52,так вот никакой документ не создаётся,а если смотреть через обработку(открывая её и нажимать выполнить) документ закрытия создаётся. что не так делаю в настройках?
17. user817897 2 15.03.19 11:59 Сейчас в теме
(9)
Прикрепленные файлы:
18. user817897 2 15.03.19 12:00 Сейчас в теме
во втором фото там код лежит из обработки.
но не срабатывает по времени которое я указал,из-за чего так может быть?может я не правильно что сделал?
вы меня извините за мою тупость))))
19. wau8824ru 22 15.03.19 12:13 Сейчас в теме
(18)
во втором фото там код лежит из обработки.
но не срабатывает по времени которое я указал,из-за чего так может быть?может я не правильно что сделал?
вы меня извините за мою тупость))))

Смотрите через консоль заданий?
А база у вас Файловая или Серверная?
Прикрепленные файлы:
КонсольЗаданий.epf
20. user817897 2 15.03.19 12:15 Сейчас в теме
(19)тестирую на файловой,потом закину на серверную)
31. wau8824ru 22 15.03.19 13:13 Сейчас в теме
(20)
тестирую на файловой,потом закину на серверную)

Вот это в корне не правильный подход. нужно тестировать там где оно и будет крутится, иначе время в пустую.
21. wau8824ru 22 15.03.19 12:15 Сейчас в теме
(19)
не срабатывает по времени которое я указал

И нужно обратно вернуть
//ЗакрытиеЗаказовПокупателейФорма.Открыть();//Разкоментируйте для проверки (!!!!!1)
ЗакрытиеЗаказовПокупателейФормаОтбораЗаказов.Закрыть();//Закоментируйте для проверки (!!!!!2)
22. user817897 2 15.03.19 12:18 Сейчас в теме
(21)это вернул я
попробовал я сейчас запустить КонсольЗаданий, ошибка сразу выскочила,что она может значить?
{ВнешняяОбработка.КонсольЗаданий.Форма.ФормаКонсоли.Форма(59)}: Ошибка при получении значения атрибута контекста (ПоследнееЗадание)
ПоследнееЗадание = Регламентное.ПоследнееЗадание;
по причине:
Менеджер заданий не активен.
23. wau8824ru 22 15.03.19 12:19 Сейчас в теме
На серверной работать не будет. из за работы с формами.
Можно через
Модуль обычного приложения
ПриНачалеРаботыСистемы()
в конце
Если РольДоступна("ПолныеПрава") Тогда// Где РольДоступна("ПолныеПрава") - обозначение пользователя
	КлиентОбычноеEpartner.СнятиеРезервов();
КонецЕсли;
24. user817897 2 15.03.19 12:26 Сейчас в теме
(23)просто вставить этот код в ПриНачалеРаботыСистемы() и будет работать?
и Регламентное задание и общий модуль тоже оставлять? оно будет брать код из общего модуля Снятие резервов?
25. wau8824ru 22 15.03.19 12:41 Сейчас в теме
(24)
бщий модуль тоже оставлять? оно будет брать ко

Модуль нужно оставлять
КлиентОбычноеEpartner.СнятиеРезервов();

КлиентОбычноеEpartner - название моего модуля.
А вот регламентное нужно удалить, т.к. делалось под файловую базу, и после переноса на сервер выяснялось что не работает. Код в модуле просто повторяет программные нажатие стандартного документа ЗакрытиеЗаказовПокупателей, где перед открытием формы отбора вставляются нужные значения. Можно переделать под сервер, нужно заменить элементы формы на программные переменные, но это долго, да и так работает.
28. user817897 2 15.03.19 12:56 Сейчас в теме
(25)я тебя понял. и на сервере будет работать если напишу вот так?

Процедура ПриНачалеРаботыСистемы()
	
	УправлениеСоединениямиИБКлиент.УстановитьКонтрольРежимаЗавершенияРаботыПользователей();

Если РольДоступна("ПолныеПрава") Тогда   //Тут надо менять что??
    КлиентОбычноеEpartner.СнятиеРезервов(); //у меня модуль называ СнятиеРезервов? или написать СнятиеРезервов.СнятиеРезервов();
КонецЕсли;

КонецПроцедуры
Показать
29. wau8824ru 22 15.03.19 13:01 Сейчас в теме
(28)
	Если ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("Администратор") Тогда
		СнятиеРезервов.СнятиеРезервов();
	КонецЕсли;
	//88)
КонецПроцедуры // ПриНачалеРаботыСистемы()
30. user817897 2 15.03.19 13:07 Сейчас в теме
(29) я понял,будет работать когда пользователь зашёл в 1с,а по регламентному заданию никак нельзя сделать ? я меня база на SQL server 2008 лежит
32. wau8824ru 22 15.03.19 13:19 Сейчас в теме
33. user817897 2 15.03.19 13:36 Сейчас в теме
(32)да смотрел,но у меня уже закончились стартмани))
34. wau8824ru 22 15.03.19 13:41 Сейчас в теме
(33)
уже закончились стартмани))

Написал в личку
35. user817897 2 15.03.19 15:06 Сейчас в теме
(34)ну,а всё же,вашу разработку,можно будет сделать чтобы она работала на сервере?или это вообще прям беда?
36. user817897 2 15.03.19 15:35 Сейчас в теме
(34) я вот проверил.если подвесить просто на кнопку текст

СнятиеРезервов.СнятиеРезервов();

то оно работает,а если как взять и подвесить чтобы нажималось на эту кнопку по времени??? можно так?
26. wau8824ru 22 15.03.19 12:43 Сейчас в теме
(24)
ПриНачалеРаботыСистемы() и будет работать?

Будет отрабатывать при входе в систему определённого пользователя, РольДоступна("ПолныеПрава") можно заменить на
Справочники.Пользователи.НайтиПоНаименованию("ОсновнойОтветственный") = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойОтветственный");

или
ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("ТекущийПользователь");
27. wau8824ru 22 15.03.19 12:55 Сейчас в теме
Посмотрите ещё вот эти процедуры которые были в УТ10.2
https://infostart.ru/public/70026/
37. kozachenkoiv 4 13.11.19 06:55 Сейчас в теме
Здравствуйте, купил Вашу обработку, но она не работает в клиент серверном варианте, потому что использует формы, ошибка вываливается на строке ЗакрытиеЗаказовПокупателейФорма = Документы.ЗакрытиеЗаказовПокупателей.ПолучитьФорму("ФормаДокумента");
38. kozachenkoiv 4 13.11.19 14:29 Сейчас в теме
(37) Вы укажите что в случае клиент-серверного перед процедурой нужно указать директиву где исполнять &НаКлиенте и в общем модуле надо ставить галку "клиент", галка "привелигированный" там не нужна.
39. Nikita890 02.12.20 07:24 Сейчас в теме
Добрый день, приобрел обработку. Если запускать через меню файл, то работает (при нажатии кнопки "Выполнить"), а вот автоматически не срабатывает, ничего не происходит. Создал общий модуль, скопировал в него процедуру из обработки, добавил регламентное задание в конфигураторе, выбрав созданный модуль. Галочки поставил все как на скринах. Ничего не происходит.
Открываю консоль заданий, появляется сообщение менеджер заданий не активен, открывается список с регламентыми заданиями - в нем нет добавленного мной через конфигуратор, добавляю через менеджер заданий, нажимаю обновить список - задание исчезает.
Что я делаю не так подскажите?
Оставьте свое сообщение