Имя: Пароль:
1C
1С v8
Движения в общем модуле?!
0 Sa6nek6
 
17.05.13
08:37
Почему не делаются движения по регистру накопления?
Создал общий модель и там хочу делать движения, а они не делаются( только в доке(
1 Галахад
 
гуру
17.05.13
08:38
Наверное, в коде ошибка.
2 Sa6nek6
 
17.05.13
08:40
Процедура  ПроверкаВзаиморасчетовР(ТаблицаВзаиморасчетов)Экспорт
           Для каждого Стр из ТаблицаВзаиморасчетов цикл
               Если Стр.ОстатокВзаиморасчетов=  Стр.СуммаБУ Тогда
                    Объект =  Стр.ДокументРасчетов.ПолучитьОбъект();
                   Объект.Движения.БС_НалоговыйУчет.Очистить();
                   Движение  = Объект.Движения.БС_НалоговыйУчет.Добавить();
                   Движение.Регистратор = Стр.ДокументРасчетов;
                   Движение.Договор = Стр.ДоговорКонтрагента;
                   Движение.Контрагент = Стр.Контрагент;
                   движение.Документ=  Стр.ДокументРасчетов;  
                   ///движение.ДокументОплаты =  Стр.Ссылка;  
                   Движение.Сумма = Стр.СуммаБУ;
                   Движение.Период = Стр.ДокументРасчетов.Дата;
               иначе
                   КонецЕсли;
               КонецЦикла;
           КонецПроцедуры
3 Живой Ископаемый
 
17.05.13
08:41
в в8 есть отладчик, и это правда.
4 Sa6nek6
 
17.05.13
08:42
есть не спорю, движения записываются потом исчезают(
5 Sa6nek6
 
17.05.13
08:42
когда происходит выход из процедуры в модуль объекта
6 Живой Ископаемый
 
17.05.13
08:42
мы будем помнить о них вечно
7 dimaldinho
 
17.05.13
08:46
Записывать (Write)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Ложь - не происходит записи набора в информационную базу при вызове Записать коллекции движений документа, которой принадлежит набор, а также при стандартной обработке проведения документа, если значение свойства метаданного документа "Запись движений при проведении" в Конфигураторе выставлено в "Записывать выбранные".

Доступность:

Сервер, толстый клиент, внешнее соединение.
8 Sa6nek6
 
17.05.13
08:48
да писал и записать и записывать
9 Defender aka LINN
 
17.05.13
08:53
(2) Ты ЭТО из обработки проведения вызываешь? Молодец, чо...
10 Sa6nek6
 
17.05.13
08:56
все упирается что из обработки проведения?
11 Sa6nek6
 
17.05.13
08:59
ДвиженияПоРегистрам отсюда
12 Sa6nek6
 
17.05.13
09:04
из других мест тоже вызываю нет движений
13 Defender aka LINN
 
17.05.13
09:29
(12) А где написано, что они должны появиться?
14 Sa6nek6
 
17.05.13
10:13
В регистре накопления
15 Sa6nek6
 
17.05.13
11:00
есть идеи??
16 Sa6nek6
 
17.05.13
11:00
Народ
17 Defender aka LINN
 
17.05.13
11:01
(14) Что "в регистре накопления"?
18 gae
 
17.05.13
11:36
(0) То есть ты при проведении документа получаешь его объект снова?

Объект =  Стр.ДокументРасчетов.ПолучитьОбъект();

Откуда все это вообще вызывается?
19 Defender aka LINN
 
17.05.13
11:44
(18) Да там вообще какой-то трэш, угар и содомия
20 Mitriy
 
17.05.13
11:49
пятница...
21 Aprobator
 
17.05.13
11:51
(2) вот за это - серпом по яйтсам надо.

....
Объект =  Стр.ДокументРасчетов.ПолучитьОбъект();
....

Метод ПолучитьОбъект() возвращает не тот Объект с которым ты работаешь сейчас, а каждый раз другой. В СП это, вроде, описано. Смотри типовые механизмы. Там, если проведение делается в общих модулях, Объект, туда отдается непосредственно из самого документа. Через ЭтотОбъект.
22 Aprobator
 
17.05.13
11:51
+(21) ну или сам набор движений.
23 Aprobator
 
17.05.13
11:53
(19) бггг. Вспоминаю, как в свое время, когда ты меня пинал, как твои посты меня раздражали. Сейчас, когда чуток подрос профессионально, я реально от них тащусь ).
24 scanduta
 
17.05.13
11:53
Нах тебе движения в общем модуле формировать. Делай как нормальный чел через подписку на событие при проведении
25 Defender aka LINN
 
17.05.13
11:58
(23) :)
26 Sa6nek6
 
17.05.13
11:59
(24) мне нужно из нескольких доков чтоб потом из регистра выбрать данные
27 Sa6nek6
 
17.05.13
12:00
чтоб не писать в каждом доке и не мучится при обновлениях
28 gae
 
17.05.13
12:00
(27) Ты не молчи, ты скажи нафига ты вот это делаешь

Объект =  Стр.ДокументРасчетов.ПолучитьОбъект();
29 Sa6nek6
 
17.05.13
12:01
Процедура  ПроверкаВзаиморасчетовР(ТаблицаВзаиморасчетов)Экспорт\
ТаблицаВзаиморасчетов = сюда передается табзнач
30 Sa6nek6
 
17.05.13
12:02
(27)  иначе Движения. Недоступны
31 Aprobator
 
17.05.13
12:04
(30) прочти (21).
32 Sa6nek6
 
17.05.13
12:05
а как тогда быть
33 gae
 
17.05.13
12:05
а Стр.ДокументРасчетов это у тебя там ссылка на проводимый документ? И все это вызывается из обработки проведения этого самого ДокументРасчетов?

Самое жуткое здесь то, что ты несколько раз в цикле получаешь какой то документ, неясно то ли это у тебя проводимый документ там гарантированно, то ли что еще...
34 Infsams654
 
17.05.13
12:07
(33) +100
35 gae
 
17.05.13
12:07
И до сих пор неясно, откуда все это вызывается
36 Infsams654
 
17.05.13
12:08
(32) это же в обработке проведения того документа, которому надо движения. При чем тут ТаблицаВзаиморасчетов ?
Передай в процедуру параметр Объект - документ который проводится
37 Aprobator
 
17.05.13
12:09
(32) возьми учебник для начала. Просмотрел до конца твой код в (2) и к (23) +100500. Что ни строка, то просто перлы г...кода.
38 Aprobator
 
17.05.13
12:10
+(37) вернее к (19) +100500.
39 Sa6nek6
 
17.05.13
12:10
Табзнач передаются из Документа.СписаниеСрасчетногоСчета  

БС_схОбщегоНазначения.ПроверкаВзаиморасчетов(УправлениеВзаиморасчетами.ЗачестьАвансКонтрагента(
           СтруктураШапкиДокумента, ТаблицыДокумента, ТаблицаЗачетаАвансов, Проводки,
           СтруктураШапкиДокумента.НДСВключенВСтоимость, Отказ, Заголовок));
40 Sa6nek6
 
17.05.13
12:11
ТаблицаВзаиморасчетов = УправлениеВзаиморасчетами.ПогаситьЗадолженностьКонтрагентов(
           СтруктураШапкиДокумента, ТаблицаДокумента, ЭтотОбъект,
           Отказ, Заголовок, СодержаниеПроводки, ОпределятьСостояниеРасчетов);
         
             БС_схОбщегоНазначения.ПроверкаВзаиморасчетовР(ТаблицаВзаиморасчетов);
41 Sa6nek6
 
17.05.13
12:11
То есть вот
42 Sa6nek6
 
17.05.13
12:13
Все разобрался спасибо !
43 gae
 
17.05.13
12:15
в типовых часто передают туда свойство Движения (в общий модуль), и заполняют там движения
44 Sa6nek6
 
17.05.13
12:16
Спасибо!
45 vicof
 
17.05.13
12:23
(44) Не вводи тех, кто будет за тобой исправлять твой код, в заблуждение - какая ПроверкаВзаиморасчетовР(), когда там ПроведениеПоРегиструБС_налоговыйУчет()?
46 scanduta
 
17.05.13
13:45
(26) Делай подписку, в ней состав документов делай какие надо

Далее уже в зависимости от типа документа прописывай действие.

Это оптимальный вариант. Учись работать так что минимально трогать типовую конфу
47 hhhh
 
17.05.13
14:09
только мне одному показалось, что у автора нет оператора

Объект.Движения.БС_НалоговыйУчет.Записать();


????
48 Sa6nek6
 
17.05.13
14:17
всем
49 Sa6nek6
 
17.05.13
14:17
только вот он  и так записывает
50 Sa6nek6
 
17.05.13
14:17
(46)подписка?
51 Necessitudo
 
17.05.13
16:12
Еще и объект в цикле получает. Ппц.