Имя: Пароль:
1C
 
заполнение документа Кооректировка записей регистра
0 Vbonivur
 
17.05.10
19:14
Процедура КоманднаяПанельНУЗаполнить(Кнопка)
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    НалоговыйОстатки.Счет КАК СчетКт,
                  |    НалоговыйОстатки.Субконто1 КАК СубконтоКт1,
                  |    НалоговыйОстатки.Субконто2 КАК СубконтоКт2,
                  |    НалоговыйОстатки.Субконто3 КАК СубконтоКт3,
                  |    НалоговыйОстатки.Организация КАК Организация,
                  |    НалоговыйОстатки.ВидУчета КАК ВидУчета,
                  |    НалоговыйОстатки.СуммаОстаток,
                  |    НалоговыйОстатки.СуммаОстатокДт КАК Сумма,
                  |    НалоговыйОстатки.СуммаОстатокКт,
                  |    НалоговыйОстатки.СуммаРазвернутыйОстатокДт,
                  |    НалоговыйОстатки.СуммаРазвернутыйОстатокКт,
                  |    НалоговыйОстатки.КоличествоОстаток,
                  |    НалоговыйОстатки.КоличествоОстатокДт КАК КоличествоКт,
                  |    НалоговыйОстатки.КоличествоОстатокКт,
                  |    НалоговыйОстатки.КоличествоРазвернутыйОстатокДт,
                  |    НалоговыйОстатки.КоличествоРазвернутыйОстатокКт
                  |{ВЫБРАТЬ
                  |    СчетКт.*,
                  |    СубконтоКт1.*,
                  |    СубконтоКт2.*,
                  |    СубконтоКт3.*,
                  |    Организация.*,
                  |    ВидУчета.*,
                  |    СуммаОстаток,
                  |    Сумма,
                  |    СуммаОстатокКт,
                  |    СуммаРазвернутыйОстатокДт,
                  |    СуммаРазвернутыйОстатокКт,
                  |    КоличествоОстаток,
                  |    КоличествоКт,
                  |    КоличествоОстатокКт,
                  |    КоличествоРазвернутыйОстатокДт,
                  |    КоличествоРазвернутыйОстатокКт}
                  |ИЗ
                  |    РегистрБухгалтерии.Налоговый.Остатки КАК НалоговыйОстатки
                  |ГДЕ
                  |    НалоговыйОстатки.Счет = &Счет
                  |    И НалоговыйОстатки.Организация = &Орг
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    НалоговыйОстатки.Субконто3,
                  |    НалоговыйОстатки.Субконто2,
                  |    НалоговыйОстатки.Счет,
                  |    НалоговыйОстатки.Субконто1,
                  |    НалоговыйОстатки.Организация,
                  |    НалоговыйОстатки.ВидУчета,
                  |    НалоговыйОстатки.СуммаОстаток,
                  |    НалоговыйОстатки.СуммаОстатокДт,
                  |    НалоговыйОстатки.СуммаОстатокКт,
                  |    НалоговыйОстатки.СуммаРазвернутыйОстатокДт,
                  |    НалоговыйОстатки.СуммаРазвернутыйОстатокКт,
                  |    НалоговыйОстатки.КоличествоОстаток,
                  |    НалоговыйОстатки.КоличествоОстатокДт,
                  |    НалоговыйОстатки.КоличествоОстатокКт,
                  |    НалоговыйОстатки.КоличествоРазвернутыйОстатокДт,
                  |    НалоговыйОстатки.КоличествоРазвернутыйОстатокКт";
   
   Запрос.УстановитьПараметр("Орг",Орг);
   Запрос.УстановитьПараметр("Счет",Счет);
   
   Док = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
   Док.Дата = ТекущаяДата();
   НоваяСтрокаРегБух = Док.ТаблицаРегистровБухгалтерии.Добавить();
   НоваяСтрокаРегБух.Имя = "Налоговый";
   НоваяСтрокаРегБух.Представление = "Журнал проводок (налоговый учет)";
   НЗНалоговый = РегистрыБухгалтерии.Налоговый.СоздатьНаборЗаписей();
   
   ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(Док.ЭтотОбъект, ПараметрыСеанса.ТекущийПользователь);
   Результат = Запрос.Выполнить();
   Док.Движения.Налоговый.Загрузить(Результат.Выгрузить());
   
   
   Форма = Док.ПолучитьФорму();
   Форма.Открыть();
   
   
КонецПроцедуры


При Выполнение это процедуры вылетает ошибка:
{Форма.Форма(78)}: Ошибка при вызове метода контекста (Загрузить): Требуется колонка вида субконто! (ВидСубконтоКт1)
   Док.Движения.Налоговый.Загрузить(Результат.Выгрузить());
по причине:
Требуется колонка вида субконто! (ВидСубконтоКт1)


Что делать не знаю. Помогите пожалуйста!
1 Defender aka LINN
 
17.05.10
19:33
"Требуется колонка вида субконто" - какое именно слово непонятно?
2 Vbonivur
 
17.05.10
19:41
Колонку добавлял, ругался на неверный тип.
А не понятно как эту ошибку исправить?
3 Defender aka LINN
 
17.05.10
20:01
(2) "Колонку добавлял, ругался на неверный тип." - Значит, не того типа колонку добавлял.
4 Vbonivur
 
17.05.10
20:15
(3) У меня не получается, по ходу я чего то не понимаю, поэтому и обращаюсь.
5 Vbonivur
 
19.05.10
11:37
Процедура КоманднаяПанельНУЗаполнить(Кнопка)
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    НалоговыйОстатки.Счет КАК СчетДт,
   |    НалоговыйОстатки.Субконто1,
   |    НалоговыйОстатки.Субконто2,
   |    НалоговыйОстатки.Субконто3,
   |    НалоговыйОстатки.Организация,
   |    НалоговыйОстатки.ВидУчета КАК ВидУчетаДт,
   |    НалоговыйОстатки.СуммаОстатокДт КАК Сумма,
   |    НалоговыйОстатки.КоличествоОстатокДт КАК КоличествоДт
   |{ВЫБРАТЬ
   |    СчетДт.*,
   |    Субконто1.*,
   |    Субконто2.*,
   |    Субконто3.*,
   |    Организация.*,
   |    ВидУчетаДт.*,
   |    Сумма,
   |    КоличествоДт}
   |ИЗ
   |    РегистрБухгалтерии.Налоговый.Остатки(&ДатаКон, Счет = &Счет, , Организация = &Орг) КАК НалоговыйОстатки
   |
   |СГРУППИРОВАТЬ ПО
   |    НалоговыйОстатки.Субконто3,
   |    НалоговыйОстатки.Субконто2,
   |    НалоговыйОстатки.Счет,
   |    НалоговыйОстатки.Субконто1,
   |    НалоговыйОстатки.Организация,
   |    НалоговыйОстатки.ВидУчета,
   |    НалоговыйОстатки.СуммаОстатокДт,
   |    НалоговыйОстатки.КоличествоОстатокДт";
   
   Запрос.УстановитьПараметр("Орг",Орг);
   Запрос.УстановитьПараметр("Счет",Счет);
   Запрос.УстановитьПараметр("ДатаКон",ДатаКон);
   Выборка = Запрос.Выполнить().Выбрать();
   
   ДокКорректировка = Документы.КорректировкаЗаписейРегистров.СоздатьДокумент();
   ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ДокКорректировка.ЭтотОбъект, ПараметрыСеанса.ТекущийПользователь);
   ДокКорректировка.Дата = ДатаКон;
   ДокКорректировка.Комментарий = "Сторно остатков по счету: " + Счет + " (налоговый учет)";
   НоваяСтрокаРегБух = ДокКорректировка.ТаблицаРегистровБухгалтерии.Добавить();
   НоваяСтрокаРегБух.Имя = "Налоговый";
   НоваяСтрокаРегБух.Представление = "Журнал проводок (налоговый учет)";
   
   НаборЗаписей = ДокКорректировка.Движения.Налоговый;
   
   НомСтр=0;
   Пока Выборка.Следующий() Цикл
       НомСтр = НомСтр + 1;
       
       НоваяСтрока = НаборЗаписей.Добавить();
       ЗаполнитьЗначенияСвойств(НоваяСтрока,Выборка);
       НоваяСтрока.Период = ДатаКон;
       НоваяСтрока.ВидУчетаКт = Выборка.ВидУчетаДт;
       НоваяСтрока.СчетКт = ПланыСчетов.Налоговый.НайтиПоКоду("000");
       НоваяСтрока.КоличествоДт = (Выборка.КоличествоДт*-1);
       НоваяСтрока.Сумма = (Выборка.Сумма*-1);
       
       Если ЗначениеЗаполнено(Выборка.Субконто1) Тогда
           Для каждого ВидыСубконто Из НоваяСтрока.СчетДт.ВидыСубконто Цикл
               Для каждого ТипСубконто Из ВидыСубконто.ВидСубконто.ТипЗначения.Типы() Цикл
                   Если ТипСубконто = ТипЗнч(Выборка.Субконто1) Тогда
                       БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетДт, НоваяСтрока.СубконтоДт,ВидыСубконто.ВидСубконто.Наименование, Выборка.Субконто1);
                       Прервать;
                   КонецЕсли;
               КонецЦикла;
           КонецЦикла;
       КонецЕсли;
       
       Если ЗначениеЗаполнено(Выборка.Субконто2) Тогда
           Для каждого ВидыСубконто Из НоваяСтрока.СчетДт.ВидыСубконто Цикл
               Для каждого ТипСубконто Из ВидыСубконто.ВидСубконто.ТипЗначения.Типы() Цикл
                   Если ТипСубконто = ТипЗнч(Выборка.Субконто2) Тогда
                       БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетДт, НоваяСтрока.СубконтоДт,ВидыСубконто.ВидСубконто.Наименование, Выборка.Субконто2);
                       Прервать;
                   КонецЕсли;
               КонецЦикла;
           КонецЦикла;
       КонецЕсли;
       
       Если ЗначениеЗаполнено(Выборка.Субконто3) Тогда
           Для каждого ВидыСубконто Из НоваяСтрока.СчетДт.ВидыСубконто Цикл
               Для каждого ТипСубконто Из ВидыСубконто.ВидСубконто.ТипЗначения.Типы() Цикл
                   Если ТипСубконто = ТипЗнч(Выборка.Субконто3) Тогда
                       БухгалтерскийУчет.УстановитьСубконто(НоваяСтрока.СчетДт, НоваяСтрока.СубконтоДт,ВидыСубконто.ВидСубконто.Наименование, Выборка.Субконто3);
                       Прервать;
                   КонецЕсли;
               КонецЦикла;
           КонецЦикла;
       КонецЕсли;
       
       ОбработкаПрерыванияПользователя();
       
   КонецЦикла;
   
   Попытка
   Исключение
   КонецПопытки;
   
   
   ФормаДок = ДокКорректировка.ПолучитьФорму();
   ФормаДок.Открыть();                
   
   
КонецПроцедуры


Выше процедура по заполнению документа корректировка записей ригистра по регистрам бухгалтерии (налоговый учет). Работает в УПП.

Может кому пригодится...
6 tan76
 
24.05.10
12:36
Колонку СубконтоДт1 можно добавлять прямо в запросе конструкциями вроде этой


   |    ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыПоАвансамПолученным) КАК СчетДт,
   |    ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты) КАК ВидСубконтоДт1,
   |    ГотовыеДанные.Покупатель КАК СубконтоДт1,
Независимо от того, куда вы едете — это в гору и против ветра!