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

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

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

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

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

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

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

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

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