Необходимо проверить если документ не проведен или модифицирован
то нужно провести
написал следующее
Подскажите где ошибка
то нужно провести
написал следующее
Подскажите где ошибка
&НаКлиенте
Процедура Расш2_ПробитьчекККТВместо(Команда)
Если Модифицированность ИЛИ Объект.Ссылка.Пустая() или НЕ Объект.Ссылка.Проведен Тогда
//Если ПустаяСтрока(Объект.Номер)Тогда
Оповещение = Новый ОписаниеОповещения("ЗаписатьИПробитьЧек", ЭтотОбъект);
ПоказатьВопрос(Оповещение,
НСтр("ru = 'Пробить чек возможно только после проведения документа.
|Документ будут проведен.'"),
РежимДиалогаВопрос.ОКОтмена);
Возврат;
//КонецЕсли;
КонецЕсли;
ПробитьЧекПодготовитьДанные();
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьИПробитьЧек(Ответ, ДополнительныеДанные) Экспорт
Если Ответ=КодВозвратаДиалога.ОК Тогда
ПараметрыЗаписи = Новый Структура;
//ПараметрыЗаписи.Вставить("ЕстьВопросыПередЗаписью", Ложь);
//ПараметрыЗаписи.Вставить("НовыйОбъект", Ложь);
//ПараметрыЗаписи.Вставить("ПринудительноЗакрытьФорму", Ложь);
ПараметрыЗаписи.Вставить("РежимЗаписи", РежимЗаписиДокумента.Проведение);
ПараметрыЗаписи.Вставить("РежимПроведения", РежимПроведенияДокумента.Неоперативный);
//ПараметрыЗаписи.Вставить("ДействиеПослеЗаписи", ДействиеПослеЗаписи);
результат = ЭтаФорма.Записать(ПараметрыЗаписи);
Если НЕ Результат Тогда
Если Объект.Ссылка.Пустая() Или Модифицированность или НЕ Объект.Ссылка.Проведен Тогда
Возврат; // Запись не удалась, сообщения о причинах выводит платформа.
КонецЕсли;
Иначе
ПробитьЧекПодготовитьДанные(); //// вот это не срабатывает
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Анализ "ручной корректировки", сравнение движений документа до и после проведения (или любой обработки), управляемые формы
- Автоматизированная проверка конфигураций… и пара слов о стандартах разработки
- Одна ККТ для розничного магазина и Интернет-сайта
- Ускорим проведение в 1С:Управление холдингом
- Разветвленная разработка на хранилищах и файлах поставки
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
ПробитьЧекПодготовитьДанные(); //// вот это не срабатывает
ПробитьЧекПодготовитьДанные(); //// вот это не срабатывает
После ЭтаФорма.Записать(ПараметрыЗаписи)
После записи ничеоо не делает даже не заходит и без условия в процедуру как будто в записи ятот еще должно чтот стоять
результат = ЭтаФорма.Записать(ПараметрыЗаписи);
Если НЕ Результат Тогда
Если Объект.Ссылка.Пустая() Или Модифицированность или НЕ Объект.Ссылка.Проведен Тогда
Возврат; // Запись не удалась, сообщения о причинах выводит платформа.
КонецЕсли;
Иначе
ПробитьЧекПодготовитьДанные(); //// вот это не срабатывает
КонецЕсли;
ПробитьЧекПодготовитьДанные(); //// вот это не срабатывает
После ЭтаФорма.Записать(ПараметрыЗаписи)
После записи ничеоо не делает даже не заходит и без условия в процедуру как будто в записи ятот еще должно чтот стоять
(6) Все асинхронные вызовы должны быть самыми последними в методах. Поэтому убирай и Возврат и ПробитьЧекПодготовитьДанные() из первой клиентской процедуры и лови отладчиком.
Это так, между делом совет.
И потом. Если не срабатывает Иначе, значит срабатывает Если. А уже внутри этого "Если" срабатывает Возврат.
Вот с этим и разбирайся. У тебя там три условия. Проверяй, что означает каждое из них в момент выполнения.
PS. Не, я-то вижу что срабатывает. Но полезно докопаться до истины самому. Направление я дал.
Это так, между делом совет.
И потом. Если не срабатывает Иначе, значит срабатывает Если. А уже внутри этого "Если" срабатывает Возврат.
Вот с этим и разбирайся. У тебя там три условия. Проверяй, что означает каждое из них в момент выполнения.
PS. Не, я-то вижу что срабатывает. Но полезно докопаться до истины самому. Направление я дал.
(7)
он тут получается запись не делает возвращает ложь как будто мб как то тут выполнить оповещение нужно или что то
ПодготовитьДанные() из первой клиентской процедуры и лови отладчиком.
Это так, между делом совет.
И потом. Если не срабатывает Иначе, значит срабатывает Если. А уже внутри этого "Если" срабаты
Это так, между делом совет.
И потом. Если не срабатывает Иначе, значит срабатывает Если. А уже внутри этого "Если" срабаты
ПараметрыЗаписи = Новый Структура;
ПараметрыЗаписи.Вставить("РежимЗаписи", РежимЗаписиДокумента.Проведение);
Записать(ПараметрыЗаписи);
Если Модифицированность Или НЕ Объект.Проведен Тогда
Возврат; // Запись не удалась, сообщения о причинах выводит платформа.
КонецЕсли;
ПробитьЧекПодготовитьДанные();
Показатьон тут получается запись не делает возвращает ложь как будто мб как то тут выполнить оповещение нужно или что то
(9) Вижу вот даже так написал но у меня
Модифицированность = ложь
НЕ Объект.Проведен = Истина
он заходит в условие я же выше написал
почему он не записывает
Модифицированность = ложь
НЕ Объект.Проведен = Истина
он заходит в условие я же выше написал
почему он не записывает
&НаКлиенте
Процедура ЗаписатьИПробитьЧек(Ответ, ДополнительныеДанные) Экспорт
Если Ответ = КодВозвратаДиалога.ОК Тогда
ПараметрыЗаписи = Новый Структура;
ПараметрыЗаписи.Вставить("РежимЗаписи", РежимЗаписиДокумента.Проведение);
Записать(ПараметрыЗаписи);
Если Модифицированность Или НЕ Объект.Проведен Тогда
Возврат; // Запись не удалась, сообщения о причинах выводит платформа.
КонецЕсли;
ПробитьЧекПодготовитьДанные();
КонецЕсли;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
(11)
Оказывается это решается вот так (нашел в типовом)
что за наркомания в F1 так и не нашел ни какого описания
Оказывается это решается вот так (нашел в типовом)
что за наркомания в F1 так и не нашел ни какого описания
&НаКлиенте
Процедура ЗаписатьИПробитьЧек(Ответ, ДополнительныеДанные) Экспорт
Если Ответ = КодВозвратаДиалога.Да Тогда
ЭтаФорма.Записать(
Новый Структура(
"РежимЗаписи, ДействиеПослеЗаписи",
РежимЗаписиДокумента.Проведение,
Новый ОписаниеОповещения("ПробитиеЧекаПослеЗаписиДокумента",ЭтотОбъект)));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПробитиеЧекаПослеЗаписиДокумента(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Или Не Результат Тогда
ПоказатьПредупреждение(
Неопределено,
НСтр("ru = 'Не удалось провести документ'"));
Иначе
ПробитьЧекПодготовитьДанные();
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот