Имя: Пароль:
1C
1С v8
Программно записать документ
,
0 листопад
 
03.05.14
15:55
С помощью внеш.обработки загружаю данные в записанный документ. Мне надо, чтобы после загрузки данных он провелся. Выдает ошибку:

{Форма.Форма.Форма(121)}: Ошибка при вызове метода контекста (Записать)
     лДок.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Не удалось провести "Заявка на открытие счетов ПРО00000002 от 03.05.2014 14:44:39"!


Вот код:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Если фДокумент.Пустая() Тогда
        Предупреждение("Необходимо выбрать документ для загрузки лицевых счетов!!!");
        Возврат;
    КонецЕсли;
    
    Для каждого строка из Таблица Цикл
        
        лДок = фДокумент.ПолучитьОбъект();
        лДок.ВводНачальныхСведений = Истина;
        
        ТекСтрокаДок = лДок.РаботникиОрганизации;
        НоваяСтрока = ТекСтрокаДок.Добавить();
        
        ФЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Строка.ФЛ);
        НоваяСтрока.ФизЛицо = ФЛицо.Ссылка;
        НоваяСтрока.НомерЛицевогоСчета = Строка.НомерЛС;
        
        // лДок.Записать(РежимЗаписиДокумента.Запись);
        лДок.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Записан документ - " + лДок.Ссылка);
        
        
    КонецЦикла;
    
КонецПроцедуры
1 Wobland
 
03.05.14
15:57
а и чо? ну словился отказ, с кем не бывает?
2 ДенисЧ
 
03.05.14
15:59
ну не шмагла я....
Попытка и ОписаниеОшибки() должны помочь
3 Torquader
 
03.05.14
16:02
Флицо - что возвращает, если не секрет ?
4 листопад
 
03.05.14
16:09
(3) Если пишу:
лДок.Записать(РежимЗаписиДокумента.Запись);
то все загружается и записывается на УРА.

Если же пишу:
лДок.Записать(РежимЗаписиДокумента.Проведение);
то выбивает с ошибкой

Т.е. ФЛицо возвращает что надо.
5 Torquader
 
03.05.14
16:11
(4) А если записанный документ потом открыть и попробовать провести - что система скажет ?
6 листопад
 
03.05.14
16:14
(5) Попробовала провести его в пользовательском режиме, вручную. Все отлично провелось и сделало запись в регистр!
7 Torquader
 
03.05.14
16:15
А если написать лДок.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Оперативное);
?
8 Torquader
 
03.05.14
16:15
И, самое главное - вынести проведение документа из цикла.
Зачем его проводить в цикле ?
9 Torquader
 
03.05.14
16:16
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    Если фДокумент.Пустая() Тогда
        Предупреждение("Необходимо выбрать документ для загрузки лицевых счетов!!!");
        Возврат;
    КонецЕсли;
    
    лДок = фДокумент.ПолучитьОбъект();
    лДок.ВводНачальныхСведений = Истина;
        
    ТекСтрокаДок = лДок.РаботникиОрганизации;

    Для каждого строка из Таблица Цикл
        
        НоваяСтрока = ТекСтрокаДок.Добавить();
        
        ФЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Строка.ФЛ);
        НоваяСтрока.ФизЛицо = ФЛицо.Ссылка;
        НоваяСтрока.НомерЛицевогоСчета = Строка.НомерЛС;
        
        
        
    КонецЦикла;
    
    // лДок.Записать(РежимЗаписиДокумента.Запись);

    лДок.Записать(РежимЗаписиДокумента.Проведение);
    Сообщить("Записан документ - " + лДок.Ссылка);
КонецПроцедуры
10 Torquader
 
03.05.14
16:17
С вами кто-нить программированием занимался ?
11 листопад
 
03.05.14
16:21
Провелся! Написала:

Попытка
        // лДок.Записать(РежимЗаписиДокумента.Запись);
        лДок.Записать(РежимЗаписиДокумента.Проведение);
        Исключение
        ОбщегоНазначенияЗК.ВывестиИнформациюОбОшибке(ОбщегоНазначенияЗК.ПолучитьПричинуОшибки(ИнформацияОбОшибке()).Описание);
        КонецПопытки;

        Сообщить("Записан документ - " + лДок.Ссылка);
12 листопад
 
03.05.14
16:22
(10) Учителя плохие были ))) Стесняюсь спросить: а Вы оказываете такие услуги ;) ?

(9) Спасибо! Да, из цикла я уже убрала.
13 GANR
 
03.05.14
16:23
(11) А с чего это вы взяли, что провелся?
14 Torquader
 
03.05.14
16:25
(12) Умным и сообразительным - да - с остальными - сложнее - обычно - выясняется, что материал изначально не был готов к обработке.
Так что - спрашивайте (1), может он согласиться.
15 Torquader
 
03.05.14
16:26
Попытка
   // лДок.Записать(РежимЗаписиДокумента.Запись);
   лДок.Записать(РежимЗаписиДокумента.Проведение);
   Сообщить("Записан документ - " + лДок.Ссылка);        Исключение
   ОбщегоНазначенияЗК.ВывестиИнформациюОбОшибке(ОбщегоНазначенияЗК.ПолучитьПричинуОшибки(ИнформацияОбОшибке()).Описание);
КонецПопытки;

только так можно быть уверенным, что случилось чудо.
16 листопад
 
03.05.14
16:27
(13) Мои красивые глаза меня еще не подводили )))
17 Torquader
 
03.05.14
16:28
(13) Он не проводился - когда его пытались провести второй раз, добавив строку.
18 Torquader
 
03.05.14
16:28
(16) Ага - глаза-то у них есть, а код пишут так, будто бы не видят, что пишут.
19 листопад
 
03.05.14
16:29
Еще вопрос по этой загрузке, можно?
20 Torquader
 
03.05.14
16:32
(19) Ну - давай уже добьём несчастных.
21 листопад
 
03.05.14
16:36
Сейчас у меня данные загружаются так: http://s43.radikal.ru/i101/1405/c6/b511fad85c86.jpg

А мне надо, чтобы было так:
http://s006.radikal.ru/i213/1405/bc/a38f425ad74e.jpg

По-латински, ФИО начинает само проставляться, когда его перевыберешь. Можно ли это как-то программно сделать?
22 zulu_mix
 
03.05.14
16:38
(21) смотри обработчик ПриИзменении
23 Torquader
 
03.05.14
16:38
(21) Ну, оно где-то хранится (и вводится) или переводится при редактировании строки - так что можно посмотреть на события, установленные для табличной части.
24 листопад
 
03.05.14
16:42
(21), (22) Нашла в модуле формы док-та. Что-то неохота разбираться. Это же не повлияет при выплате зплаты? Для чего вообще эта латиница?
25 Torquader
 
03.05.14
16:44
(24) Там должна быть информация, как на карте, чтобы в перечислении указать какие-то данные карты для проверки.
Так что - я бы сначала спросил - нужна она или нет.
26 Любопытная
 
03.05.14
16:46
неохота разбираться... вот так всегда. А потом обижаются, что им не так помогают...
27 zulu_mix
 
03.05.14
16:47
(26) ну скопируй себе в обработку и вызывай
28 zulu_mix
 
03.05.14
16:47
(27) к (24)
29 Torquader
 
03.05.14
16:48
(26) Ну, когда им вместо зарплаты на бумажке ошибку обработки распечатают - тогда будут более смышлёными.
30 zulu_mix
 
03.05.14
16:49
(29) обидно только что помогали мы, а драть за ошибку ее будет кто то другой ))
31 Torquader
 
03.05.14
16:53
(30) Отдел кадров - это обычно тётки - так что - дадут по шее и всё сами исправят.
32 zulu_mix
 
03.05.14
16:54
(31) не факт. вдруг сам гд
33 Torquader
 
03.05.14
16:56
(32) Чтоб ГД снизошёл до какого-то приходящего программиста ? У него зав-кадрами есть или ГБ.
34 zulu_mix
 
03.05.14
16:58
(33) а ты бы не выдрал если б твой приходящий в инет выложил фио и номера лицевых счетов?
35 echo77
 
03.05.14
16:59
(0) Кто заставляет в выходной, в праздник работать?
36 Torquader
 
03.05.14
17:02
(34) Так в этом должен быть виноват тот, кто вместо программиста "фиговый листочек" выбрал.
37 zulu_mix
 
03.05.14
17:03
(36) ну если фотка настоящая, то я б на ее стрип-шоу сходил бы
38 Torquader
 
03.05.14
17:03
(37) У неё фотки разные были, причём, на инфросрате это вообще мальчик - так что сходи-сходи ^_^
39 zulu_mix
 
03.05.14
17:07
(38) мне этот почерк в г-нокоде очень напоминает мисти. и я б сходил на деичку с фотки а не на того кто за клавой обезьянничает )
40 Torquader
 
03.05.14
17:08
(39) Да я тоже очень "подозреваю", но, та была более способна в написании кода и не умела пользоваться отладчиком.
41 echo77
 
03.05.14
17:13
угу, вы приглашаетесь :-)
http://www.youtube.com/watch?v=tdbt-sx5MDc
42 zak555
 
03.05.14
17:17
голубизна
43 zulu_mix
 
03.05.14
17:21
(41) фуфуфу
44 Torquader
 
03.05.14
17:35
(43) Чего там, а то у меня видео не показывает (слава богу) ?
45 Любопытная
 
03.05.14
17:40
(44) полицейская академия, ничего интересного
46 zulu_mix
 
03.05.14
17:42
(44) бар голубая устрица