Изменение статуса документа при вводе на основании
По теме из базы знаний
- Пакетный ввод на основании без изменения форм и модулей
- Документ на документ. Автоматическое создание связанных документов
- Пример создания документа с движениями в ERP 2.5.7
- Вышли обновления 1С:ТОИР 2 КОРП для предприятий
- Автоматизированная система управления складом AS WMS: автоматизация склада с адресным хранением с помощью ТСД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) В модуле документа "Производство" см. процедуру ОбработкаЗаполенения, там всё заполненение рисуется:
пример из реализация в БП 3.0:
пример из реализация в БП 3.0:
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения);
ЗаполняетсяИзСтруктуры = ТипДанныхЗаполнения = Тип("Структура");
Если ДанныеЗаполнения <> Неопределено Тогда
Если ЗаполняетсяИзСтруктуры И ДанныеЗаполнения.Свойство("ВидОперации") Тогда
ВидОперации = ДанныеЗаполнения.ВидОперации;
КонецЕсли;
Если ЗаполняетсяИзСтруктуры
И ДанныеЗаполнения.Свойство("Основание") И ТипЗнч(ДанныеЗаполнения.Основание) = Тип("ФиксированныйМассив") Тогда
...
Показать
Ну тут действие не поможет. Ввод на основании - мы получаем форму нового документа, заполненного на основании. Если мы даже "отловили действие", а пользователь нажал закрыть форму без записи - что мы получим? Правильно, фигню.
Поэтому логику надо пересматривать, ловить не ввод на основании, а проведение введенного на основании документа. При этом не забыть, что это может быть и повторное проведение. И заодно неплохо бы вспомнить, что тот второй документ могут ведь и отменить, удалить или снять проведение, и что тогда будет с документом-основанием?
Такие алгоритмы вообще возможны, но делать надо аккуратно и это не так чтобы три строчки кода и полчаса времени.
Поэтому логику надо пересматривать, ловить не ввод на основании, а проведение введенного на основании документа. При этом не забыть, что это может быть и повторное проведение. И заодно неплохо бы вспомнить, что тот второй документ могут ведь и отменить, удалить или снять проведение, и что тогда будет с документом-основанием?
Такие алгоритмы вообще возможны, но делать надо аккуратно и это не так чтобы три строчки кода и полчаса времени.
(12) 1. Знание базовых объектов помогает понимать, что платформа сама по себе ничего никуда не записывает, и у документа нет стандартного реквизита типа "ДокументОснование", вся логика именно что реализуется программистом. (Кстати, а если и был бы - то какого типа?)
2. Если это нетиповая конфигурация и если ты хочешь понять логику "неизвестного тебе программиста", то наверное стоит найти этого программиста и уточнять у него. Исходя из знаний п.1 надо понимать, что никто не знает про то, что там у тебя написано в твоём самопале.
3. Если это типовая конфигурация, и ты хочешь уточнить у присутствующих здесь программистов какие-то нюансы - то, наверное, стоит указать наименование конфигурации и точные наименования документов. (А судя по названиям документов - это какая-то самописно-учебная конфа, и уточнять у нас бесполезно).
Есть ко мне еще претензии, рыба?
2. Если это нетиповая конфигурация и если ты хочешь понять логику "неизвестного тебе программиста", то наверное стоит найти этого программиста и уточнять у него. Исходя из знаний п.1 надо понимать, что никто не знает про то, что там у тебя написано в твоём самопале.
3. Если это типовая конфигурация, и ты хочешь уточнить у присутствующих здесь программистов какие-то нюансы - то, наверное, стоит указать наименование конфигурации и точные наименования документов. (А судя по названиям документов - это какая-то самописно-учебная конфа, и уточнять у нас бесполезно).
Есть ко мне еще претензии, рыба?
Процедура ПриЗаписи()
...
Контроль логики опускаю.
...
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.Заказ") тогда
//тут варианты: Статус = "Впроизводстве" или как там у вас, Справочник, Константа и т.п....
КонецЕсли;
...
Контроль логики опускаю.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот