Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 07:04

Переделка обработки

Автор red14_88, 09 фев 2011, 13:16

0 Пользователей и 1 гость просматривают эту тему.

red14_88

Доброго времени суток.
Есть обработка для печати счета-фактуры по нескольким документам ТоварнаяНакладная для БухгалтерияПредприятия. Хочется переделать обработку под комплексную конфу.
Код существенных процедур обработки ниже:

Процедура Заполнить()
Если Документы.РазмерСписка()>0 Тогда
Если Вопрос("Перед заполнением список сотрудников будет очищен."
"Продолжить?","Да+Нет")="Нет" Тогда
Возврат
КонецЕсли;
КонецЕсли;
Документы.УдалитьВсе();
Док = СоздатьОбъект("Документ.РасходнаяНакладная");
Док.ИспользоватьЖурнал("Товары",1);
Док.УстановитьФильтр(1);
Док.ВыбратьДокументы(Дата1,Дата2);
Пока Док.ПолучитьДокумент() = 1 Цикл
Если (Контрагент.Выбран() = 1) и (Док.Контрагент <> Контрагент)  Тогда
Продолжить;
КонецЕсли;                 
Документы.ДобавитьЗначение(док.ТекущийДокумент(),"Расходная накладная №"+док.ТекущийДокумент().НомерДок);
КонецЦикла;
КонецПроцедуры
//*******************************************
Процедура Сформировать()
Если Проверка() = 0 Тогда
СтатусВозврата(0);
Возврат;
Конецесли;
ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
ТабЗнач.НоваяКолонка("Товар");
ТабЗнач.НоваяКолонка("Количество");
ТабЗнач.НоваяКолонка("Цена");
ТабЗнач.НоваяКолонка("Сумма");
ТабЗнач.НоваяКолонка("СтавкаНДС");
ТабЗнач.НоваяКолонка("НДС");
ТабЗнач.НоваяКолонка("Всего");
ТабЗнач.НоваяКолонка("Счет");
ТабЗнач.НоваяКолонка("Субконто1");
ТабЗнач.НоваяКолонка("Субконто2");
ТабЗнач.НоваяКолонка("Субконто3");
Если Документы.РазмерСписка() = 0 Тогда
    Предупреждение("Выбирите документы");
Возврат;
КонецЕсли;
Если Контрагент.Выбран() = 0 Тогда
    Предупреждение("Выбирите контрагента");
Возврат;
КонецЕсли;
Для Ин = 1 по Документы.РазмерСписка() Цикл
Док = Документы.ПолучитьЗначение(Ин);
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку() = 1 Цикл
Если Контрагент <> Док.Контрагент Тогда
    Продолжить;
КонецЕсли;     
Если Договор.Код <> Док.Договор.Код Тогда
    Продолжить;
КонецЕсли;     
Если (Док.Товар.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар)и
(Док.Товар.ТипТовара = Перечисление.ТипыТоваров.Тара) Тогда
    Продолжить;
КонецЕсли;
ТабЗнач.НоваяСтрока();   
ТабЗнач.Товар = док.Товар;
ТабЗнач.Количество = док.Количество;
ТабЗнач.Цена = док.Цена;
ТабЗнач.Сумма = док.Сумма;
ТабЗнач.СтавкаНДС = Док.Товар.СтавкаНДС.Получить(ДатаОтч);
ТабЗнач.НДС = Док.НДС;
ТабЗнач.Всего = Док.Всего;
ТабЗнач.Счет = СчетПоКоду("90.3");
ТабЗнач.Субконто1 = Док.Товар.ВидНоменклатуры;
ТабЗнач.Субконто2 = Док.Товар.СтавкаНДС.Получить(ДатаОтч);
КонецЦикла;
КонецЦикла;
ТабЗнач.Свернуть("Товар, Цена, СтавкаНДС, Счет, Субконто1, Субконто2","Количество, Сумма, НДС, Всего");

Если ТабЗнач.КоличествоСтрок() = 0 Тогда
    Предупреждение("По даннын расходным накладным товара на отгружалось");
Возврат;
КонецЕсли;
Док = СоздатьОбъект("Документ.РасходнаяНакладная");
Док.Новый();
Док.ЗагрузитьТабличнуюЧасть(ТабЗнач);
Док.Контрагент = Контрагент;
Док.Грузополучатель = Контрагент;
Док.Договор = Договор;
Док.Записать();
Конт = "";
ОткрытьФорму("Документ.СчетФактура", Конт, Док.ТекущийДокумент()); 
Док.Удалить(1);
Стр = "";
Для Ин = 1 по Документы.РазмерСписка() Цикл
Док = Документы.ПолучитьЗначение(Ин);
Если Стр = "" Тогда
    Стр = "№" + Док.НомерДок + "от " + Док.ДатаДок;
Иначе
Стр = Стр + "," + " №" + Док.НомерДок + "от " + Док.ДатаДок;
КонецЕсли;
КонецЦикла;
Конт.Комментарий = "Введен на осн. наклад." + Стр;
Конт.ДокументОснование = "";
Конт.Форма.Обновить(1);
//Конт.Записать();   
КонецПроцедуры


Я так понимаю, необходимо найти аналог документа ТоварнаяНакладная, СчетФактура, журнала Товар в комплексной конфе. Мб кто-то сталкивался?

red14_88

Сама обработка здесь, мб кому-то пригодится.
зыж Соблюдайте, пожалуйста, копирайт, автор не я.

progmikon

Вы хотите, чтобы за вас ее здесь передалали? Или у вас конкретные вопросы.

prog1c7.7

аналог не нужен, нужно модуль читать  и с ним работать

red14_88

Цитата: progmikon от 09 фев 2011, 14:02
Вы хотите, чтобы за вас ее здесь передалали? Или у вас конкретные вопросы.
Конекретно вопрос после куска исходного кода. Постараюсь ещё конкретнее. Есть код для подбора документов, по которым должна формироваться счет-фактура:
#########################################################
   Док = СоздатьОбъект("Документ.РасходнаяНакладная");
   Док.ИспользоватьЖурнал("Товары",1);
   Док.УстановитьФильтр(1);
   Док.ВыбратьДокументы(Дата1,Дата2);
#########################################################
В комплексной конфигурации нет ни такого документа, ни такого журнала. Какие документы (и из какого журнала) надо обходить в моём случае?
И второй вопрос:
#########################################################
   Док = СоздатьОбъект("Документ.РасходнаяНакладная");
   Док.Новый();
   Док.ЗагрузитьТабличнуюЧасть(ТабЗнач);
   Док.Контрагент = Контрагент;
   Док.Грузополучатель = Контрагент;
   Док.Договор = Договор;
   Док.Записать();
   Конт = "";
   ОткрытьФорму("Документ.СчетФактура", Конт, Док.ТекущийДокумент()); 
   Док.Удалить(1);
#########################################################
Здесь на основании сформированного программно документа создаётся, как я понимаю, счет-фактура. Но такого документа в комплексной смёрке тоже нет. Вопрос - какой документ мне необходимо использовать вместо этого?

prog1c7.7

комплексной нет,
выложи мд,
скажи по каким документам (в польз. режиме) хотелось бы чтобы
формировалась обработка (со слов бухгалтера)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск