Процедура ПереписатьКонтрагентаВОперации(мОпер)
Опер = СоздатьОбъект("Операция");
Опер.НайтиОперацию(мОпер);
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку() = 1 Цикл
Опер.Дебет.Контрагенты = НовыйКонтрагент;
КонецЦикла;
Попытка
Опер.Записать();
Сообщить("Скорректирована операция №"+Строка(Опер.Документ.НомерДок) + " от " + Строка(Опер.Документ.ДатаДок), "i");
Исключение
Сообщить("Не могу скорректировать операцию"+Строка(Опер.Документ.НомерДок) + " от " + Строка(Опер.Документ.ДатаДок), "!");
КонецПопытки
КонецПроцедуры
//*******************************************
Процедура Сформировать()
Если Вопрос("Подтвердите корректировку", "Да+Нет") = "Нет" Тогда
Возврат;
Конецесли;
Если Контрагент.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
Если НовыйКонтрагент.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
Если ПустоеЗначение(Дата1) = 1 Тогда
Сообщить("Заполните период", "!");
Возврат;
КонецЕсли;
Если ПустоеЗначение(Дата2) = 1 Тогда
Сообщить("Заполните период", "!");
Возврат;
КонецЕсли;
Опер = СоздатьОбъект("Операция");
Опер.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент);
Опер.ВыбратьОперацииСПроводками(Дата1, Дата2, "62.1, 90.1.1; ""1СТ77""");
тзОпер = СоздатьОбъект("ТаблицаЗначений");
тзОпер.НоваяКолонка("Опер");
Пока Опер.ПолучитьПроводку() = 1 Цикл
мДокумент = Опер.Документ;
Если мДокумент.Вид() <> "Операция" Тогда
Продолжить;
КонецЕсли;
тзОпер.НоваяСтрока();
тзОпер.Опер = мДокумент.ТекущийДокумент();
КонецЦикла;
тзОпер.Свернуть("Опер","");
тзОпер.ВыбратьСтроки();
Пока тзОпер.ПолучитьСтроку() = 1 Цикл
ПереписатьКонтрагентаВОперации(тзОпер.Опер);
КонецЦикла;
КонецПроцедуры
//*******************************************
Процедура ПриОткрытии()
спрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
спрКонтрагенты.НайтиПоКоду("Н0000446");
Если спрКонтрагенты.Выбран() = 1 Тогда
Контрагент = спрКонтрагенты.ТекущийЭлемент();
Иначе
Сообщить("Не найден контрагент с кодом 'Н0000446' Аптека №115.Обработка не может скорректировать операции по заданному контрагенту","!");
КонецЕсли;
спрКонтрагенты.НайтиПоКоду("Ц0000074");
Если спрКонтрагенты.Выбран() = 1 Тогда
НовыйКонтрагент = спрКонтрагенты.ТекущийЭлемент();
Иначе
Сообщить("Не найден контрагент 'НЕВИС ООО' Обработка не может отнести операции на заданного контрагента.","!");
КонецЕсли;
КонецПроцедуры
Комментариев нет:
Отправить комментарий