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

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

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

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

ВыбратьСтроки();
Пока ПолучитьСтроку() = 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;
студ.ПолучитьСтрокуПоНомеру(ном_стр);
Студент=студ.Студент_;
КонецЦикла;

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

Это модули в 1С7.7.
+
Найденные решения
2. AndrewUs 11 24.04.17 16:14 Сейчас в теме
Проще написать заново.
PhoenixAOD; Illiida; +2
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AndrewUs 11 24.04.17 16:14 Сейчас в теме
Проще написать заново.
PhoenixAOD; Illiida; +2
3. Bell 36 25.04.17 02:36 Сейчас в теме
Текст небольшой. Заново. Тем более у 8 -ки свои особенности (и план счетов).
+
Внимание! Тема сдана в архив

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