|
РегистрНакопленияНаборЗаписей - подмена документов | ☑ | ||
---|---|---|---|---|
0
TVA_11
28.03.13
✎
17:20
|
НаборДвиженийВзаиморасчеты = ДокументОбъект.Движения.ВзаиморасчетыСКонтрагентами; //Этот ДокументОбъект взят из Возврата покупателям.
НаборДвиженийВзаиморасчеты.Отбор.Регистратор.Установить(ЭтотОбъект11.Ссылка); //А ЭтотОбъект11 корректировка реализации Тоесть хочу движения одного документа, использовать от имени другого. Однако при проведении все равно проводит от имени Возврата покупателю. Значит, где-то еще храниться ссылка на него в этом наборе. Но где? Подскажите, идея реализуема? |
|||
1
НафНаф
28.03.13
✎
17:21
|
сделай два набора, из одного выгрузи в ТЗ, в другой загрузи
|
|||
2
TVA_11
28.03.13
✎
17:30
|
Предлагаешь выгрузить второй набор из Корректировки реализации.
А потом, заполнить по аналогии? |
|||
3
zladenuw
28.03.13
✎
17:31
|
НаборДвиженийВзаиморасчеты.ЗаполнитьЗначения(ЭтотОбъект11.Ссылка).
|
|||
4
TVA_11
28.03.13
✎
17:31
|
Кстати, у меня в Корректировке такого движения нет.
Поэтому выгружается пустой место, всего с двумя полями. |
|||
5
zladenuw
28.03.13
✎
17:32
|
(3) только колонку установи.
|
|||
6
TVA_11
28.03.13
✎
17:32
|
Гениально, большое спасибо!
|
|||
7
TVA_11
28.03.13
✎
17:53
|
Такого метода нету (.
|
|||
8
TVA_11
28.03.13
✎
18:31
|
НаборДвиженийВзаиморасчеты = ДокументОбъект.Движения.ВзаиморасчетыСКонтрагентами;
ТаблицаДвижений = НаборДвиженийВзаиморасчеты.Выгрузить(); ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоВзаиморасчетам, ТаблицаДвижений); НаборДвиженийВзаиморасчеты = ЭтотОбъект11.Движения.ВзаиморасчетыСКонтрагентами; //Подмена НаборДвиженийВзаиморасчеты.мПериод = СтруктураШапкиДокумента.Дата; НаборДвиженийВзаиморасчеты.мТаблицаДвижений = ТаблицаДвижений; Однако документ не провелся, или провелся но его не видно в самой КорректировкеРеализации. |
|||
9
TVA_11
28.03.13
✎
18:31
|
Не провелся.
|
|||
10
hhhh
28.03.13
✎
19:39
|
а
ТаблицаДвижений.ЗаполнитьЗначения(ЭтотОбъект11.ссылка, "Регистратор"); точно-точно делал? |
|||
11
TVA_11
29.03.13
✎
11:15
|
Да, счас дам полный текст
|
|||
12
TVA_11
29.03.13
✎
11:17
|
// По регистру ВзаиморасчетыСКонтрагентами
Если ТаблицаПоВзаиморасчетам.Количество() > 0 Тогда НаборДвиженийВзаиморасчеты = ДокументОбъект.Движения.ВзаиморасчетыСКонтрагентами; ТаблицаДвижений = НаборДвиженийВзаиморасчеты.Выгрузить(); ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоВзаиморасчетам, ТаблицаДвижений); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.Организация, "Организация"); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.Контрагент, "Контрагент"); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.ДоговорКонтрагента, "ДоговорКонтрагента"); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.Ссылка, "Регистратор"); НаборДвиженийВзаиморасчеты = ЭтотОбъект11.Движения.ВзаиморасчетыСКонтрагентами; НаборДвиженийВзаиморасчеты.мПериод = СтруктураШапкиДокумента.Дата; НаборДвиженийВзаиморасчеты.мТаблицаДвижений = ТаблицаДвижений; // Проверка остатков ОтключитьКонтрольВзаиморасчетов = СтруктураШапкиДокумента.Свойство("ОтключитьКонтрольВзаиморасчетов") И СтруктураШапкиДокумента.ОтключитьКонтрольВзаиморасчетов; Если НЕ ОтключитьКонтрольВзаиморасчетов Тогда НаборДвиженийВзаиморасчеты.КонтрольОстатков(ДокументОбъект, "ДокументыРасчетовСКонтрагентом", СтруктураШапкиДокумента, СтруктураПараметров, Отказ, Заголовок, СтруктураШапкиДокумента.РежимПроведения, "СуммаВзаиморасчетов"); КонецЕсли; Если Не Отказ Тогда ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(НаборДвиженийВзаиморасчеты, ВидДвижения); КонецЕсли; КонецЕсли; |
|||
13
TVA_11
29.03.13
✎
11:18
|
Только документ проводится в оригинале без этого заполнения.
// По регистру ВзаиморасчетыСКонтрагентами Если ТаблицаПоВзаиморасчетам.Количество() > 0 Тогда НаборДвиженийВзаиморасчеты = ДокументОбъект.Движения.ВзаиморасчетыСКонтрагентами; ТаблицаДвижений = НаборДвиженийВзаиморасчеты.Выгрузить(); ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПоВзаиморасчетам, ТаблицаДвижений); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.Организация, "Организация"); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.Контрагент, "Контрагент"); ТаблицаДвижений.ЗаполнитьЗначения(СтруктураШапкиДокумента.ДоговорКонтрагента, "ДоговорКонтрагента"); // Проверка остатков ОтключитьКонтрольВзаиморасчетов = СтруктураШапкиДокумента.Свойство("ОтключитьКонтрольВзаиморасчетов") И СтруктураШапкиДокумента.ОтключитьКонтрольВзаиморасчетов; Если НЕ ОтключитьКонтрольВзаиморасчетов Тогда НаборДвиженийВзаиморасчеты.КонтрольОстатков(ДокументОбъект, "ДокументыРасчетовСКонтрагентом", СтруктураШапкиДокумента, СтруктураПараметров, Отказ, Заголовок, СтруктураШапкиДокумента.РежимПроведения, "СуммаВзаиморасчетов"); КонецЕсли; Если Не Отказ Тогда ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(НаборДвиженийВзаиморасчеты, ВидДвижения); КонецЕсли; КонецЕсли; |
|||
14
TVA_11
29.03.13
✎
11:20
|
ОбщегоНазначения.ВыполнитьДвижениеПоРегистру - выглядит так:
Процедура ВыполнитьДвижениеПоРегистру(НаборДвижений, ВидДвижения = Неопределено, ПустыеКолонкиСоставногоТипа = Неопределено) Экспорт ТаблицаДвижений = НаборДвижений.мТаблицаДвижений; Если ТаблицаДвижений.Количество() = 0 Тогда Возврат; КонецЕсли; Если ПустыеКолонкиСоставногоТипа = Неопределено Тогда ПустыеКолонкиСоставногоТипа = Новый Структура; КонецЕсли; // КолонкиТаблицы = ТаблицаДвижений.Колонки; // МетаРег = НаборДвижений.Метаданные(); ИзмеренияСостТипа = Новый Структура; ИзмеренияСостТипаСтр = ""; Для Каждого МетаИзм Из МетаРег.Измерения Цикл Если (МетаИзм.Тип.Типы().Количество() > 1) И НЕ (ПустыеКолонкиСоставногоТипа.Свойство(МетаИзм.Имя)) Тогда Если не КолонкиТаблицы.Найти(МетаИзм.Имя)=Неопределено Тогда ИзмеренияСостТипа.Вставить(МетаИзм.Имя); ИзмеренияСостТипаСтр = ИзмеренияСостТипаСтр + ", " + МетаИзм.Имя; КонецЕсли; КонецЕсли; КонецЦикла; Для Каждого МетаРек Из МетаРег.Реквизиты Цикл Если (МетаРек.Тип.Типы().Количество() > 1) И НЕ (ПустыеКолонкиСоставногоТипа.Свойство(МетаРек.Имя)) Тогда Если не КолонкиТаблицы.Найти(МетаРек.Имя)=Неопределено Тогда ИзмеренияСостТипа.Вставить(МетаРек.Имя); ИзмеренияСостТипаСтр = ИзмеренияСостТипаСтр + ", " + МетаРек.Имя; КонецЕсли; КонецЕсли; КонецЦикла; Для Каждого МетаРес Из МетаРег.Ресурсы Цикл Если (МетаРес.Тип.Типы().Количество() > 1) И НЕ (ПустыеКолонкиСоставногоТипа.Свойство(МетаРес.Имя)) Тогда Если не КолонкиТаблицы.Найти(МетаРес.Имя)=Неопределено Тогда ИзмеренияСостТипа.Вставить(МетаРес.Имя); ИзмеренияСостТипаСтр = ИзмеренияСостТипаСтр + ", " + МетаРес.Имя; КонецЕсли; КонецЕсли; КонецЦикла; Если ИзмеренияСостТипаСтр <> "" Тогда ИзмеренияСостТипаСтр = Сред(ИзмеренияСостТипаСтр, 3); КонецЕсли; ТипЧисло = Тип("Число"); ТипСтрока = Тип("Строка"); ТипДата = Тип("Дата"); ЕстьПериод = НЕ ТаблицаДвижений.Колонки.Найти("Период") = Неопределено; Для Каждого СтрокаДвижения ИЗ ТаблицаДвижений Цикл Движение = НаборДвижений.Добавить(); ЗаполнитьЗначенияСвойств(Движение, СтрокаДвижения, ,ИзмеренияСостТипаСтр); Если ВидДвижения <> Неопределено Тогда Движение.ВидДвижения = ВидДвижения; КонецЕсли; Если ЕстьПериод И НЕ СтрокаДвижения.Период = '00010101000000' Тогда Движение.Период = СтрокаДвижения.Период; ИначеЕсли НаборДвижений.мПериод <> Неопределено Тогда Движение.Период = НаборДвижений.мПериод; КонецЕсли; Движение.Активность = Истина; Для Каждого КлючИЗначение ИЗ ИзмеренияСостТипа Цикл ЗначениеВКолонке = СтрокаДвижения[КлючИЗначение.Ключ]; Если ЗначениеВКолонке = Неопределено Тогда Продолжить; КонецЕсли; ТипЗначенияВКолонке = ТипЗнч(ЗначениеВКолонке); Если ТипЗначенияВКолонке = ТипЧисло Тогда Если ЗначениеВКолонке = 0 Тогда Продолжить; КонецЕсли; ИначеЕсли ТипЗначенияВКолонке = ТипСтрока Тогда Если ЗначениеВКолонке = "" Тогда Продолжить; КонецЕсли; ИначеЕсли ТипЗначенияВКолонке = ТипДата Тогда Если ЗначениеВКолонке = '00010101000000' Тогда Продолжить; КонецЕсли; ИначеЕсли ЗначениеВКолонке.Пустая() Тогда Продолжить; КонецЕсли; Движение[КлючИЗначение.Ключ] = ЗначениеВКолонке; КонецЦикла; КонецЦикла; КонецПроцедуры // ВыполнитьДвижениеПоРегистру() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |