|
|
|
Как заполнить или подключить обработку к документу "Корректировка записей регистров"? | ☑ | ||
|---|---|---|---|---|
|
0
Serg_1960
27.11.08
✎
10:46
|
Кто с эти документом работал - тот поймет :) мне надо или подцепить обработку к ТЧ формы или внешней обработкой заполнить документ. Что легче сделать?
|
|||
|
1
Господин ПЖ
27.11.08
✎
10:47
|
я работал, но не понял...
|
|||
|
2
Serg_1960
27.11.08
✎
10:47
|
Сорри, забыл сказать :( у меня УПП,- но думаю это не важно...
|
|||
|
3
Валерыч
27.11.08
✎
10:49
|
думаю надо напрямую заполнять таблицы движений этого документа
|
|||
|
4
Федя Тяпкин
27.11.08
✎
10:50
|
Можно подключить внешнюю обработку заполнения ТЧ. Появляется на вкладке "Заполнение движений", и спомощью нее уже заполнять регистры.
|
|||
|
5
Serg_1960
27.11.08
✎
10:50
|
Проблема в том что ТЧ формы создается динамически, - или я не прав? Как тогда в справочнике внешних обработок указать на "эту" ТЧ.
В документе нет нужной мне ТЧ. Где данные "прячутся"? В движениях документа? Сорри, не могу сообразить. Как... |
|||
|
6
Serg_1960
27.11.08
✎
10:53
|
(3) Не корректировал таблицы движений "напрямую" :( не "видел" смысла...
|
|||
|
7
Валерыч
27.11.08
✎
10:56
|
а у этого документа, насколько я помню нет табличных частей. Все свои данные он считывает из свих же двжений
|
|||
|
8
Федя Тяпкин
27.11.08
✎
10:56
|
В документе есть табличные части "Регистры ...", там добавляешь имя регистра это что - бы он был виден в документе на соответствующей закладке. Движения добавляешь через набор записей. Регистратор этот документ. Кстати сейчас посмотрел внешние чего то не подключается, помню где то так делал или не В УПП или убрали уже или я что-то путаю.
|
|||
|
9
Serg_1960
27.11.08
✎
11:00
|
Ага, понял: Движения документа -> ТЧ на форме -> Движения документа
|
|||
|
10
Serg_1960
27.11.08
✎
11:12
|
Я правильно думаю: создать документ, заполнить что надо в ТаблицаРегистровБухгалтерии, ТаблицаРегистровНакоплений, ТаблицаРегистрокСведений. Потом записать новый документ с проведением и "заменить" его движения в нужных регистрах. Порядок такой?
|
|||
|
11
Zlodey1С
27.11.08
✎
11:18
|
ПРоцедура СоздатьДОкументКорректировки()
ДокументКорректировки = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент(); ДокументКорректировки.Дата=ТекущаяДата(); ДокументКорректировки.Комментарий = " - Списание НЗП с пустыми суммами"; ТаблицаЗаказов=ПолучитьЗаказыПоВыпуску_КорректировкаРегистров(Истина,Ложь,Ложь,ДокументКорректировки); ЗаполнитьМатериалыПоОстаткамНЗП_КорректировкаРегистров(Истина,Ложь,Ложь,ТаблицаЗаказов,ДокументКорректировки, ДокументКорректировки.Движения.НезавершенноеПроизводство, Истина, Истина, Истина, Истина); НоваяСтрока = ДокументКорректировки.ТаблицаРегистровНакопления.Добавить(); НоваяСтрока.Имя = "НезавершенноеПроизводство"; НоваяСтрока.Представление = "Незавершенное производство"; Формачка=ДокументКорректировки.ПолучитьФорму("ФормаДокумента"); Формачка.Открыть(); КонецПроцедуры |
|||
|
12
Zlodey1С
27.11.08
✎
11:19
|
ДокументКорректировки.Движения.НезавершенноеПроизводство вот здесь указываешь по какому регистру
НоваяСтрока = ДокументКорректировки.ТаблицаРегистровНакопления.Добавить(); НоваяСтрока.Имя = "НезавершенноеПроизводство"; НоваяСтрока.Представление = "Незавершенное производство"; а здесь создаешь ТЧ по регистру |
|||
|
13
Salvador Limones
27.11.08
✎
11:21
|
(10) >>> "заменить" его движения в нужных регистрах
Ась? Вот это подробней. |
|||
|
14
Serg_1960
27.11.08
✎
11:34
|
Злодею - спасибо :) Можне мне дальше "тормозить"? А как к ТЧ обратиться? Понятно что имя у ней равно имени регистра (например: "НезавершенноеПроизводство") А вот где эта гадость прячется на форме?
|
|||
|
15
Salvador Limones
27.11.08
✎
11:39
|
(14) Вот тебе пример, свертка и зачистка регистра партий бух:
НовДокКоррЗап=Документы.КорректировкаЗаписейРегистров.СоздатьДокумент(); НовДокКоррЗап.Дата=ДатаРС; ДвиженияКорр=НовДокКоррЗап.Движения; НовСтрРег=НовДокКоррЗап.ТаблицаРегистровНакопления.Добавить(); НовСтрРег.Имя="ПартииТоваровНаСкладахБухгалтерскийУчет"; НовСтрРег.Представление="ПартииТоваровНаСкладахБухгалтерскийУчет"; ПартииТоваровНаСкладахБухгалтерскийУчетДв=ДвиженияКорр.ПартииТоваровНаСкладахБухгалтерскийУчет; НовДокКоррЗап.Записать(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Организация, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СчетУчета, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ХарактеристикаНоменклатуры, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СерияНоменклатуры, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Заказ, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Качество, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток, | ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток |ИЗ | РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(&ВыбПериод, ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки"; Запрос.УстановитьПараметр("ВыбПериод", ДатаРС); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл СтрПартБух=ПартииТоваровНаСкладахБухгалтерскийУчетДв.Добавить(); СтрПартБух.Период=ДатаРС; СтрПартБух.Регистратор=НовДокКоррЗап.Ссылка; СтрПартБух.ВидДвижения=ВидДвиженияНакопления.Приход; СтрПартБух.Активность=Истина; СтрПартБух.Организация=Выборка.Организация; СтрПартБух.Номенклатура=Выборка.Номенклатура; СтрПартБух.СчетУчета=Выборка.СчетУчета; СтрПартБух.Склад=Выборка.Склад; СтрПартБух.ДокументОприходования=Выборка.ДокументОприходования; СтрПартБух.ХарактеристикаНоменклатуры=Выборка.ХарактеристикаНоменклатуры; СтрПартБух.СерияНоменклатуры=Выборка.СерияНоменклатуры; СтрПартБух.Заказ=Выборка.Заказ; СтрПартБух.Качество=Выборка.Качество; СтрПартБух.Количество=Выборка.КоличествоОстаток; СтрПартБух.Стоимость=Выборка.СтоимостьОстаток; КонецЦикла; ПартииТоваровНаСкладахБухгалтерскийУчетДв.Записать(); НовДокКоррЗап.Записать(); РегистрыНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.УстановитьИспользованиеИтогов(Ложь); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПартииТоваровНаСкладахБухгалтерскийУчет.Регистратор |ИЗ | РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет |ГДЕ | ПартииТоваровНаСкладахБухгалтерскийУчет.Период < &Период | |УПОРЯДОЧИТЬ ПО | ПартииТоваровНаСкладахБухгалтерскийУчет.Период"; Запрос.УстановитьПараметр("Период", ДатаРС); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); НаборЗаписей = РегистрыНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.СоздатьНаборЗаписей(); Пока Выборка.Следующий() Цикл ОбработкаПрерыванияПользователя(); Сообщить(Выборка.Регистратор); НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор); НаборЗаписей.Очистить(); НаборЗаписей.Записать(); КонецЦикла; РегистрыНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.УстановитьИспользованиеИтогов(Истина); |
|||
|
16
Serg_1960
27.11.08
✎
11:42
|
(15) :) Вы мне сберегли кучу времени! Спасибо!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |