Как получить номер документа при создании документа
По теме из базы знаний
- Разбиение документа на несколько
- Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя"
- Практические кейсы и примеры создания сценарных тестов с использованием фреймворка Тестирование 3.0
- Оптимизация проведения документов списания партий в УПП 1.3
- Как донести здравый смысл до заказчика. Инструменты архитектора
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1) Посмотри код, который создает движения по регистрам (проведение) в модуле объекта. Ты ж проводишь новый документ без предварительной записи. Просто создал и нажал "Провести и закрыть". До нажатия ссылки на объект еще не было, а после - ссылка уже в регистратор регистра прописана.
(2) И как эту предварительную запись создать? Впервые с этим сталкиваюсь
Процедура ОбработкаПроведения(Отказ, Режим)
Процедура ОбработкаПроведения(Отказ, Режим)
Процедура ОбработкаПроведения(Отказ, Режим)
МаксимальноеКоличествоСекундЗаДень = 86400; // 3600 * 24 = 86400
// Регистр "ЛистыУчетаРабочегоВремени":
Движения.ЗаявкиКлиентов.Записывать = Истина;
Для Каждого СтрТЧ Из Работы Цикл
Если СтрТЧ.ДатаНач <> Дата(1,1,1) И СтрТЧ.ДатаКон <> Дата(1,1,1)
И СтрТЧ.ДатаНач < СтрТЧ.ДатаКон Тогда
//И НачалоМесяца(СтрТЧ.ДатаНач) = НачалоМесяца(Дата)
//И НачалоМесяца(СтрТЧ.ДатаКон) = НачалоМесяца(Дата) Тогда
РазницаСекунд = СтрТЧ.ДатаКон - СтрТЧ.ДатаНач;
Если РазницаСекунд < МаксимальноеКоличествоСекундЗаДень Тогда
Движение = Движения.ЗаявкиКлиентов.Добавить();
Движение.Период = Дата;
Движение.Организация = Организация;
Движение.Сотрудник = СотрудникФизЛиц;
Движение.Контрагент = Контрагент;
Движение.Договор = Договор;
Движение.ВидРаботы = СтрТЧ.ВидРаботы;
Движение.ДатаНач = СтрТЧ.ДатаНач;
Движение.ДатаКон = СтрТЧ.ДатаКон;
Движение.Согласован = Согласован;
Движение.Акцептован = Акцептован;
Движение.НомерСтроки = Номер;
Движение.КоличествоСекунд = РазницаСекунд;
Движение.КоличествоЧасов = СтрТЧ.КоличествоЧасов;
Движение.КолвоРабочихДней = СтрТЧ.КолвоРабочихДней;
Движение.СодержаниеРаботы = СтрТЧ.СодержаниеРаботы;
Движение.ДатаСогласования = ДатаСогласования;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
(21) Опиши подробнее. Что за форма, как открывается, почему открывается, когда открывается. У тебя где-то затык. Почта рассылается и из формы, и из модуля объекта, и из внешней обработки.
Можно даже подкат к коллеге через телегу автоматизировать:
Можно даже подкат к коллеге через телегу автоматизировать:
&НаСервере
Процедура ЗапуститьОбработку(Источник) Экспорт
День = ДеньНедели(ТекущаяДата());
Пользователь = Справочники.Пользователи.НайтиПоНаименованию("*****");
СписокДляХраненияАдресатов = Новый СписокЗначений;
СписокДляХраненияАдресатов.Добавить(Пользователь);
НачатьТранзакцию();
Попытка
Для каждого Адресат Из СписокДляХраненияАдресатов Цикл
Н = Гиф(День);
Т = Текст(День);
ТекстВопроса = Т + Н;
Телеграм = Справочники.Телеграм.СоздатьЭлемент();
Телеграм.Пользователь = Адресат.Значение;
Телеграм.ДатаСообщения = ТекущаяДата();
Телеграм.ВТелеграм = ТекстВопроса;
Телеграм.Кнопки = "";
Попытка
Телеграм.Записать();
Исключение
КонецПопытки;
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
КонецПопытки;
КонецПроцедуры
&НаСервере
Функция Гиф(День)
Стр = "";
Если День = 1 Тогда
Стр = "🌹";
ИначеЕсли День = 2 Тогда
Стр = "😏";
ИначеЕсли День = 3 Тогда
Стр = "🌻";
ИначеЕсли День = 4 Тогда
Стр = " 😘";
ИначеЕсли День = 5 Тогда
Стр = "🌸";
ИначеЕсли День = 6 Тогда
Стр = "😊";
ИначеЕсли День = 7 Тогда
Стр = "🏵";
КонецЕсли;
Возврат Стр;
КонецФункции
&НаСервере
Функция Текст(День)
Стр = "";
Если День = 1 Тогда
Стр = "******, ты сегодня прекрасно выглядишь ";
ИначеЕсли День = 2 Тогда
Стр = "******, доброго утра и хорошего настроения ";
ИначеЕсли День = 3 Тогда
Стр = "******, ты очень красивая ";
ИначеЕсли День = 4 Тогда
Стр = "******, ты сегодня прекрасно выглядишь ";
ИначеЕсли День = 5 Тогда
Стр = "******, ты очень красивая ";
ИначеЕсли День = 6 Тогда
Стр = "******, доброго утра и хорошего настроения ";
ИначеЕсли День = 7 Тогда
Стр = "******, ты сегодня прекрасно выглядишь ";
КонецЕсли;
Возврат Стр;
КонецФункции
Показать
Тут вопрос когда именно отправляются электронные письма, у вас это триггер на проведение? то есть в транзакции проведения.
Если так, то это не корректно, отправка должна отрабатываться уже после закрытия транзакции проведения.
здесь лучше создать план обмена или регистр сведений, в которых будут фиксироваться созданные документы, а какой нибудь регламент отрабатывать их отправку.
Если так, то это не корректно, отправка должна отрабатываться уже после закрытия транзакции проведения.
здесь лучше создать план обмена или регистр сведений, в которых будут фиксироваться созданные документы, а какой нибудь регламент отрабатывать их отправку.
(10) А вот надо отправлять письмо не "при записи или проведении документа", а после того как успешно "отработали определенные действия" над успешно записанным документом. Потому как выставит потом какой-нибудь геофизик где-нибудь флаг отказа, и всё. Документ не записан, а почта уже ушла - беги отзывай.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)