|
Не срабатывает движение по регистру типовыми инструментами. | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
08.11.12
✎
12:48
|
УТ для Укр. Почему может не проводиться по регистрам новый док?
Проверял отладчиком , параметры процедуры , все как и в типовом. НаборДвижений = Таблица идентична типовой доку ОтчетОРознПродажах, конечно за исключениям регистратора. Не могу понять. После проведения - регистр пустой. Док в регистраторы включен. Вроде же эта процедура непосредственно выполняет запись в регистр?! ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(НаборДвижений, ВидДвижения = Неопределено, ПустыеКолонкиСоставногоТипа = Неопределено, ЗаполнитьПериод = истина) Экспорт Вот полный код ее из типовой: Процедура ВыполнитьДвижениеПоРегистру(НаборДвижений, ВидДвижения = Неопределено, ПустыеКолонкиСоставногоТипа = Неопределено, ЗаполнитьПериод = истина) Экспорт ТаблицаДвижений = НаборДвижений.мТаблицаДвижений; Если ТаблицаДвижений.Количество() = 0 Тогда Возврат; КонецЕсли; Если ПустыеКолонкиСоставногоТипа = Неопределено Тогда ПустыеКолонкиСоставногоТипа = Новый Структура; КонецЕсли; МетаРег = НаборДвижений.Метаданные(); ИзмеренияСостТипа = Новый Структура; Для Каждого МетаИзм Из МетаРег.Измерения Цикл Если (МетаИзм.Тип.Типы().Количество() > 1) И НЕ (ПустыеКолонкиСоставногоТипа.Свойство(МетаИзм.Имя)) Тогда ИзмеренияСостТипа.Вставить(МетаИзм.Имя); КонецЕсли; КонецЦикла; Для Каждого МетаРек Из МетаРег.Реквизиты Цикл Если (МетаРек.Тип.Типы().Количество() > 1) И НЕ (ПустыеКолонкиСоставногоТипа.Свойство(МетаРек.Имя)) Тогда ИзмеренияСостТипа.Вставить(МетаРек.Имя); КонецЕсли; КонецЦикла; Для Каждого МетаРес Из МетаРег.Ресурсы Цикл Если (МетаРес.Тип.Типы().Количество() > 1) И НЕ (ПустыеКолонкиСоставногоТипа.Свойство(МетаРес.Имя)) Тогда ИзмеренияСостТипа.Вставить(МетаРес.Имя); КонецЕсли; КонецЦикла; // Откопируем остальные колонки (структура таблиц совпадает). ПерваяКолонка = Истина; МассивСтрок = Новый Массив(ТаблицаДвижений.Количество()); ЕстьПериод = НЕ ТаблицаДвижений.Колонки.Найти("Период") = Неопределено; Для каждого Колонка Из ТаблицаДвижений.Колонки Цикл ИмяКолонки = Колонка.Имя; Если ИмяКолонки <> "Период" И ИмяКолонки <> "Активность" И ИмяКолонки <> "НомерСтроки" И ИмяКолонки <> "" И ?(ИмяКолонки = "ВидДвижения", ВидДвижения = Неопределено, Истина) И ИмяКолонки <> "МоментВремени" Тогда Если ИзмеренияСостТипа.Свойство(ИмяКолонки) Тогда ФлагКолонкиСостТипа = Истина; Иначе ФлагКолонкиСостТипа = Ложь; КонецЕсли; Индекс = 0; Для каждого СтрокаТаблицы Из ТаблицаДвижений Цикл Если ПерваяКолонка Тогда Если ВидДвижения = ВидДвиженияНакопления.Приход Тогда СтрокаДвижения = НаборДвижений.ДобавитьПриход(); ИначеЕсли ВидДвижения = ВидДвиженияНакопления.Расход Тогда СтрокаДвижения = НаборДвижений.ДобавитьРасход(); Иначе СтрокаДвижения = НаборДвижений.Добавить(); // Для оборотных регистров КонецЕсли; МассивСтрок[Индекс] = СтрокаДвижения; СтрокаДвижения.Период = НаборДвижений.мПериод; Если не ЗаполнитьПериод и ЕстьПериод И НЕ СтрокаТаблицы.Период = '00010101' Тогда СтрокаДвижения.Период = СтрокаТаблицы.Период; Иначе СтрокаДвижения.Период = НаборДвижений.мПериод; КонецЕсли; Иначе СтрокаДвижения = МассивСтрок[Индекс]; КонецЕсли; Индекс = Индекс + 1; ЗначКолонки = СтрокаТаблицы[ИмяКолонки]; Если ФлагКолонкиСостТипа Тогда Очистить = Ложь; Если ТипЗнч(ЗначКолонки) = Тип("Число")Тогда Если ЗначКолонки = 0 Тогда Очистить = Истина; КонецЕсли; ИначеЕсли ТипЗнч(ЗначКолонки) = Тип("Строка") Тогда Если ЗначКолонки = "" Тогда Очистить = Истина; КонецЕсли; ИначеЕсли ТипЗнч(ЗначКолонки) = Тип("Дата") Тогда Если ЗначКолонки = '00010101000000' Тогда Очистить = Истина; КонецЕсли; ИначеЕсли ЗначКолонки = Неопределено Или ЗначКолонки.Пустая() Тогда Очистить = Истина; КонецЕсли; Если Очистить Тогда СтрокаДвижения[ИмяКолонки] = Неопределено; Иначе СтрокаДвижения[ИмяКолонки] = ЗначКолонки; КонецЕсли; Иначе СтрокаДвижения[ИмяКолонки] = ЗначКолонки; КонецЕсли; КонецЦикла; ПерваяКолонка = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры // ВыполнитьДвижениеПоРегистру() |
|||
1
Boudybuilder
08.11.12
✎
13:09
|
Что то можете подсказать?
|
|||
2
Jaffar
08.11.12
✎
13:15
|
может потому что ВидДвижения = Неопределено?
|
|||
3
Boudybuilder
08.11.12
✎
13:34
|
ДА нет , там приход , расход. Вобщем где как надо...
|
|||
4
bazvan
08.11.12
✎
13:36
|
Сравни политру свойст твоего нового и типового и найди различия
|
|||
5
Jaffar
08.11.12
✎
13:40
|
поллитра - она и в Африке поллитра, чо ее сравнивать?
|
|||
6
Boudybuilder
08.11.12
✎
13:44
|
(4) Ура!!! Братишь! Ништяк! Оно!
|
|||
7
bazvan
08.11.12
✎
13:45
|
(5) иди учи матчасть
|
|||
8
Boudybuilder
08.11.12
✎
13:45
|
(5) Не удалять автоматически , не заполнять автоматически!!!!
|
|||
9
Boudybuilder
08.11.12
✎
13:46
|
(7) А то!
|
|||
10
Jaffar
08.11.12
✎
13:47
|
(8) не путай "палитру" и "поллитру" :-)
|
|||
11
Boudybuilder
08.11.12
✎
13:47
|
(7)
Мне бы тоже не плохо дочитать книги ... Ато читаю читаю... И засыпаю... ))))))))))))))))))))))))))))) Вопрос , а теперь наверное надо писать для моих движений обработку удаления? (10) Подвох! |
|||
13
Boudybuilder
08.11.12
✎
13:50
|
(12) Я с поллитра не дружу. Что то не поладилось у нас еще с выпускного. Мои сокласники понимают о чем речь , они поняли... ))))))))))))))))))))
|
|||
14
bazvan
08.11.12
✎
13:50
|
(10) ляяяяя, посыпал голову пеплом
|
|||
15
Boudybuilder
08.11.12
✎
13:51
|
(11)
Хотя не надо , эта и сама все делает хорошо! Процедура ОбработкаУдаленияПроведения(Отказ) ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ); КонецПроцедуры |
|||
16
bazvan
08.11.12
✎
13:57
|
Проверь проведение и отмену проведения из формы, там еще какаято засада есть, типа обчзательно в подписку на события добавлять, счас точно не помню
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |