helpf.pro
Регистрация

v7: Операции и проводки

Fry
20.10.2011 11:09Прочитано: 3526
Нужно загрузить субконто. Как правильно написать?
Код 1C v 7.x
 Процедура Сформировать()
База = СоздатьОбъект("XBase");
Док = СоздатьОбъект("Документ.ПриходныйОрдер");
Опер = СоздатьОбъект("Операция");
База.ОткрытьФайл("C:\Док222.dbf");
База.Первая();
Для н=1 По База.КоличествоЗаписей() Цикл
База.Перейти(н);
Если Док.НайтиПоНомеру(База.NomerDok) = 0 Тогда
Док.Новый();
Док.НомерДок = База.NomerDok;
Док.ДатаДок = База.DataDok;
Док.Записать();
КонецЕсли;
Если Опер.НайтиОперацию(Док) = 1 Тогда
Опер.НоваяПроводка();
Опер.Дебет.Счет = СчетПоКоду(База.ShDt);
Опер.Кредит.Счет = СчетПоКоду(База.ShKt);
Опер.Сумма = База.SummaOp;
Опер.Дебет.представлениеСубконто(1)= База.SubkontoD1;????

Опер.Записать();
КонецЕсли;

КонецЦикла;
База.ЗакрытьФайл();
КонецПроцедуры

Изменено 20.10.11 13:37:06 по причине: Разукрасил код
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
20.10.2011 13:33Ответ № 1
Рабочий код с перечислением вариантов обращения к субконто:
Код 1C v 7.x
     //заполнение атрибутов операции
Операция.СуммаОперации = Итог("Сумма");
Операция.Содержание = "Поступление материалов";
Операция.Журнал = "МТ"; //доп. реквизит операции

//для каждой строки документа сделаем проводку
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл

ПривязыватьСтроку(1); //проводки будут содержать номер строки документа

//создание проводки и заполнение атрибутов проводки
Операция.НоваяПроводка();

Операция.Дебет.Счет = СчетПоКоду("10.1");
Операция.Дебет.Склады = Склад; //1-й вариант обращения к субконто
Операция.Дебет.Субконто(ВидыСубконто.Материалы,Материал); //2-й вариант
Операция.Количество = Количество;

Операция.Кредит.Счет = СчетПоКоду("51");
Операция.Кредит.Субконто(1,РасчетныйСчет); //3-й вариант

Операция.Сумма = Сумма;

//у нас счет 10.1 валютный, поэтому
Операция.ВалСумма = Сумма*Курс;
Операция.Валюта = Валюта;

Операция.Филиал = Филиал; //разделитель учета (доп. реквизит проводки)

КонецЦикла;
Операция.Записать();

Изменено 20.10.11 13:35:35
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.