проводки по драгметаллам в МЗ (1с7.7)

  • Автор темы Nastyusha
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

Nastyusha

#1
доброе утро.
вопрос такой:
1с 7.7
есть документ поступление мз (хранятся на счете 06). в некоторых мз есть драгметаллы (хранятся на 2-х забалансовых счетах дм 3.1. паспорт и дм 3.2. -комиссия)
Нужно: если др. металлы есть для данного Мз в справочнике, то сделать проводки на поступившее колво мз*колво драгметаллов из справочника..
как проверить, сделаны ли проводки для данного мз и на нужное колво драгметаллов..
и если не сделаны или сделаны не на все колво МЗ, то тогда сделать проводки..

и уже потом похожая ситуация с комплектацией...
может конечно же не совсем понятно объяснила, очень нужно помощь

благодарю за советы
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#2
ну во первых неплохо было бы конфигурацию указать
 
N

Nastyusha

#3
конфа- самописная..Бюджетная организация (университет)
 

KiR

НЕ шибка опытный програмер)
11.09.2007
1 581
0
#4
гм... сложно посоветовать что-то раз уж это самописка... можно сделать внешнюю обработку, которая делала бы выборку нужных вам данных и предоставляла эту инфу в читаемом виде
 
N

Nastyusha

#6
это внешняя обработка
не могу выбрать Мз, по которым не делалась проводки вот в этом цикле би2.ВыбратьСубконто(2); // по видам ДМ
Пока би2.ПолучитьСубконто(2)=1 Цикл

и подскажите пожалуйста, что мне почитать (с примерами)

//для просмотра МЗ

би_МЗ=СоздатьОбъект("БухгалтерскиеИтоги");
би_МЗ.ИспользоватьСубконто(ВидыСубконто.МЗ,, 1);
би_МЗ.ВключатьСубсчета(1);
би_МЗ.ВыполнитьЗапрос(ДатаНач , (ДатаКон), СчетПоКоду("06.9"),,,,,);

//драгметаллы
счет=СчетПоКоду("ДМ .3. . . ");
би2=СоздатьОбъект("БухгалтерскиеИтоги");
БИ2.ИспользоватьСубконто(ВидыСубконто.МЗ,,1);// по 1-му субконто для МЗ драгметаллов
БИ2.ИспользоватьСубконто(ВидыСубконто.ВидыДрагметаллов,,1);// по 2-му субконто для МЗ драгметаллов

би2.ВключатьСубсчета(1);
БИ2.ВыполнитьЗапрос((ДатаНач) , (ДатаКон), Строка(Счет));

би2.ВыбратьСубконто(1);
Пока би2.ПолучитьСубконто(1)=1 Цикл//по МЗ

ТЗПоступление.НоваяСтрока();
ТЗПоступление.МЗ=би2.Субконто(1);

би2.ВыбратьСубконто(2); // по видам ДМ
Пока би2.ПолучитьСубконто(2)=1 Цикл



би2.ВыбратьСчета();
//цикл по счетам ДМ
Пока би2.ПолучитьСчет()=1 Цикл
Если (би2.Счет.ЭтоГруппа()=1) Тогда
Продолжить;
КонецЕсли;

Если би2.ПолучитьСчет(,СчетПоКоду("ДМ.3.1."))=1 Тогда
Сообщить(би2.Счет);

ТЗПоступление.МЗ=би2.Субконто(1);
ТЗПоступление.НаименованиеДМ=би2.Субконто(2);
ТЗПоступление.ВСчете_Паспорт=би2.СКД(3);
ТЗПоступление.ВСчете_ПаспортКомпл=би2.СКК(3);
ТЗПоступление.КоличествоМЗ=би_МЗ.СКД(3);
 
Статус
Закрыто для дальнейших ответов.