Имя: Пароль:
1C
1С v8
Проводка не отображается в журнале проводок и документ отмечен как не записанный
0 Verzeragna
 
08.07.14
10:33
Бух 2.0.
Имеется код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
    // Вставить содержимое обработчика.
    ОбновитьНумерациюОбъектов();
    Для Каждого Стр Из Загрузка Цикл
        Кон=Справочники.Контрагенты.НайтиПоКоду(Стр.Код,"Ложь");
        Если Кон=Справочники.Контрагенты.ПустаяСсылка() Тогда
            Сообщить ("Контрагент не найден"+" "+Стр.Код);
        ИначеЕсли Кон.ОсновнойДоговорКонтрагента.Пустая() Тогда
            Контр=Кон.ПолучитьОбъект();
            НовыйОбъект =Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
            НовыйОбъект.Организация=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию( глЗначениеПеременной( "глТекущийПользователь"), "ОсновнаяОрганизация");
            НовыйОбъект.Владелец=Контр.Ссылка;
            НовыйОбъект.Наименование="Депозитарные услуги";
            НовыйОбъект.ВидДоговора=Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
            НовыйОбъект.Дата=Стр.ДатаДокумента;
            Валюта=Справочники.Валюты.НайтиПоНаименованию("RUR","Ложь");
            НовыйОбъект.ВалютаВзаиморасчетов=Валюта;
            НовыйОбъект.Записать();
            Контр.ОсновнойДоговорКонтрагента=НовыйОбъект.Ссылка;
            Контр.Записать();
            Сообщить("Договор записан"+" "+Стр.Код);
        КонецЕсли;
        
Объект=Документы.ПоступлениеНаРасчетныйСчет.СоздатьДокумент();
Объект.ВидОперации=Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ОплатаПокупателя;
Контрагент=Справочники.Контрагенты.НайтиПоКоду(Стр.Код,"Ложь");
Объект.Контрагент=Контрагент.Ссылка;
Объект.Дата=Стр.ДатаДокумента;
Объект.ДатаВходящегоДокумента=Стр.ДатаДокумента;
Объект.СчетБанк=ПланыСчетов.Хозрасчетный.НайтиПоКоду("51");
Объект.Организация=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию( глЗначениеПеременной( "глТекущийПользователь"), "ОсновнаяОрганизация");
Объект.СчетОрганизации=Справочники.БанковскиеСчета.НайтиПоКоду("000000001","Ложь");
Объект.СуммаДокумента=Стр.Сумма;
ТаблЧасть=Объект.РасшифровкаПлатежа.Добавить();

Счет=Документы.СчетНаОплатуПокупателю.НайтиПоНомеру(Стр.Номер,Стр.ДатаДокумента);
ТаблЧасть.СчетНаОплату=Счет.Ссылка;
ТаблЧасть.СуммаПлатежа=Стр.Сумма;
ТаблЧасть.ДоговорКонтрагента=Контрагент.ОсновнойДоговорКонтрагента.Ссылка;
ТаблЧасть.СпособПогашенияЗадолженности=Перечисления.СпособыПогашенияЗадолженности.Автоматически;
ТаблЧасть.СтавкаНДС=Перечисления.СтавкиНДС.БезНДС;
ТаблЧасть.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.01");
ТаблЧасть.СчетУчетаРасчетовПоАвансам=ПланыСчетов.Хозрасчетный.НайтиПоКоду("62.02");
ТаблЧасть.СтатьяДвиженияДенежныхСредств=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоКоду("000000008",Ложь);
Объект.Ответственный=глЗначениеПеременной("глТекущийПользователь");
Объект.ВалютаДокумента=Справочники.Валюты.НайтиПоНаименованию("RUR", "Ложь");
Объект.Записать(РежимЗаписиДокумента.Проведение);
ОбъектСсылка=Объект.Ссылка;
Движение = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Движение.Отбор.Регистратор.Установить(ОбъектСсылка);
НаборЗаписей = Движение.Добавить();
                        НаборЗаписей.Регистратор     = Объект.Ссылка;
                       НаборЗаписей.Период              = Объект.Дата;
                        НаборЗаписей.Организация     = Объект.Организация;
                        НаборЗаписей.СубконтоДт.БанковскиеСчета = Объект.СчетОрганизации;
                        НаборЗаписей.СубконтоДт.СтатьиДвиженияДенежныхСредств = ТаблЧасть.СтатьяДвиженияДенежныхСредств;
                       НаборЗаписей.СчетДт          = ПланыСчетов.Хозрасчетный.НайтиПоКоду("51");
                       НаборЗаписей.СубконтоКт.Контрагенты = Объект.Контрагент;
                        НаборЗаписей.СубконтоКт.Договоры = ТаблЧасть.ДоговорКонтрагента;
                        НаборЗаписей.СубконтоКт.Основание = Объект.Ссылка;
                       НаборЗаписей.СчетКт          = ПланыСчетов.Хозрасчетный.НайтиПоКоду("60.02");
                       НаборЗаписей.Содержание      = "по вх. от " + Объект.Дата;
                       Движение.Записать();

Сообщить("Документ оплата от покупателя"+Объект.Номер+" "+"записан!");
КонецЦикла;
        
КонецПроцедуры

При просмотре результата проведения документа проводка видна, но в журнале проводок ее нет. И документ помечается как не записанный. Если его записать, то проводка исчезает. А если заного вручную заполнить документ и записать, то все норм. Помогите плиз, в чем здесь дело?
1 Verzeragna
 
08.07.14
12:50
Теперь проводки отображаются, но при открытии документа он помечаестя как редактируемый и если нажать "Ок" или "Записать", то проводка слетает.
2 Verzeragna
 
08.07.14
13:09
Кто-нибудь знает в чем дело?
3 Wobland
 
08.07.14
13:12
менять данные документа при открытии или проведении - смертный грех
4 Verzeragna
 
08.07.14
13:18
(3) а по конкретнее
5 Wobland
 
08.07.14
13:23
1. не убий
2. не укради
3. возлюби

11. не меняй при открытии
6 Verzeragna
 
08.07.14
13:25
(5) так я при открытии ничего и не меняю
7 Wobland
 
08.07.14
13:36
(6) там специальный код про это есть
8 Wobland
 
08.07.14
13:39
навеяло..
при каждой ошибке моего г-кода, я говорю, что ничего не менял. чтоб не подумали, что это мой г-код

http://dcc.revolverlab.com/uploads/posts/488fa5ea823c1a5d42559a731ee53f5c.jpg
9 Verzeragna
 
08.07.14
13:45
(7) может отойдем от общения в стиле квестов и будем использовать больше конкретики?!
10 Wobland
 
08.07.14
13:47
>при открытии документа он помечаестя как редактируемый
симптом изменения данных объекта при открытии. это плохо
11 Verzeragna
 
08.07.14
13:50
(10) вот, сразу бы так)
12 Verzeragna
 
08.07.14
13:51
а почему так происходит?
13 Verzeragna
 
08.07.14
13:51
я там ничего не менял
14 sf
 
08.07.14
13:56
(12) 1. код надо начиная с
Движение = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
удалить
2. заполнить недостающие реквизиты у ПоступлениеНаРасчетныйСчет
15 Verzeragna
 
08.07.14
14:16
(14) все реквизиты заполнены же?
16 Verzeragna
 
08.07.14
14:26
че-то я ваще запутался
17 Verzeragna
 
08.07.14
14:31
(14) каких реквизитов не достает?
18 hhhh
 
08.07.14
14:47
СуммаВзаиморасчетов например
19 hhhh
 
08.07.14
14:48
и сделайте наконец

Движение = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Движение.Отбор.Регистратор.Установить(ОбъектСсылка);
Движение.Прочитать();
20 sf
 
08.07.14
14:52
а я ставлю на то, что у документа "ПоступлениеНаРасчетныйСчет" есть ТЧ РасшифровкаПлатежа
(19) вот никогда не понимал, зачем учить такому?
21 sf
 
08.07.14
14:53
(20) + человек создает движения документу из обработки. хотя по сути - движения должны быть сформированы самим документом. надо его просто правильно заполнить.
22 Verzeragna
 
08.07.14
15:00
(18)  у меня идет "Оплата от покупателя", при ручном заполнении суммы взаиморасчетов нету. Почему она должна быть программно заполнена если она не отображается на форме?
23 Verzeragna
 
08.07.14
15:03
(21) а не подскажите как правильно заполнить?
24 Verzeragna
 
08.07.14
15:24
ап
25 Крошка Ру
 
08.07.14
15:32
... и тигры у ног моих сели
26 Крошка Ру
 
08.07.14
15:33
(23) Что значит "как правильно заполнять?"?

Создаешь, заполняешь, проводишь
27 Verzeragna
 
08.07.14
15:36
(26) Создал, заполнил, провел. Проводки нет(
28 sf
 
08.07.14
15:38
(27)  у документа "ПоступлениеНаРасчетныйСчет" есть ТЧ РасшифровкаПлатежа  ?
29 anton_mgn
 
08.07.14
15:38
(27) А можно скриншот посмотреть?
30 sf
 
08.07.14
15:38
(28) сорри, проглядел.
31 Крошка Ру
 
08.07.14
15:40
(27) Проводишь или записываешь?
32 Verzeragna
 
08.07.14
15:40
(28) есть, заполняю ее
33 Verzeragna
 
08.07.14
15:41
(31) Объект.Записать(РежимЗаписиДокумента.Проведение);
34 sf
 
08.07.14
15:43
(0) а что за конфа? валюта есть, а курса нет?
35 Крошка Ру
 
08.07.14
15:43
(33)Документ вручную открывается, перепроводится?
36 hhhh
 
08.07.14
15:46
(27) еще раз, проводки формируются на сумму взаиморасчетов. Она равна 0 у тебя.
37 Verzeragna
 
08.07.14
15:51
с проводкой разобрался, спасибо (36)
Почему при открытии документ отмечается как редактируемый?
38 Wobland
 
08.07.14
15:52
(37) я не знаю
39 Verzeragna
 
08.07.14
15:57
а кто может подсказать???
40 Wobland
 
08.07.14
15:58
(39) человек с деревянной ногой и в очках, который имеет твой код при открытии
41 Крошка Ру
 
08.07.14
15:59
(37)Потому что при открытии он у тебя редактируется. Твой Кэп.
42 Verzeragna
 
08.07.14
16:00
(41) это я понял. А почему, ведь я там ничего не менял.
43 Wobland
 
08.07.14
16:01
(42) г-коды в этом мире умеют писать много людей
44 Крошка Ру
 
08.07.14
16:03
(42) Ну тогда мы столкнулись со случаем самозарождения кода в глубинах 1С
45 Крошка Ру
 
08.07.14
16:04
+(44) А залезть, проверить убеждения не позволяют? Документам благородного происхождения верим на слово?
46 hhhh
 
08.07.14
16:06
это же просто, отладчиком пробежаться по процедурам приоткрытии и передоткрытием, посмотреть в какой момент Модифицированность = Истина становится. Неинтересно ведь.
47 Крошка Ру
 
08.07.14
16:22
(46) То ли дело на форуме спрашивать! ))
48 hhhh
 
08.07.14
16:22
(42) я понял, вы же половину реквизитов не заполнили в документе. Когда открываете документ, 1с сама заполняет недостающие реквизиты, вот и получается, что документ модифицирован. Поля изменены, но не записано.
49 Крошка Ру
 
08.07.14
16:24
(48) Например?
50 Franchiser
 
гуру
08.07.14
16:34
редактируемый = модифицируемый?
51 Verzeragna
 
10.07.14
10:30
Разобрался, всем спс)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс