![]() |
![]() |
![]() |
|
Изменить записи регистра бухгалтерии | ☑ | ||
---|---|---|---|---|
0
МЮЛЛЕР
18.06.08
✎
16:36
|
Можно ли скопом, не устанавливая отбор по регистратору, выбрать записи регистра бухгалтерии по условию СчетКТ, СчетДТ, поменять в них счета и записать?
|
|||
1
GenV
18.06.08
✎
16:39
|
(0) А пробывал? :)
|
|||
2
МЮЛЛЕР
18.06.08
✎
16:42
|
Пробывал...
В форме списка регистра можно установить любой отбор... СоздатьНаборЗаписей() такого сервиса не предоставляет... ( |
|||
3
GenV
18.06.08
✎
16:45
|
(2) Вооот! Делай как предоставляет. По одному получай регистраторы из запроса, ставь на каждый отбор, читай и меняй счета ...
|
|||
4
МЮЛЛЕР
18.06.08
✎
16:50
|
Не оптимально...
Получается нужно запросом получить список документов, которые сделали нужные движения. Потом в цикле по результату запроса СоздаватьНаборЗаписей Фильтровать по регистратору Перебирать записи и принимать решение, менять её или нет.... Записывать... Абсолютно не оптимально!!! Неужели нельзя сразу выбрать записи по определенному условию, изменить их и записать? |
|||
5
Aloex
18.06.08
✎
16:51
|
(4)а что будет с записями в регистре после перепроведения документа?
|
|||
6
GenV
18.06.08
✎
16:53
|
(4) Ну, тгда выбери запросом нужные записи с группировкой по регистратору и заполняй потом набор для каждого регистратора через выборку и ЗаполнитьЗначенияСвойств ?!
ЗЫ Для оптимального изменения регистров служит проведение документов ... |
|||
7
ptiz
18.06.08
✎
16:54
|
(0) Нельзя.
|
|||
8
Salvador Limones
18.06.08
✎
16:53
|
Сделай корректировку записей регистров.
|
|||
9
МЮЛЛЕР
18.06.08
✎
16:58
|
(5) Это нужно временно
(6) мне нужно получить запись, если, например, там счет 41,1 в дебете или кредите, то поменять его на 41,1,01 и записать. Неужели надо делать отбор по регистратору, перебирать ВСЕ записи этого регистратора и индивидуально записывать... ( ??? Нафига мне запросом выбирать записи, если в результате запроса я их изменить не смогу? Все равно потом получать все записи по регистратору.... |
|||
10
GenV
18.06.08
✎
17:00
|
(9) А зачем их повторно считывать, если уже запросом прочитал? :)
|
|||
11
МЮЛЛЕР
18.06.08
✎
17:05
|
(9) как тогда спозиционироваться на конкретной записи из запроса, изменить её и записать?
|
|||
12
ZolotarevAA
18.06.08
✎
17:06
|
(11) Получить в запросе регистратор и номер записи.
|
|||
13
МЮЛЛЕР
18.06.08
✎
17:11
|
Получаю из данного запроса нужные записи. Как их дальше менять?
ВЫБРАТЬ Хозрасчетный.Период, Хозрасчетный.Регистратор, Хозрасчетный.НомерСтроки, Хозрасчетный.Активность, Хозрасчетный.СчетДт, Хозрасчетный.СчетКт, Хозрасчетный.Организация, Хозрасчетный.ВалютаДт, Хозрасчетный.ВалютаКт, Хозрасчетный.Сумма, Хозрасчетный.ВалютнаяСуммаДт, Хозрасчетный.ВалютнаяСуммаКт, Хозрасчетный.КоличествоДт, Хозрасчетный.КоличествоКт, Хозрасчетный.Содержание, Хозрасчетный.НомерЖурнала, Хозрасчетный.МоментВремени ИЗ РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ (Хозрасчетный.СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах) ИЛИ Хозрасчетный.СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладах)) |
|||
14
Salvador Limones
18.06.08
✎
17:14
|
(13) Чем корректировка не подходит, скажи?
Или в Бухне нет такого дока? |
|||
15
МЮЛЛЕР
18.06.08
✎
17:18
|
(14) Надо предопределенные субконто со счета убрать и завести их в программе пользовательски. Для этого я хочу выбрать все записи, в которых участвует 41,1 счет и повесить их на 41.1.1 счет. Затем убить предопределенные субконто на 41,1 счете, завести их вручную в программе и вернуть записи обратно с 41.1.1 счета на 41,1.
Если в этой ситуации по регистратору создавать набор записей и перебирать их, выискивая нужные, то так неделю будет обработка отрабатывать... |
|||
16
МЮЛЛЕР
18.06.08
✎
17:43
|
Нельзя так или никто не знает?
|
|||
17
GenV
18.06.08
✎
17:45
|
(11) Во, первых есть НомерСтроки.
Во вторых чем тебя не устраивает полечение в запросе !всех! записей каждого регистратора и веделение для исправления нужных через ВЫБРАТЬ с последующей записью всего набора с исправлением вместо чтения и исправления нужных? |
|||
18
hhhh
18.06.08
✎
17:51
|
(15) добавь в запрос 2 строчки
ВЫБРАТЬ ... Хозрасчетный.Регистратор ... УПОРЯДОЧИТЬ ПО Регистратор и не нужно ничего выискивать. Они будут подряд. |
|||
19
МЮЛЛЕР
18.06.08
✎
17:54
|
(17) такое впечатление, что мы друг друга не понимаем... или еще что непонятное твориццо...
в (13) запрос видишь? Выбрал им нужные записи. Там есть ФСЕ!!! Пока Выборка.Сделующий() Цикл КАК ТУТ СПОЗИЦИОНИРОВАТЬСЯ НА КОНКРЕТНОЙ ЗАПИСИ И ИЗМЕНИТЬ? КонецЦикла; КАК ИХ МЕНЯТЬ? |
|||
20
GenV
18.06.08
✎
18:01
|
(19)
2) Если выбирать как в (13), то для начала нужно сгруппировать по регистратору (через ИТОГИ), а затем читать по каждому регистратору набор и через НомерСтроки и НашНабор.Получить исправлять запись. 2) Если получить в запросе !все! записи для регистратора вне зависимости от условия (все равно их нужно будет читать), то можно заполнять набор без прочтения построчно с учетом изменений (а их необходимость можно указать в запросе или сразу в запросе сделать) ... Но, тоже нужны итоги по регистратору, чтобы делать отбор. |
|||
21
МЮЛЛЕР
18.06.08
✎
18:06
|
(20) Известен регистратор, известен НомерСтроки.
НЗ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); // создаю набор записей НЗ.Отбор.Регистратор = ИзвестныйРегистратор; // фильтрую по регистратору НЗ.Прочитать(); // читаю набор записей Как дальше получить/спозиционироваться на записи по известному номеру строки? |
|||
22
МЮЛЛЕР
18.06.08
✎
18:10
|
НЗ.Прочитать() читает все записи с установленным отбором по регистратору.
Получается, что нельзя получить конкретную запись не читая все остальные? |
|||
23
МЮЛЛЕР
18.06.08
✎
18:10
|
+ для изменения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |