Расширение для ЭСФ
Добрый день хотел спросить насчет правильности написания кода.
Поставили задачу при создании ЭСФ на оснований счет-фактуры автоматически заполнить номер используя номер реализаций ТМЗ который является основанием для счет-фактуры. я создал расширение добавил форму документа ЭСФ и процедуру Процедура ПриОткрытии(Отказ) добавил в расширение вот код:
&НаКлиенте
&После("ПриОткрытии")
Процедура Расш1_ПриОткрытии(Отказ)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
ЭтаФорма.Объект.Номер = Выб(ЭтаФорма.Объект.ДокументПодтверждающийПоставкуНомер);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция Выб(Д)
Запрос.Текст = "ВЫБРАТЬ
| СчетФактураВыданныйДокументыОснования.Ссылка.Номер КАК Номер
|ИЗ
| Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураВыданный
| ПО СчетФактураВыданныйДокументыОснования.Ссылка = СчетФактураВыданный.Ссылка
|ГДЕ
| СчетФактураВыданный.Номер = &Номер";
Запрос.УстановитьПараметр("Номер", Д);
Рез = Запрос.Выполнить().Выбрать();
Рез.Следующий();
П = Рез.Номер;
Возврат П;
КонецФункции
Код работает просто хотел узнать правильно ли я написал?
Бухгалтерия для Казахстана, редакция 3.0, разработка для Казахстана: «1С-Рейтинг» (3.0.46.1)
1С:Предприятие 8.3 (8.3.19.1467)
Поставили задачу при создании ЭСФ на оснований счет-фактуры автоматически заполнить номер используя номер реализаций ТМЗ который является основанием для счет-фактуры. я создал расширение добавил форму документа ЭСФ и процедуру Процедура ПриОткрытии(Отказ) добавил в расширение вот код:
&НаКлиенте
&После("ПриОткрытии")
Процедура Расш1_ПриОткрытии(Отказ)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
ЭтаФорма.Объект.Номер = Выб(ЭтаФорма.Объект.ДокументПодтверждающийПоставкуНомер);
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция Выб(Д)
Запрос.Текст = "ВЫБРАТЬ
| СчетФактураВыданныйДокументыОснования.Ссылка.Номер КАК Номер
|ИЗ
| Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданныйДокументыОснования
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураВыданный
| ПО СчетФактураВыданныйДокументыОснования.Ссылка = СчетФактураВыданный.Ссылка
|ГДЕ
| СчетФактураВыданный.Номер = &Номер";
Запрос.УстановитьПараметр("Номер", Д);
Рез = Запрос.Выполнить().Выбрать();
Рез.Следующий();
П = Рез.Номер;
Возврат П;
КонецФункции
Код работает просто хотел узнать правильно ли я написал?
Бухгалтерия для Казахстана, редакция 3.0, разработка для Казахстана: «1С-Рейтинг» (3.0.46.1)
1С:Предприятие 8.3 (8.3.19.1467)
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все