Имя: Пароль:
 
1C
1С v8
УПП: Создание документа корректировки записей регистров по РБ Хозрасчетный
0 DreamMaster
 
28.05.15
04:54
Доброго времени суток!
Стоит такая задача: необходимо создать документ "Корректировка записей регистров" в котором нужно заполнить ВСЕ текущие остатки по регистру бухгалтерии "Хозрасчетный".
Бухгалтерских знаний у меня маловато, по-этому требуется помощь по заполнению движений.

1) Получил запросом (по регистру остатков) все остаточные записи по регистру "Хозрасчетный".

Проблема: какие именно полученные данные в какие реквизиты нужно записывать?
1 Вася Чез
 
28.05.15
05:10
(0) не понятно, что вам нужно
2 Cyberhawk
 
28.05.15
05:17
Полученные запросом данные в реквизиты не засунешь, т.к. подходящих реквизитов у документа нет. Надо в его движения загрузить выгруженный результат запроса, дополненный всякими активностями, периодом и еще чем-нибудь необходимым, а в реквизиты документа грузишь только состав таблиц
3 DreamMaster
 
28.05.15
05:49
(2) Это понятно. Вопрос как раз что пихать в движения: в зависимости от вида счета в ДТ или КТ и т.п.
Т.е. строка записи движения имеет реквизиты:
Активность,
ВалютаДТ,
ВалютаКТ,
ВалютнаяСуммаДТ,
ВалютнаяСуммаКТ,
ВидРегламентнойОперации,
ДатаЗаписи,
КоличествоДТ,
КоличествоКТ,
НДСПродукции,
НомерЖурнала,
Номерстроки,
Организация,
Период,
Регистратор,
Содержание,
СписаниеПартий,
СубконтоДТ,
СубконтоКТ,
Сумма,
СчетДТ,
СчетКТ.

Строка полученного запроса имеет реквизиты:
Валюта,
ВалютнаяСуммаОстаток,
ВалютнаяСуммаОстатокДТ,
ВалютнаяСуммаОстатокКТ,
ВалютнаяСуммаРазвернутыйОстатокДТ,
ВалютнаяСуммаРазвернутыйОстатокКТ,
КоличествоОстаток,
КоличествоОстатокДТ,
КоличествоОстатокКТ,
КоличествоРазвернутыйОстатокДТ,
КоличествоРазвернутыйОстатокКТ,
Организация,
Субконто1,
Субконто2,
Субконто3,
СуммаОстаток,
СуммаОстатокДТ,
СуммаОстатокКТ,
СуммаРазвернутыйОстатокДТ,
СуммаРазвернутыйОстатокКТ,
Счет

Что куда нужно заполнять, чтобы ничего не сломать.
4 DreamMaster
 
28.05.15
05:50
Уточнение: Задача стоит такая - получить остаток, создать документ корректировки на определенную дату и удалить все движения ранее этой даты
5 Homer
 
28.05.15
06:14
на инфостаре полно токого
6 Homer
 
28.05.15
06:15
такого
7 viktor_vv
 
28.05.15
06:40
(4) А с регистрами накопления что будешь делать. Одного регистра бухгалтерии маловато будет, а с налоговым?
8 shuhard_серый
 
28.05.15
08:04
(4) что-нибудь одно
либо получить остатки и сделать к ним красное сторно
либо получить все движения и каждому из них сторно


это разные задачи, объединить их бессмыслено и бесполезно
9 Рэйв
 
28.05.15
08:11
(0)На ИТС вроде было чтото вроде СверткаИнформационнойБазы.epf
указываешь регистр и формируешь остатки на дату.
10 DreamMaster
 
28.05.15
09:04
(7) С регистрами вопросов нет - там всё понятно.
У меня вопрос только с регистром бухгалтерии "Хозрасчетный"
11 Desna
 
28.05.15
09:08
(4) ну и в чем проблема? один документ с минусом(сторно), второй документ с остатками. заполнить тч по-людски в документе.
12 Cyberhawk
 
28.05.15
09:24
(3)
Как-то так:
УстановитьЗначенияСубконто(Проводка.СчетДт, Проводка.СубконтоДт, ЗначениеСубконто1, ЗначениеСубконто2, ЗначениеСубконто3)

Процедура УстановитьЗначенияСубконто(Счет, Субконто, ЗначениеСубконто1, ЗначениеСубконто2, ЗначениеСубконто3)
Субконто.Очистить();
Если Не Счет.Пустая() Тогда
    МассивСубконто    = Новый Массив;
    МассивСубконто.Добавить(ЗначениеСубконто1);
    МассивСубконто.Добавить(ЗначениеСубконто2);
    МассивСубконто.Добавить(ЗначениеСубконто3);
    Для Сч = 0 По Счет.ВидыСубконто.Количество() - 1 Цикл
        ВидСубконто = Счет.ВидыСубконто[Сч].ВидСубконто;
        Субконто.Вставить(ВидСубконто, ВидСубконто.ТипЗначения.ПривестиЗначение(МассивСубконто[Сч]));
    КонецЦикла;    
КонецЕсли;
13 DreamMaster
 
29.05.15
06:01
(12) А можно подробнее? ЗначениеСубконто1,2,3 - откуда их брать? (я в этом вообще не разбираюсь)
14 DreamMaster
 
29.05.15
07:15
Вот часть кода:

    ТекРегистр = Метаданные.РегистрыБухгалтерии.Хозрасчетный;
    
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ *
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСреза) КАК ТекущийРегистрНакопления    
    |";
    
    Запрос.УстановитьПараметр("ДатаСреза", КонецДня(ДатаСреза) + 1);
    
    Выгрузка = Запрос.Выполнить().Выгрузить();
    
    ДокументКорректировки = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
    
    ДокументКорректировки.Дата = КонецДня(ДатаСреза);
    ДокументКорректировки.Комментарий = "Перенос остатков по регистру: " + ТекРегистр.Синоним;
    
    НоваяСтрока = ДокументКорректировки.ТаблицаРегистровБухгалтерии.Добавить();
    НоваяСтрока.Имя = ТекРегистр.Имя;
    НоваяСтрока.Представление = ТекРегистр.Синоним;
    
    Для Каждого Стр Из Выгрузка Цикл
        
        СтрокаЗаписи = ДокументКорректировки.Движения[ТекРегистр.Имя].Добавить();
        
        СтрокаЗаписи.Период = КонецДня(ДатаСреза);
        
        Для Каждого Колонка Из Выгрузка.Колонки Цикл
            
            СтрокаЗаписи[ИмяКолонки]= Стр[Колонка.Имя]; // ВОТ ТУТ ВОПРОС
            
        КонецЦикла;
        
    КонецЦикла;
    
    ДокументКорректировки.Записать();
    
    Сообщить ("Создан документ: " + ДокументКорректировки);

Из какиз реквизитов запроса брать данные и в какие реквизиты строки записи записывать?

Мне нужно, чтобы после того, как я создам документ и удалю все движения до даты документа - итоговые данные по регистру не изменились.
15 Cyberhawk
 
29.05.15
08:32
(13) из результата запроса (остатки РБ)