Переделывание модуля 1С7.7 в модуль 1С8.2

1. AndrewUs 11 10.08.12 12:35 Сейчас в теме
Это модуль документа

перем Обучение,Общежитие;

Процедура ОбработкаПроведения()

ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл

Операция.НоваяПроводка();
Операция.Дебет.Счет = СчетПоКоду("50.1",ПланыСчетов.Основной);
Операция.Дебет.ДвиженияДенежныхСредств = ДвиженияДенежныхСредств;
Если ВидОплаты = Перечисление.ВидОплаты.Обучение Тогда
Операция.Кредит.Счет = СчетПоКоду("62.1",ПланыСчетов.Основной);
ИначеЕсли ВидОплаты = Перечисление.ВидОплаты.Общежитие Тогда
Операция.Кредит.Счет = СчетПоКоду("76.6",ПланыСчетов.Основной);
КонецЕсли;
// Операция.Кредит.Счет = СчетПоКоду("62.1",ПланыСчетов.Основной);
Операция.Кредит.Контрагенты = Студент;
Операция.Кредит.Договоры = Студент.ОсновнойДоговор;
Операция.Сумма = Сумма;

КонецЦикла;

Операция.СуммаОперации = Итог("Сумма");
Операция.Записать();

КонецПроцедуры

А это модуль формы

Перем СписокДействий;
//*****************************************************************************
// Подбор()
//
// Вызывается из формул элементов диалога:
// Кнопка "КнопкаПодбор".
//
// Описание:
// Открывает форму подбора контрагентов.
//
Процедура Подбор()
ОткрытьПодбор("Справочник.Контрагенты", "ДляПодбора");
КонецПроцедуры // Подбор()



//*****************************************************************************
// Предопределенная процедура
//
Процедура ОбработкаПодбора(ВыбрКонтрагент, Конт)
Квит ="";
Если ВвестиСтроку(Квит, "Введите № квитанции об оплате", 6,,10 ) = 0 Тогда
Возврат;
ИначеЕсли Квит = "" Тогда
Возврат;
КонецЕсли;

Кол = 1;
Если ВвестиЧисло(Кол, "Введите сумму", 14, 2,10) = 0 Тогда
Возврат;
ИначеЕсли Кол = 0 Тогда
Возврат;
КонецЕсли;


НоваяСтрока();
Студент = ВыбрКонтрагент;
Сумма = Кол;
НомерКвит=Квит;
АктивизироватьСтроку();
КонецПроцедуры // ОбработкаПодбора()

//__________________________________________________________­___________________
Процедура пко()

Если ТекущийДокумент().Выбран() = 0 Тогда
Если Вопрос("Нельзя вводить документ на основании не записанного документа!"+РазделительСтрок+
"Записать документ?","Да+Нет")="Да" Тогда
Если Записать() = 0 Тогда
Возврат;
КонецЕсли;
Иначе
Возврат;
КонецЕсли;
КонецЕсли;



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





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


Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
КонецПроцедуры
Процедура ПриСменеВидаОплаты()
Если ВидОплаты.Выбран() = 0 Тогда
ВидОплаты = Перечисление.ВидОплаты.Обучение;
КонецЕсли;
КонецПроцедуры
//__________________________________________________________­___________________
Процедура ЗаполнитьТаблицуПоПроводкам()
студ=СоздатьОбъект("ТаблицаЗначений");
студ.НоваяКолонка("Студент_","Справочник.Контрагенты");
ПроводкиДокумента = СоздатьОбъект("Операция");
ПроводкиДокумента.НайтиОперацию(ТекущийДокумент());
ПроводкиДокумента.ВыбратьПроводки();
Пока ПроводкиДокумента.ПолучитьПроводку()=1 Цикл
Если (ПроводкиДокумента.Кредит.Счет = СчетПоКоду("62.1")) или (ПроводкиДокумента.Кредит.Счет = СчетПоКоду("76.6")) Тогда
студ.НоваяСтрока();
студ.Студент_=ПроводкиДокумента.Кредит.Контрагенты;
КонецЕсли;
КонецЦикла;

ном_стр=0;
выбратьСтроки();
Пока получитьстроку()=1 Цикл
ном_стр=ном_стр+1;
студ.ПолучитьСтрокуПоНомеру(ном_стр);
Студент=студ.Студент_;
КонецЦикла;

КонецПроцедуры //ЗаполнитьТаблицуПоПроводкам
//______________________________________________________
СписокДействий = СоздатьОбъект("СписокЗначений");
СписокДействий.ДобавитьЗначение("Отчет о движениях документа");
СписокДействий.ДобавитьЗначение("Структура подчиненности");
СписокДействий.ДобавитьЗначение("Ввести на основании");
СписокДействий.ДобавитьЗначение("Перейти в журнал");
Найденные решения
2. pantera_rrr 10.08.12 12:48 Сейчас в теме
Уже отвечала.

Ну что, что вам мешает делать эти проводки "приходным кассовым ордером"? вы своим документом добавите бухам работы, приходник всеравно придется делать т.к. кассовая книга то им нужна, отчеты по кассе нужны, следовательно нужны движения по регистрам "Движения денежных средств", ну и расчеты с контрагентами счета 62.1 например требуют не только проводок, но и движений по регистру "расчеты по реализации"

тут подробнее, выписывался док, на основании делался приходный ордер без проводок, а теперь может по другому поступите, пусть документ будет без проводок, а приходный ордер делает все нужные проводки.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. pantera_rrr 10.08.12 12:48 Сейчас в теме
Уже отвечала.

Ну что, что вам мешает делать эти проводки "приходным кассовым ордером"? вы своим документом добавите бухам работы, приходник всеравно придется делать т.к. кассовая книга то им нужна, отчеты по кассе нужны, следовательно нужны движения по регистрам "Движения денежных средств", ну и расчеты с контрагентами счета 62.1 например требуют не только проводок, но и движений по регистру "расчеты по реализации"

тут подробнее, выписывался док, на основании делался приходный ордер без проводок, а теперь может по другому поступите, пусть документ будет без проводок, а приходный ордер делает все нужные проводки.
4. AndrewUs 11 10.08.12 13:06 Сейчас в теме
(2) pantera_rrr, Я не очень опытен в этом, "разжевать" мне сможете?
3. AndrewUs 11 10.08.12 12:58 Сейчас в теме
Дело в том, что бухгалтера сами хотят этот документ, моя бы воля ... оставил бы базу нетронутой.
5. pantera_rrr 10.08.12 13:07 Сейчас в теме
пусть вводят свой документ раз им так хочется, может на основании выписывать "Приходный ордер" со всеми заполненными позициям и пусть он делает проводки?
6. AndrewUs 11 10.08.12 16:55 Сейчас в теме
(5) pantera_rrr, у бух-ов этот документ и выписывается на основании ПКО ...
В общем я в полной расстерянности ... буду начинать с нуля, может получится что-нибудь ... спасибо вам.
7. pantera_rrr 12.08.12 19:53 Сейчас в теме
Вот смотрите, вы заполните приходный ордер, он сделает все проводки и движения по всем нужным регистрам. На основании приходного ордера ( если вам так хочется) хотя сделать бы надо на оборот приходный на основании документа, выписываете свой документ без проводок, какая роль этого документа не ясно, может особая печатная форма?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот