Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Записать элемент справочника из документа , если документ не провелся          
twilight_dream Подменю пользователя
сообщение 09.10.14, 9:11
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 265
Спасибо сказали: 4 раз
Рейтинг: 0

Проводится документ. Если при проведении возникает ситуация, когда документ проводить не нужно.
Эту ситуацию нужно записать - создать новый элемент в справочнике записать ошибку.
Документ ещё не записан.
Создаем элемент справочника.
ЗАполняем поля.
выполняем новЭлемент.Записать();
Выводим код справочника через сообщить. Код выводится.
Но в справочнике этого элемента нет при просмотре.

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


Signature

Petre Подменю пользователя
сообщение 09.10.14, 9:17
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2907
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1230.2

Код получается после записи?
Запись в попытке и ошибок нет?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

twilight_dream Подменю пользователя
сообщение 09.10.14, 9:21
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 265
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(Petre @ 09.10.14, 10:17) *
Код получается после записи?
Запись в попытке и ошибок нет?

Да, как не странно, код получается.
ПОпытки нет и ошибки нет, что тоже очень странно.


Signature

mister-x Подменю пользователя
сообщение 09.10.14, 10:02
Сообщение #4

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Запис в журнал реєстрації як при оновленні релізу не підійде? Якщо так - див. обробку ОбновлениеРелиза в типових конф-ах.

Сообщение отредактировал mister-x - 09.10.14, 10:13

Petre Подменю пользователя
сообщение 09.10.14, 10:12
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2907
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1230.2

Цитата(mister-x @ 09.10.14, 11:02) *
Запис в журнал реєстрації як при оновленні релізу не підійде?

Сумнівно, враховуючи:
Цитата(twilight_dream @ 09.10.14, 10:11) *
... для дальнейшего отчета.



Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

mister-x Подменю пользователя
сообщение 09.10.14, 10:14
Сообщение #6

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

тоді потрібно бачити код

sava1 Подменю пользователя
сообщение 09.10.14, 10:14
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2697
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

подозреваю, что вместо
новЭлемент.Записать()
; надо
Спр.Записать()

Naghual Подменю пользователя
сообщение 09.10.14, 10:18
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Справочник подчиненный?


Signature
Я желаю всем Счастья!

twilight_dream Подменю пользователя
сообщение 09.10.14, 10:51
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 265
Спасибо сказали: 4 раз
Рейтинг: 0

Процедура глВывестиОшибку(Ош,ФлагОш="",Конт="") Экспорт
Если Конт="" Тогда
  Сообщить(Ош,".");
  //Возврат;
Иначе
  Попытка
   Спр=СоздатьОбъект("Справочник.ХронологияНеПроведения");
   Спр.Новый();
   Спр.Документ=Конт.ТекущийДокумент();
   Спр.Пользователь=глПользователь;
   Спр.ДатаОш=ТекущаяДата();
   Спр.ВремяОш=""+ТекущееВремя();
   Спр.Ошибка=Ош;
   Спр.Записать();
   Сообщить(Ош,"!");
  Исключение
   Сообщить(ОписаниеОшибки());
  КонецПопытки;
КонецЕсли;
КонецПроцедуры
[11:39:10] Максим Полтавский: //-------------------------------

В исключение не заходит, записывается. На форме списка справочника появляется даже новая строка, которая пропадает, как только нажимаешь "Ок" в предупреждении "Документ не проведен"

А это в модуле проведения РН

   глВывестиОшибку("Отсрочка по "+Клиент+" превысила максимальную "+"("+МаксПросрочка+">"+Макс_СрокКредита+")."+" Отгрузка запрещена.",,Контекст); 
   Возврат 0;
НеПроводить(Контекст);
   Возврат;

//------------------------- в глобальном модул ----------------------------------
Процедура НеПроводить(Конт) Экспорт
Сообщить("Документ "+Конт.Вид()+" №"+Конт.НомерДок+" от "+Конт.ДатаДок+" не проводится!");
Конт.НеПроводитьДокумент();
КонецПроцедуры


В модуле проведения РН без "Возврат 0"


Signature

Petre Подменю пользователя
сообщение 09.10.14, 11:09
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2907
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1230.2

Отменилась транзакция и изменения пропали.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

twilight_dream Подменю пользователя
сообщение 09.10.14, 11:35
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 265
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(Petre @ 09.10.14, 12:09) *
Отменилась транзакция и изменения пропали.

а шож робыть?


Signature

Petre Подменю пользователя
сообщение 09.10.14, 11:44
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2907
Из: Київ, Україна
Спасибо сказали: 1148 раз
Рейтинг: 1230.2

Это предположение. Забыл я семерку совсем...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Домовик Подменю пользователя
сообщение 09.10.14, 12:24
Сообщение #13

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

в вот этом месте:
Цитата
А это в модуле проведения РН

 глВывестиОшибку("Отсрочка по "+Клиент+" превысила максимальную "+"("+МаксПросрочка+">"+Макс_СрокКредита+")."+" Отгрузка запрещена.",,Контекст); 
   Возврат 0;



в модуле проведения создаете элемент...
все, что делаете в этом модуле отменяется. документ же не проводится.

процедура глобальная, но вызывается из модуля проведения.

а если в модуле проведения запустить тихо обработку, и ею создать?






Сообщение отредактировал Домовик - 09.10.14, 12:10

Домовик Подменю пользователя
сообщение 09.10.14, 22:37
Сообщение #14

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

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

Домовик Подменю пользователя
сообщение 10.10.14, 7:33
Сообщение #15

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

c другой стороны, саму обработку можно оформить как "предупреждение", которая остается висеть после закрытия документа, на кот единств кнопка ОК, кот выполняет запись элемента. но тут нужно предусмотреть нажатие на крестик.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 03.06.24, 23:18
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!