|
Проведение в управляемых формах | ☑ | ||
---|---|---|---|---|
0
mirror1982
24.10.16
✎
13:18
|
Розница 2.0 Создал новый регистр накопления. Пишу в процедуре обработка проведения документа код:
Движения.Взаиморасчеты.Записывать=Истина; Движения.Взаиморасчеты.Очистить(); Движение=Движения.Взаиморасчеты.Добавить(); Движение.ВидДвижения=ВидДвиженияНакопления.Приход; Движение.Период=Дата; Движение.Контрагент=Контрагент; Движение.Сумма=Товары.Итог("Сумма"); Провожу документ. Движение по регистру этого документа не происходит. В чем может быть дело? Естественно проставлено, что документ является регистратором для данного регистра, также проставлены права на регистр накопления. |
|||
1
kochurovg
24.10.16
✎
13:20
|
Видимо на добавить : Движение.Регистратор = Ссылка
|
|||
2
mirror1982
24.10.16
✎
13:21
|
(1) не помогло
|
|||
3
Альбатрос
24.10.16
✎
13:23
|
(2) Воспользуйся конструктором движений.
|
|||
4
Chameleon1980
24.10.16
✎
13:24
|
а конструктор движений какой текст нарисует?
попробуй и найди ошибку |
|||
6
jsmith
24.10.16
✎
13:25
|
убери очистить
|
|||
7
mirror1982
24.10.16
✎
13:30
|
(5) чем не нравится код?
|
|||
8
mirror1982
24.10.16
✎
13:30
|
Движения.Взаиморасчеты.Записывать=Истина;
Движения.Взаиморасчеты.Очистить(); Движение=Движения.Взаиморасчеты.Добавить(); Движение.ВидДвижения=ВидДвиженияНакопления.Приход; Движение.Период=Дата; Движение.Контрагент=Контрагент; Движение.Сумма=Товары.Итог("Сумма"); Движение.Регистратор=Ссылка; ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения); Документы.ПоступлениеТоваров.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства); ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект); ЗапасыСервер.ОтразитьТоварыНаСкладах(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьТоварыОрганизаций(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьТоварыКПоступлению(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьДвиженияСебестоимостьНоменклатуры(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьДвиженияНоменклатураПоставщиков(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьДвиженияСерийТоваров(ДополнительныеСвойства, Движения, Отказ); ЗапасыСервер.ОтразитьДвиженияСебестоимостьПоставкиТоваров(ДополнительныеСвойства, Движения, Отказ); ЗакупкиСервер.ОтразитьЗаказыТоваров(ДополнительныеСвойства, Движения, Отказ); ЗакупкиСервер.ОтразитьЗакупкиТоваров(ДополнительныеСвойства, Движения, Отказ); ДенежныеСредстваСервер.ОтразитьРасчетыСПоставщиками(ДополнительныеСвойства, Движения, Отказ); СформироватьСписокРегистровДляКонтроля(); ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект); ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ); ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства); ДополнительныеСвойства.Вставить("Отказ", Отказ); Если ЗначениеЗаполнено(ЗаказПоставщику) Тогда ЗакупкиСервер.ОбновитьСостояниеОплатыПоступления(ЗаказПоставщику); Иначе ЗакупкиСервер.ОбновитьСостояниеОплатыПоступления(Ссылка); КонецЕсли; |
|||
9
mirror1982
24.10.16
✎
13:31
|
вот полный код, если убираю нижнюю часть кода. то все ок. наверное она и очищает движения
|
|||
10
SadrArt
24.10.16
✎
13:34
|
(5) А что не так?
|
|||
11
jsmith
24.10.16
✎
13:35
|
(10) Код не отформатирован
|
|||
12
SadrArt
24.10.16
✎
13:35
|
(9) Скорее всего стирает движения вот здесь:
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект); |
|||
13
jsmith
24.10.16
✎
13:35
|
И между знаками препинания пробелы должны быть
|
|||
14
SadrArt
24.10.16
✎
13:36
|
(13) > должны быть
Что серьезно? |
|||
15
jsmith
24.10.16
✎
13:38
|
(14) Конечно
|
|||
16
jsmith
24.10.16
✎
13:38
|
Посмотри типовые. Везде пробелы
|
|||
17
newbling
24.10.16
✎
13:47
|
(16) это уже на любителя.
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект) надо делать до внесения всяческих изменений. Провались туда, посмотри. |
|||
18
newbling
24.10.16
✎
13:47
|
или в инициализации скорее даже. Обычно инициализация задаёт пустые значения.
|
|||
19
mirror1982
24.10.16
✎
13:58
|
не пишет в регистр, если не закомментирована эта строка:
|
|||
20
mirror1982
24.10.16
✎
13:58
|
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
|
|||
21
mirror1982
24.10.16
✎
13:59
|
а вот ее код:
Процедура ЗаписатьНаборыЗаписей(Знач Объект) Экспорт Перем РегистрыДляКонтроля; // Регистры, для которых будут рассчитаны таблицы изменений движений. Если Объект.ДополнительныеСвойства.ДляПроведения.Свойство("РегистрыДляКонтроля", РегистрыДляКонтроля) Тогда Для Каждого НаборЗаписей Из РегистрыДляКонтроля Цикл Если НаборЗаписей.Записывать Тогда // Установка флага регистрации изменений в наборе записей. НаборЗаписей.ДополнительныеСвойства.Вставить("РассчитыватьИзменения", Истина); НаборЗаписей.ДополнительныеСвойства.Вставить("ЭтоНовый", Объект.ДополнительныеСвойства.ЭтоНовый); // Структура для передачи данных в модули наборов записей. НаборЗаписей.ДополнительныеСвойства.Вставить("ДляПроведения", Новый Структура("СтруктураВременныеТаблицы", Объект.ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы)); КонецЕсли; КонецЦикла; КонецЕсли; Объект.Движения.Записать(); КонецПроцедуры |
|||
22
mirror1982
24.10.16
✎
14:08
|
все решил проблему. всем спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |