Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

ПоказатьВопрос и проведение документа

ПоказатьВопрос и проведение документа
Я
   Anabella
 
29.09.16 - 14:57
По идее, при нахождении строк-дублей документ должен спрашивать, продолджить ли проведение, и если ответ "да", то проводить. Не дает провести документ по причине Несоответствие типов "(параметр номер '1')". Пробовала так:

&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
    
    Дубли =    ПроверитьДубли();
    
    Если ТипЗнч(Дубли) = Тип("Строка") тогда
        Отказ = истина;

        Оповещение = Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияВопроса",ЭтотОбъект);    
        ТекстВопроса = "В документе дублируются строки "+Дубли+" всё равно продолжить?";
     
 ПоказатьВопрос(Оповещение,ТекстВопроса,РежимДиалогаВопрос.ДаНет,0,КодВозвратаДиалога.Да);
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьПослеЗакрытияВопроса(Результат,Параметры) Экспорт 
    Сообщить(Параметры);
    Сообщить(ТипЗнч(Параметры));
    Если Результат = КодВозвратаДиалога.Да Тогда
//ЭтотОбъект.Записать(РежимЗаписиДокумента.Проведение); //вот тут ругается

        Провести();
    КонецЕсли;    

КонецПроцедуры

&НаСервере
Процедура Провести()
    ЭтотОбъект.Записать(РежимЗаписиДокумента.Проведение)// и вот тут ругается

КонецПроцедуры

Как всё-таки реализовать задачу?
 
 
   PR2
 
1 - 29.09.16 - 14:58
(0) Анна, это ваше фото?
   Anabella
 
2 - 29.09.16 - 15:01
(1)да, четырёхлетней давности
   Джинн
 
3 - 29.09.16 - 15:01
(0) И по идее, и без идей в процедуре проведения задавать вопросы нельзя категорически.
   Anabella
 
4 - 29.09.16 - 15:01
(1)а что насчёт задачи ?
   ice777
 
5 - 29.09.16 - 15:01
(1) мое, ответила анна, и вытерла усы.)
   PR2
 
6 - 29.09.16 - 15:01
+(1) Я к тому, что ваша реализация примерно такая же.
Вроде красивая, но кверх ногами :))
   PR2
 
7 - 29.09.16 - 15:02
(3) Там не в проведении
   Anabella
 
8 - 29.09.16 - 15:02
(6)спасибо, старалась)
как правильно сделать?
   PR2
 
9 - 29.09.16 - 15:02
(4) А насчет задачи:
1. ЭтотОбъект.Записать(РежимЗаписиДокумента.Проведение) еще раз вызывает перед записью и так до бесконечности
2. Так вообще не делается, хрень же
   PR2
 
10 - 29.09.16 - 15:04
(8) Правильнее говорить об этом с помощью Сообщить, но при этом проводить.
Ну или если нужно жестко, то добавить в документ реквизит "Разрешить дубли номенклатуры в табличной части" и тогда уже жестко ругаться, если он = Ложь.
 
 Рекламное место пустует
   Anabella
 
11 - 29.09.16 - 15:06
(10) когда манагер нажимает "записать и закрыть", это самое "сообщить" закрывается вместе с документом
   Anabella
 
12 - 29.09.16 - 15:07
(10)мне казалось, что в этом не должно было быть ничего сложного ) тогда оставлю просто предупреждение, спасибо
   aleks_default
 
13 - 29.09.16 - 15:16
Несоответствие типов "(параметр номер '1') - это не весь текст ошибки. В оставшейся части как раз вся суть.
   PR2
 
14 - 29.09.16 - 15:19
(11) А, УФ. Тогда сделай красную надпись поверх ТЧ, которая показывается, если есть дубли и булевский реквизит снят.
И всё.
   PR2
 
15 - 29.09.16 - 15:19
(12) Не делай предупреждение.
Или делай, но тогда свою кнопку, которая уже будет после подтверждения вызывать запись.
   aleks_default
 
16 - 29.09.16 - 15:25
на дубли надо проверять при добавлении строк, а не при записи
   Лефмихалыч
 
17 - 29.09.16 - 15:29
(0) это надо делать в обработкеПроввевркиЗаполненияНаСервере в форме!
   PR2
 
18 - 29.09.16 - 15:31
(16) Да ну конечно! Нажал F9 а тебе на! Застрелись, падла, гори в огне со своими дублями! Да?
   PR2
 
19 - 29.09.16 - 15:32
(17) О, кстати, да, УФ же, своя кнопка не нужна, есть спецсобытие.
   aleks_default
 
20 - 29.09.16 - 15:35
(18) нахрен F9 нажимать если там не должно быть одинаковых строк?
   Лефмихалыч
 
21 - 29.09.16 - 15:41
(20) чтобы меньше руками заполнять
   aleks_default
 
22 - 29.09.16 - 15:44
ну делайте двойную работу сначала добавляйте строки потом удаляйте после того как вывалится ошибка, вместо того чтобы сделать нормальный подбор
   PR2
 
23 - 29.09.16 - 15:48
(20) Во-первых, какое твое дело, что хочет пользователь?
Во-вторых, например, чтобы скопировал строку, в номенклатуре выбрал товар на одну позицию ниже в уже выбранной иерархии на 100500 уровней вложенности вместо полного выбора с самого начала.
   Mort
 
26 - 29.09.16 - 15:58
Проверять дубли при >5000 строк при добавлении каждой строки... Не норма нихрена.
   Mort
 
29 - 29.09.16 - 16:31
Ага, а все остальные методы добавления строк кроме подбора запретить, шоб сотрудник вдруг не ошибся.

Что за бред.
   Лефмихалыч
 
Модератор
30 - 29.09.16 - 16:31
Забирайте свою фаллометрию из ветки оба, пока не началось
   organizm
 
31 - 29.09.16 - 16:33
В обработку проведения добавь процедуру предварительной проверки, добавь галочку "возможно проводить с дублями" и в соответствии с этой галочкой обрабатывай в процедуре проверки.

Вопрос в проведении - это жесть-жестяная.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует