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


1С:Предприятие ::

Метки: 

v7: Не получается программно перепровести группу доков

Я
   1сЮлия
 
28.12.12 - 16:21
Произвела в коде изменения дописала расчет стажа при проведении документа приёма  на дату приема и теперь хочу провести группу доков у которых не был расчитан стаж в ручную та пожайлуста программно но никак не хочет
Процедура Выполнить()
ДокПрием=СоздатьОбъект("Документ.ПриказОПриеме");
ДокПрием.ВыбратьДокументы(Дата1,Дата2);
Пока ДокПрием.ПолучитьДокумент()=1 Цикл
    Если  ДокПрием.ПометкаУдаления()=0 Тогда
        Если  (ДокПрием.Проведен()=1) или (ДокПрием.Проведен()=0)  Тогда
        ДокПрием.Провести(0,);
        ДокПрием.Записать();
        если ДокПрием.Записать()=1 Тогда
            Сообщить(ДокПрием.Сотрудник);
        Иначе
            Сообщить("Хреново");
        КонецЕсли;
    КонецЕсли;
    КонецЕсли;    
КонецЦикла; 
КонецПроцедуры
 
 
   zak555
 
1 - 28.12.12 - 16:22
ты забыла про фотку в юбке
   1сЮлия
 
2 - 28.12.12 - 16:24
Ребятки но не могу я сейчас с этой фоткой потому,что работы поуши не когда фотки подбирать
   monsterZE
 
3 - 28.12.12 - 16:33
класс =)
   zak555
 
4 - 28.12.12 - 16:34
(2) ты всегда обещаешь и не выполняешь свои обещаения
   Cthulhu
 
5 - 28.12.12 - 16:34
что ты называешь словами "не хочет", "не получается"?.. в смысле - как именно выглядит то, что ты так называешь?..
   Cthulhu
 
6 - 28.12.12 - 16:35
(2): не подбирай. вали все что есть. начиная с ню, топлесс, и т.д.
   1сЮлия
 
7 - 28.12.12 - 16:36
Сообщить("Хреново");
   zak555
 
8 - 28.12.12 - 16:37
(7) тебе хреново ?
   1сЮлия
 
9 - 28.12.12 - 16:38
Хреново когда не работает обработка как или вообще
   M0narch
 
10 - 28.12.12 - 16:38
а зачем это
Если  (ДокПрием.Проведен()=1) или (ДокПрием.Проведен()=0)  Тогда
 
 Рекламное место пустует
   zak555
 
11 - 28.12.12 - 16:38
(9) надо чаще улыбаться
   zak555
 
12 - 28.12.12 - 16:39
(10) проверить -- заходит ли в условие ?
   monsterZE
 
13 - 28.12.12 - 16:40
(0) а какая логика у программы? =)
выбираются не помеченные документы,
потом если проведен или не проведен (т.е. все не помеченные документы)
документ провести
документ записать
еще раз записать
сообщить ДокПрием.Сотрудник
??? =)
   DalexLad
 
14 - 28.12.12 - 16:43
Анекдот про женскую логику.
Вопрос. Какова вероятность встретить динозавра на улице?
Мужчина 0.00000000005
Женщина 50%
Почему ?
Или встречу, или не встречу.
Если  (ДокПрием.Проведен()=1) или (ДокПрием.Проведен()=0)  Тогда
Т.е. или проведен или не проведен.
Без фотки не взлетит
   1сЮлия
 
15 - 28.12.12 - 16:43
Мне надо перепровести доки за период ещё раз
   M0narch
 
16 - 28.12.12 - 16:44
(14) я ж про то же
   monsterZE
 
17 - 28.12.12 - 16:44
а.. там все вкусное при проведении видимо =)
ну распроведи их сперва
а потом проведи..
   M0narch
 
18 - 28.12.12 - 16:46
стандартной обработкой документов можно воспользоваться
   Азазель
 
19 - 28.12.12 - 17:27
А зачем вообще расчет стажа связывать с докумнтами приема?
Разве стаж записываетяс в сами документы?
Наверняка ведь в справочник сотрудников или подчиенный ему?

Конфа какая?
   Злопчинский
 
Ведущий
20 - 28.12.12 - 17:52
код в (0) можно было проще переписать, это четче вывляло бы его целевую направленность..
.
Процедура Выполнить()
 Сообщить("Хреново");
 Возврат;
//далее можно по коду
   vinogradъ
 
21 - 28.12.12 - 17:58
если ДокПрием.Записать()=1 Тогда
   Cthulhu
 
22 - 28.12.12 - 19:33
Процедура Выполнить()
    ДокПрием=СоздатьОбъект("Документ.ПриказОПриеме");
    ДокПрием.ВыбратьДокументы(Дата1,Дата2); Пока ДокПрием.ПолучитьДокумент()=1 Цикл
        Состояние("(пере?)проведение: "+ДокПрием+" ..."); Если ДокПрием.ПометкаУдаления()<>0 Тогда Продолжить КонецЕсли;
        Попытка
            Если ДокПрием.Провести()<>1 Тогда
                Сообщить(""+ДокПрием+" / Сотрудник = """+ДокПрием.Сотрудник+""" <<< не "
                +?(ДокПрием.Проведен()<>0,"пере(!)","(?)")+"проведен!..","!");
            Иначе
                Сообщить("Сотрудник = """+ДокПрием.Сотрудник+""" >>> Документ "+ДокПрием
                +?(ДокПрием.Проведен()<>0,"пере(!)","(?)")+"проведен успешно ...","i");
            КонецЕсли;
        Исключение
            Сообщить("При "+?(ДокПрием.Проведен()<>0,"пере(!)","(?)")+"проведении Документа "+ДокПрием
            +" / по Сотруднику = """+ДокПрием.Сотрудник+""" возникла ОШИБКА "
            +?(ПустоеЗначение(ОписаниеОшибки())<>0,"<неопределенного(?)типа>",""""+ОписаниеОшибки()+"""")+"!..","!!!");
        КонецПопытки;    
    КонецЦикла;
КонецПроцедуры//Выполнить
   2012_12_17
 
23 - 28.12.12 - 19:36
попробуй местами поменять 

       ДокПрием.Провести();
        ДокПрием.Записать();
   2012_12_17
 
24 - 28.12.12 - 19:38
и не забудь написать так

Попытка 
      
        ДокПрием.Записать();
Исключение
  Сообщить ("не могу почему та записать документ -->"+       ДокПрием.Текущийдокумент());
КонецПопытки;


Попытка 
      
        ДокПрием.Провести();
Исключение
  Сообщить ("не могу почему та провести документ -->"+       ДокПрием.Текущийдокумент());
КонецПопытки;
   2012_12_17
 
25 - 28.12.12 - 19:39
(22) не увидел :))
   Cthulhu
 
26 - 28.12.12 - 20:16
И вообще. Константа.ДатаЗапретаРедактированияИлиЕщёЧоТоТакоэ - есть?.. а какое значение?.. а в модуль докумэнта заглянуть и подумать?..
хотя. о чем это я?..
   Torquader
 
27 - 29.12.12 - 01:12
Мне больше всего интересно, что возвращает Док.Записать() ?
   1Сергей
 
28 - 29.12.12 - 07:05
Отладчик ещё не предлагали?
   Гефест
 
29 - 29.12.12 - 07:16
Какой отладчик, тут не менее фото в купальнике нужно
   ЧеловекДуши
 
30 - 29.12.12 - 07:57
"Без фото не взлетит" (с)

(29) она страшная ;)
   Mikeware
 
31 - 29.12.12 - 08:09
(30) у сахарницы поставит...
чтоб дети сахар не таскали...
   Ganiev
 
32 - 29.12.12 - 08:10
Процедура Выполнить()
ДокПрием=СоздатьОбъект("Документ.ПриказОПриеме");
ДокПрием.ВыбратьДокументы(Дата1,Дата2);
Пока ДокПрием.ПолучитьДокумент()=1 Цикл
    Если  ДокПрием.ПометкаУдаления()=0 Тогда
        Если  (ДокПрием.Проведен()=1) или (ДокПрием.Проведен()=0)  Тогда
        Если ДокПрием.Записать()=1 Тогда
           Попытка
            ДокПрием.Провести(0,);
            Сообщить(ДокПрием.Сотрудник);
           Исключение
             Сообщить("Док не проведен"+ОписаниеОшибки());
           КонецПопытки;
        Иначе
            Сообщить("Ну Очень Хреново");
        КонецЕсли;
    КонецЕсли;
    КонецЕсли;    
КонецЦикла; 
КонецПроцедуры
   1Сергей
 
33 - 29.12.12 - 08:16
(32) ДокПрием.Записать() никогда не вернет 1
 
 
   Mikeware
 
34 - 29.12.12 - 08:17
(ДокПрием.Проведен()=1) или (ДокПрием.Проведен()=0)
восхищает...
"или встречу, или не встречу..."
   Ganiev
 
35 - 29.12.12 - 08:21
(33) Точно!)))
   Ganiev
 
36 - 29.12.12 - 08:22
(34) ну пусть может ей так хочется! отработать отработает! )))
   Гефест
 
37 - 29.12.12 - 08:26
(34) ну он может немножко проведен, не до конца...
   Ganiev
 
38 - 29.12.12 - 08:29
Функция ПриЗаписиДок(Док)
Попытка
Док = СоздатьОбъект("Документ..ПриказОПриеме")
Док.НайтиДокумент(Док);
Док.Записать();
Возврат 1;
Исключение
Сообщить("Не Удалось Записать Док" + ОписаниеОшибки());
Возврат 0;
КонецПопытки
КонецФункции;
 //**************************************
 
Процедура Выполнить()
ДокПрием=СоздатьОбъект("Документ.ПриказОПриеме");
ДокПрием.ВыбратьДокументы(Дата1,Дата2);
Пока ДокПрием.ПолучитьДокумент()=1 Цикл
    Если  ДокПрием.ПометкаУдаления()=0 Тогда
        Если  (ДокПрием.Проведен()=1) или (ДокПрием.Проведен()=0) Тогда// Пофиг какой короче )))
 
        Если ПриЗаписиДок(ДокПрием)=1 Тогда
           Попытка
            ДокПрием.Провести(0,);
            Сообщить(ДокПрием.Сотрудник);
           Исключение
             Сообщить("Док не проведен"+ОписаниеОшибки());
           КонецПопытки;
        Иначе
            Сообщить("Ну Очень Хреново");
        КонецЕсли;
    КонецЕсли;
    КонецЕсли;    
КонецЦикла; 
КонецПроцедуры



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