Создание нового Статуса Этапов Производства 1С ERP 8.3

1. user1839716 07.09.22 12:58 Сейчас в теме
Добрый день. Буду очень благодарен за помощь, так как я в 1С новичок - пытаюсь максимально во все сам вникать, но возникла непростая ситуация. Нужно добавить новый статус к уже имеющимся статусам этапам производства (Начат, Завершен, К выполнению, Сформирован, Формируется) - новый статус "Прекращен". Само по себе новое значение я к этому списку уже добавил, разумеется. Проблема возникла на этапе проверки - перепровести готовый документ с новым статусом не получается, вылезают ошибки в связи с кучей проверок в очень разных модулях. Просто, может быть, кто-то реализовывал уже подобную задачу и хотя бы подскажет, где именно искать, что стоит проверять...
По теме из базы знаний
Найденные решения
7. SP17081992 5 07.09.22 15:56 Сейчас в теме
(5) Я предлагаю следующее решение:
1. В документе добавить новый реквизит "СтатусСПрекращен" с типом нового перечислении "СтатусыСПрекращением", который имеет значения: Начат, Завершен, К выполнению, Сформирован, Формируется, Прекращен.
2. В форме документа не показать стандартный статус, а показать новый добавленный СтатусСПрекращен (можно даже синоним установить "Статус", чтобы пользователью не было сложно).
3. При изменении СтатусСПрекращен, если СтатусСПрекращен <> Прекращен програмно изменить стандартный статус документа соответственным статусом и вызвать стандартную процедуру ПриИзмененииСтатуса.
4. ПриСозданиеНаСервере Или ПриОткрытии Если СтатусСПрекращен = Прекращен тогда этотобъект.доступность = ложь.

Не забывать в начале инициализировать СтатусыСПрекращением по значению стандартного статуса.
user1839716; Ali_q; +2 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Ali_q 1 07.09.22 14:00 Сейчас в теме
А можно конкретно текст ошибки?

И еще: Статус - это перечисление или справочник?
4. user1839716 07.09.22 15:42 Сейчас в теме
Статус - это перечисление, да

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

Ошибка при вызове метода контекста (Записать)
{ОбщийМодуль.Модуль1Клиент.Модуль(1358)}:Форма.Записать(ПараметрыЗаписи);
{ОбщийМодуль.Модуль1Клиент.Модуль(1279)}:ЗаписатьОбъектИЗакрыть(Форма, ПараметрыЗаписи);
{Документ.ЭтапПроизводства.Форма.ФормаДокумента.Форма(4260)}:Модуль1Клиент.ПровестиИЗакрыть(ЭтаФорма, Истина);

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Ошибка при вызове метода контекста (Выполнить)
по причине:
{(146, 3)}: Таблица не найдена "ЭкономияМатериалов"
<<?>>ЭкономияМатериалов КАК ТаблицаЭкономия
Показать
8. Ali_q 1 07.09.22 16:07 Сейчас в теме
(4) Может посмотреть как реализованы уже существующие механизмы? И подделать такое же, но под Ваш статус
11. user1839716 07.09.22 16:17 Сейчас в теме
(8) Ну вот я как раз так и пытаюсь делать пока - там очень много связанного кода в очень разных модулях, поэтому уже немного отчаялся...В любом случае спасибо за отклик
12. user1831019 07.09.22 16:19 Сейчас в теме
(11) Там его овермного. Туда даже опытные профессионалы лезть не всегда отваживаются!
user1839716; +1 Ответить
3. SP17081992 5 07.09.22 14:02 Сейчас в теме
(1) Для каждой существующих статусов (Начат, Завершен, К выполнению, Сформирован, Формируется) документ делает разные операции (в том числе разные движения в регистрах).
Если ваш новый статус будет иметь свою логику работы, сначала нужен писать эту логику,
если нет: нужна определить на какую логику новый статус похож.
5. user1839716 07.09.22 15:44 Сейчас в теме
(3) Логика работы нового статуса минимальна(?): при его установке нужно, чтобы документ был не доступен для изменений - всего его поля. Проблема в том, что я эту логику еще даже не реализовывал: я просто пока добавил новое значение в список статусов и попробовал провести документ с ним - вылезают ошибки по заполнению. Выше привел текст того, что вылезает. В итоге документ просто не проводится с этим статусом даже без всяких условий
6. user1831019 07.09.22 15:50 Сейчас в теме
(5) Вам бы на сердце операции делать - цены бы вам не было!
7. SP17081992 5 07.09.22 15:56 Сейчас в теме
(5) Я предлагаю следующее решение:
1. В документе добавить новый реквизит "СтатусСПрекращен" с типом нового перечислении "СтатусыСПрекращением", который имеет значения: Начат, Завершен, К выполнению, Сформирован, Формируется, Прекращен.
2. В форме документа не показать стандартный статус, а показать новый добавленный СтатусСПрекращен (можно даже синоним установить "Статус", чтобы пользователью не было сложно).
3. При изменении СтатусСПрекращен, если СтатусСПрекращен <> Прекращен програмно изменить стандартный статус документа соответственным статусом и вызвать стандартную процедуру ПриИзмененииСтатуса.
4. ПриСозданиеНаСервере Или ПриОткрытии Если СтатусСПрекращен = Прекращен тогда этотобъект.доступность = ложь.

Не забывать в начале инициализировать СтатусыСПрекращением по значению стандартного статуса.
user1839716; Ali_q; +2 Ответить
9. user1839716 07.09.22 16:15 Сейчас в теме
(7) Спасибо большое. Если все же не получится "через тернии к звездам" - я так и поступлю. Даже не подумал о таком варианте, спасибо
10. user1831019 07.09.22 16:16 Сейчас в теме
(7) 1. А потом появится третий "новый" статус (ну, например "приостановлен"), и будем делать третий реквизит с опять с дублями перечислений?
2. И кто же сможет отменить статус "Прекращен" в случае ошибки?
3. Что делать с движениями? Если этап производства прекращен - то по сути надо отменять все его движения.
4. Можно ли у документа со статусом "Завершен" установить новый статус "Прекращен"?

Я балдею с ваших костылей.
13. SP17081992 5 07.09.22 16:27 Сейчас в теме
(10)
1. Если потом появится третий , четвертый "новый" статус, вместо добавлении нового реквизита, просто добавляем значения в новой перечислении "СтатусыСПрекращением" (ты че, не задумался?)
2. может быть статус можно будет изменять из другого места, например каком либо обработчике, или можно добавить роль и в условии проверить и по ролю. Решение удовлетворяет задачи:

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


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

Логика работы нового статуса минимальна(?): при его установке нужно, чтобы документ был не доступен для изменений - всего его поля.


4. Можно, потому что в задаче об этом нечего не было написано.

Если ты работаешь (учишься работать) с помощью костылей, это не значит что все так делают.
14. user1831019 07.09.22 16:30 Сейчас в теме
(13) Так может это и не статус вовсе, а просто булевый флаг??? Прежде чем править перечисление, влияющее на типовые движения - задумайтесь вопросом - а на что он будет влиять? И как поведут себя движения?
15. SP17081992 5 07.09.22 16:35 Сейчас в теме
(14)
1. Тебе не кажется, что если написано "Нужно добавить новый статус к уже имеющимся статусам", то это не "булевый флаг"?
2. А где ты выдел, что я предлагал править перечисление? я же предлагал добавить новое перечисление "СтатусыСПрекращением" , чтобы не влияло не на что в типовом решении.
user1839716; +1 Ответить
16. user1831019 07.09.22 16:39 Сейчас в теме
(15)
Тебе не кажется, что если написано "Нужно добавить новый статус к уже имеющимся статусам", то это не "булевый флаг"?
Тебе не кажется, что это новичок-ламер решил "добавить статус"? Он принял неверное решение по архитектуре. А задача у него - просто закрыть форму для редактирования. Для этого не надо изменять статус производственного документа, потому что он не понимает того, где и как это вылезет!
А где ты выдел, что я предлагал править перечисление? я же предлагал добавить новое перечисление "СтатусыСПрекращением" , чтобы не влияло не на что в типовом решении.
Это еще хуже. Ты еще предложи сразу новый документ рядом нарисовать.
17. user1839716 07.09.22 16:43 Сейчас в теме
(16)

Я не скрываю, что я новичок-ламер, но это отнюдь не я решил добавить новый статус - так поставили задачу, исходя из хотелок конечных пользователей, кто работает с этими документами. Им типа очень нужен еще один такой статус "Прекращен", помимо основных, чтоб удобнее было. Вот и вся история, я это не из башки взял :)
18. user1831019 07.09.22 16:48 Сейчас в теме
(17)
так поставили задачу, исходя из хотелок конечных пользователей, кто работает с этими документами.
Кто постановщик задачи? Архитектор? Консультант? Бизнес-аналитик? или МарьИванна из бухгалтерии? Кто из постановщиков задачи разбирается во внутренней кухне работы ERP?
21. user1839716 07.09.22 16:55 Сейчас в теме
(18) Ну, как тебе сказать, друг...По сути, МарьИванна с бухгалтерии. Этот запрос был передан моему начальнику, который совсем не программист 1С, а просто обслуживает систему + шарит за бухгалтерию. А от начальника, собственно, был передан мне. Тут очень фигово все со специалистами. Тот, кто реально шарил и что-то умел - ушел прямо перед моим устройством
23. user1831019 07.09.22 16:59 Сейчас в теме
(21) Ясно.
Значит ты остаешься главным по архитектуре.
И значит, ты должен получать задачи не в виде конкретного "добавить статус в системную логику", а в виде формализованного "нам необходим инструмент для за блокирования прекращенных заказов".
И уже, будешь решать, как это сделать на уровне метаданных и архитектуры.
А вот такие предложения "добавьте нам статус" - надо сразу посылать.

Это был бесплатный совет.
26. user1839716 07.09.22 17:05 Сейчас в теме
(23) Я пока тут буквально неделю работаю, к тому же на стажировке. Сидя и копаясь в коде, понимая, как там жестко все связано, все же подумал, что посылать пока не имею права, а так было бы неплохо :) Поэтому надо попытаться как-то сделать все это, но спасибо за совет, конечно
28. user1831019 07.09.22 17:07 Сейчас в теме
(26) Ты не сможешь. Такие задачи решают только сеньоры с участием архитекторов. Даже миддлам не доверяют.
Даже не пытайся.
19. SP17081992 5 07.09.22 16:49 Сейчас в теме
(16)
1. Добавление нового статуса не может быть неверное решение по архитектуре. Ты наверное тоже новичок-ламер (может быть и "опытный" новичок-ламер).
2. Мне кажется, что добавление одного реквизита в форме, и новый документ рядом нарисовать вполне другие понятия.
20. user1831019 07.09.22 16:51 Сейчас в теме
(19)
Добавление нового статуса не может быть неверное решение по архитектуре. Ты наверное тоже новичок-ламер (может быть и "опытный" новичок-ламер).

ДА ЛАДНО???
22. SP17081992 5 07.09.22 16:58 Сейчас в теме
(20) Поверь, но по моему опыту, в реальной жизни есть такие моменты, когда можно и даже нужна добавить статусы документов (даже имеющую отдельную логику).
user1839716; +1 Ответить
24. user1831019 07.09.22 17:01 Сейчас в теме
(22) Поверь моему 29-летнему опыту - изменять логику статусов нужно только тогда, когда они влияют на проведение документов, и ты готов и умеешь переписать эту логику!
А для установки "Форма.ТолькоПросмотр = Истина" - никаких статусов изменять не требуется!!! Не надо пытаться в салонах мерседесов возить баранов на курбан-байрам!
25. Ali_q 1 07.09.22 17:01 Сейчас в теме
(24) Тут походу сейчас ссора начнется

upd. Немного проглядел, она уже началась -_- Ребята, давайте жить дружно :-)
user1839716; +1 Ответить
27. user1839716 07.09.22 17:06 Сейчас в теме
(25) в спорах рождается истина) Главное, чтобы это, скорее, была культурная дискуссия...
30. user1831019 07.09.22 17:10 Сейчас в теме
(27)
в спорах рождается истина)
Заблуждение. В спорах рождается только конфликт. Истина может (или не может) родиться только в дискуссиях.
29. SP17081992 5 07.09.22 17:10 Сейчас в теме
(24)
Поверь моему 29-летнему опыту


Мне кажется вы имеете не 29-летный опыт, а 59. Наверное и программу 1с вы написали и даже компьютер вы создали.
31. user1831019 07.09.22 17:13 Сейчас в теме
(29) Мне пофиг на твой сарказм. Но в 1994 году я уже имел дело с 1С. http://old-dos.ru/files/file_1899.html
Ты, кстати, родился тогда уже?
32. Ali_q 1 07.09.22 17:18 Сейчас в теме
(31) Ребята, это не дискуссия, а ссора. Давайте не засорять тред
user1839716; +1 Ответить
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)