Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 05:23

Атоматическое снятие резервов в 1с ут 10.3

Автор sapralex, 02 сен 2013, 09:27

0 Пользователей и 1 гость просматривают эту тему.

sapralex

Добрый день!
Я учусь програмированию в 1с!
И у меня возникла одна проблема: Хочу сделать автоматическое снятие резервов в 1с 8.2 ут 10.3!
Чтобы были еще условия. Например просрочка оплаты 7 дней, то снимается резерв. Если есть оплата, и нет отгрузки в течение 14 дней, то снимается резерв ит.д. Разные условия!
Как это можно реализовать?
Заранее всем большое спасибо! 

sapralex

Как это реализовать я уже догодался! Надо Создать свой мудуль и прописать там свои процедуры или функции, а также создать регламентную задание, где будет подключен этот модуль! Настроить расписание! И все!) Но остается вопрос по выполнеию условий! Я сделал два условия но не знаю правильно ли будет выполняться? Подскажите кто нибудь!!!
Добавлено: 02 сен 2013, 13:25


Процедура СнятиеПросроченныхрезервов
ПятьДней = 5*24*60*60;
   ДатаРез  = КонецДня(ДатаСнятияРезерва);
   Запрос   = ЗапросРозница();   
   //Закрытие заказов
   ВыборкаЗаказа = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ДокументРезерва");
   Пока ВыборкаЗаказа.Следующий() Цикл   
      Если  ВыборкаЗаказа.Период <=НачалоДня(ДатаСнятияРезерва) - ПятьДней Тогда
         Если (ВыборкаЗаказа.Сумма<=0) Тогда           
            Если Лев(ВыборкаЗаказа.ДокументРезерваПредставление,16) = "Заказ покупателя" Тогда         
               ЗакрытиеЗаказа(ВыборкаЗаказа.ДокументРезерва,Перечисления.ВидыОперацийЗакрытиеЗаказовПокупателей.СнятиеРезервов);               
            ИначеЕсли Лев(ВыборкаЗаказа.ДокументРезерваПредставление,16) = "Внутренний заказ" Тогда
               ЗакрытиеВнЗаказа(ВыборкаЗаказа.ДокументРезерва);
            КонецЕсли;            
         КонецЕсли;
      КонецЕсли;
   КонецЦикла;
КонецПроцедуры
                 

Вот процедура снятия резерва который находится в резерве дольше 5 дней и не имеет оплату! Но правильно ли я сделал? Не могу придумать условие для тех резервов у которых есть частичная оплата но по каким то причина резерв остался висеть? И еще одно условие когда резерв оплачен частично и есть реализация но только частично, и прошло время например 14 дней а остальная часть резерва так и висит, нодо чтобы эта часть снялась! И соотведствено условие для запрета снятия если по этому заказу есть спецификация! Кто нибудь подскажите с решением этих условий????
Добавлено: 02 сен 2013, 13:28


Вот кстати сам запрос для выборки:
Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ТоварыВРезервеНаСкладахОстатки.ДокументРезерва КАК ДокументРезерва,
   |   ПРЕДСТАВЛЕНИЕ(ТоварыВРезервеНаСкладахОстатки.ДокументРезерва),
   |   ВложенныйЗапросПериод.Период КАК Период,
   |   ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
   |   ЕСТЬNULL(РасчетыСКонтрагентамиОбороты.СуммаУпрРасход, 0) КАК Сумма,
   |   ЕСТЬNULL(РасчетыСКонтрагентамиОбороты.СуммаУпрПриход, 0) КАК СуммаЗаказа,
   |   ТоварыВРезервеНаСкладахОстатки.Номенклатура КАК Номенклатура,
   |   ТоварыВРезервеНаСкладахОстатки.ДокументРезерва.Организация КАК Организация,
   |   ТоварыВРезервеНаСкладахОстатки.Склад КАК Склад,
   |   ТоварыВРезервеНаСкладахОстатки.ДокументРезерва.ДоговорКонтрагента КАК ДоговорКонтрагента
   |ИЗ
   |   РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОстатков, НЕ ДокументРезерва.Подразделение В ИЕРАРХИИ (&Сбыт)) КАК ТоварыВРезервеНаСкладахОстатки
   |      ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |         ТоварыВРезервеНаСкладах.Период КАК Период,
   |         ТоварыВРезервеНаСкладах.Склад КАК Склад,
   |         ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура,
   |         ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   |         ТоварыВРезервеНаСкладах.ДокументРезерва КАК ДокументРезерва,
   |         ТоварыВРезервеНаСкладах.СерияНоменклатуры КАК СерияНоменклатуры
   |      ИЗ
   |         РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах) КАК ВложенныйЗапросПериод
   |      ПО ТоварыВРезервеНаСкладахОстатки.Склад = ВложенныйЗапросПериод.Склад
   |         И ТоварыВРезервеНаСкладахОстатки.Номенклатура = ВложенныйЗапросПериод.Номенклатура
   |         И ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = ВложенныйЗапросПериод.ДокументРезерва
   |         И ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры = ВложенныйЗапросПериод.СерияНоменклатуры
   |         И ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры = ВложенныйЗапросПериод.ХарактеристикаНоменклатуры
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаАнализа, &ДатаОстатков, , НЕ Сделка.Подразделение В ИЕРАРХИИ (&Сбыт)) КАК РасчетыСКонтрагентамиОбороты
   |      ПО ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = РасчетыСКонтрагентамиОбороты.Сделка
   |ИТОГИ
   |   МАКСИМУМ(Период),
   |   СУММА(КоличествоОстаток),
   |   МАКСИМУМ(Сумма),
   |   МАКСИМУМ(СуммаЗаказа)
   |ПО
   |   ОБЩИЕ,
   |   ДокументРезерва";

Добавлено: 02 сен 2013, 13:28


Запрос.УстановитьПараметр("ДатаОстатков",ДатаРез);
Запрос.УстановитьПараметр("ДатаАнализа",'00010101000000');
Запрос.УстановитьПараметр("Сбыт",Константы.ИскраПодразделениеСбыта.Получить());
Добавлено: 02 сен 2013, 14:39


Не могу придумать условие для тех резервов у которых есть частичная оплата но по каким то причина резерв остался висеть? И еще одно условие когда резерв оплачен частично и есть реализация но только частично, и прошло время например 14 дней а остальная часть резерва так и висит, нодо чтобы эта часть снялась! И соотведствено условие для запрета снятия если по этому заказу есть спецификация! Кто нибудь подскажите с решением этих условий????

LordWizard

А стандартных методов разве нет в УТ?? я еще в 7.7 ТиС 9.2 видел снятие резервов! неужели убрали - глазам своим не поверю! :xfbnsdfb:
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

sapralex

LordWizard, Стандартные методы есть! Это и тот же документ закрытие заказов покупателя! И Докоментом резервирование товаров! но это все надо делать руками!) А мне нужно чтобы это запускалось автоматически и выполнялось определенное условие( наприме 5 дней просрочки без оплаты) И происходило снятие резерва, то есть создавался документ закрытие заказов покупателя!

LordWizard

так напиши просто обработину, которая бы тупо проверяла резервы и заполняла док снятия резерва по просрочки. Проверил дату у зарезервироваших документов резерв, проверил срок - заполнил снятие резерва или сначала виртуальную таблицу, а потом заполнил док снятия резерва...
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

sapralex

LordWizard, Мне нужно чтобы она автоматически запускалась, а не вручную!
Вот обработа уже почти есть, но как сделать чтобы она запускалась автоматически? Запускалась не форма обработки а ее условия выполнения! То есть чтобы пользователь даже не подозревал что в данный момент выполняется какая то обработка! Я слышал что можно как то через регламентное задание сделать!!! но как к этому заданию подключить обработку да так чтобы выполнялось ее условие только, а не запуск формы обработки???

LordWizard

А в это время, пока пользователь пошел за очередным бутербродом и запустил 1с - как следствие работы обработки - стирается рендомным выбором хард в соседнем отделе...
Добавлено: 03 сен 2013, 10:21


Создать пользователя с именем "обработка". запускать например 1С утром в 6.00 и ему прикрепить выполнение этой обработки. И все! Как запускать под конкретным пользователем в скриптах знаешь? По выполнению через какое-то время закрыть. Или наоборот оставить с отчетом, что мол такой-то товар с резерва выдернут.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

sapralex

Нет в скриптах я не знаю! У меня еще один вопрос, может даже не по теме! Как можно в документе заказ покупателя установить разные статусы( отгружен, оплачен, или закрыт) так чтобы небыло проблематично при обновлении конфигурации? Заранее большое спасибо!

бухг123

В меню документа Заказ покупателя есть кнопка Открыть свойства, который выводит зачастую на перечень статусов. Экспериментируйте с этим.

sapralex

бухг123, Спасибо! Там врод можно установить не статусы а свойства! А я хочу сделать чтобы как в в управление торговлей 11 в заказе клиента было! То есть в документе было несколько статусов для выбора, каждый статус выполнял свою роль! наприме Статус Выписан- когда менеджер формирует заказ, срок действия заказа в даном статусе 2 банковских дня, далее он анулируется автоматически)! Статус Оплаченно в этот статус заказ переходит автоматически, когда по заказу поступают денежные средства. срок действия в даном статусе 14 дней если отгрузка не произведена в указанный срок, то счет анулируется! Конечный статус Отгруженно в этот статус переходит тоже автоматически, по факту проведении по нем реализации! Вот такой механизм мне нужен! Как это можно будет реализовать в 1с 8.2 управление торговлей 10.3? Можно это будет реализовать не сильно изменяя конфигурацию, то есть чтобы небыло проблем при обновлениях?? Заранее всем большое спасибо!!!
Добавлено: 04 сен 2013, 09:47


Это нужно для контроля автоматического снятия резервов товаров! То есть сроки по статусам(14 дней) - после чего анулируется(снимается резерв, если он есть)! 

Теги:

Похожие темы (3)

Рейтинг@Mail.ru

Поиск