Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 03:50
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: нужна ВПФ для Бух 3.0  (Прочитано 4495 раз)

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

Оффлайн Дмитрий13

  • *
  • Сообщений: 34
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2013-11-23
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день! Кому не сложно отправьте сюда pokfg666@yandex.ru любую внешнюю печатную форму для бух. 3.0. Заранее благодарю!!

Обработка нужна чтобы разобраться как они делаются, а то никак не доходит до меня...


Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Тебе просто нужна любая ВПФ под УФ или именно под бухгалтерию 3.0 форма? Ты хочешь разобраться или отредактировать макет?
Отредактировать макет можно в разделе "Администрирование" по нужному документу.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Оффлайн Дмитрий13

  • *
  • Сообщений: 34
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2013-11-23
  • Сайт: 
  • Профессия: Ученик 1С
Нужна чтобы разобраться, просто у меня только конфигурация Бухгалтерия 3.0, хотел подключить ее.
Кстати, если тут можно прикрепить файл, то можно и не отправлять на почту а здесь прикрепить.

А при редактировании макета через администрирование, если затем обновить конфигурацию макет сохраниться??

Я не работаю программистом, только учусь...

Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Эта технология сохранения макета уже ранее использовалась в УТ 11 (была выпущена намного раньше БП 3.0). Ты редактируешь макет, находящийся не в конфигурации, а в самой программе - поэтому обновления его не коснутся.Можешь вставлять логотипы и прочую дребедень - только не нарушай структуру передачи параметров - увидишь сам как они описываются в самом макете.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Оффлайн Дмитрий13

  • *
  • Сообщений: 34
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2013-11-23
  • Сайт: 
  • Профессия: Ученик 1С
это-то понятно, хотелось посмотреть как создаются внешние обработки для типовых конфигураций, кстати, ты случайно на почту ничего не скидывал?))

Просто я делаю внешнюю обработку, копирую макет, меняю в нем одну надпись(не параметр), прописываю функцию сведения о внешней обработке, копирую процедуру печать и функцию где формируется табличный документ и ни фига не работает. Хотелось сравнить с работающем, разобраться что не так. У меня ошибка что-то вроде "у объекта нет такого метода(печать).  И кстати, я так не додумал где в коде привязать реквизит СсылкаНаОбъект))  Вот и хотел посмотреть уже готовые. В инете не смог найти для УФ готовые и бесплатно, смотрел видео но там не для УФ...

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
код в модуле объекта
 Функция ВерсияИБ(Знач ИдентификаторБиблиотеки) Экспорт

УстановитьПривилегированныйРежим(Истина);

Запрос = Новый Запрос(
"ВЫБРАТЬ
| ВерсииПодсистем.Версия КАК Версия
|ИЗ
| РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем
|ГДЕ
| ВерсииПодсистем.ИмяПодсистемы = &ИмяПодсистемы");
Запрос.Параметры.Вставить("ИмяПодсистемы", ИдентификаторБиблиотеки);
ТаблицаЗначений = Запрос.Выполнить().Выгрузить();
Результат = "";
Если ТаблицаЗначений.Количество() > 0 Тогда
Результат = СокрЛП(ТаблицаЗначений[0].Версия);
КонецЕсли;
Возврат ?(ПустаяСтрока(Результат), "0.0.0.0", Результат);

 КонецФункции
 
 Функция СформироватьПечатнуюФормуТоварногоЧека(МассивОбъектов, ОбъектыПечати)
//Инициализируем и устанавливаем параметры таблибличного документа для печати
ТабДок = Новый ТабличныйДокумент;
ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Печать_Проводок";
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

Макет = ПолучитьМакет("ПФ_MXL_ПечатьПроводок");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
| ХозрасчетныйДвиженияССубконто.НомерСтроки,
| ХозрасчетныйДвиженияССубконто.Период,
| ХозрасчетныйДвиженияССубконто.СчетДт,
| ХозрасчетныйДвиженияССубконто.ПодразделениеДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1,
| ХозрасчетныйДвиженияССубконто.СубконтоДт2,
| ХозрасчетныйДвиженияССубконто.СубконтоДт3,
| ХозрасчетныйДвиженияССубконто.КоличествоДт,
| ХозрасчетныйДвиженияССубконто.ВалютаДт,
| ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаДт,
| ХозрасчетныйДвиженияССубконто.СчетКт,
| ХозрасчетныйДвиженияССубконто.ПодразделениеКт,
| ХозрасчетныйДвиженияССубконто.СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.СубконтоКт2,
| ХозрасчетныйДвиженияССубконто.СубконтоКт3,
| ХозрасчетныйДвиженияССубконто.КоличествоКт,
| ХозрасчетныйДвиженияССубконто.ВалютаКт,
| ХозрасчетныйДвиженияССубконто.ВалютнаяСуммаКт,
| ХозрасчетныйДвиженияССубконто.Сумма,
| ХозрасчетныйДвиженияССубконто.НеКорректироватьСтоимостьАвтоматически,
| ХозрасчетныйДвиженияССубконто.Содержание,
| ХозрасчетныйДвиженияССубконто.СуммаНУДт,
| ХозрасчетныйДвиженияССубконто.СуммаПРДт,
| ХозрасчетныйДвиженияССубконто.СуммаВРДт,
| ХозрасчетныйДвиженияССубконто.СуммаНУКт,
| ХозрасчетныйДвиженияССубконто.СуммаПРКт,
| ХозрасчетныйДвиженияССубконто.СуммаВРКт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(, , Регистратор В (&МассивОбъектов), , ) КАК ХозрасчетныйДвиженияССубконто
|ИТОГИ ПО
| Регистратор";

Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаРегистратор = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаРегистратор.Следующий() Цикл
//ОбластьРегистратор.Параметры.Заполнить(ВыборкаРегистратор);
//ТабДок.Вывести(ОбластьРегистратор, ВыборкаРегистратор.Уровень());

ВыборкаДетальныеЗаписи = ВыборкаРегистратор.Выбрать();

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

ТабДок.ЗакончитьАвтогруппировкуСтрок();

Возврат ТабДок;

 КонецФункции // СформироватьПечатнуюФормуТоварногоЧека()
 
 // Экспортная процедура печати, вызываемая из основной программы
 //
 // Параметры:
 // ВХОДЯЩИЕ:
 //  МассивОбъектовНазначения - Массив - список объектов ссылочного типа для печати документа
 //                 Как правило, содержит один элемент с ссылкой на вызвавший форму объект (документ, справочник)
 //
 // ИСХОДЯЩИЕ:
 //  КоллекцияПечатныхФорм - ТаблицаЗначений - таблица сформированных табличных документов.
 //                 Как правило, содержит одну строку с именем текущей печатной формы
 //  ОбъектыПечати - СписокЗначений - список объектов печати.
 //  ПараметрыВывода - Структура - Параметры сформированных табличных документов. Содержит поля:
 //  ДоступнаПечатьПоКомплектно - булево - по умолчанию Ложь
 // ПолучательЭлектронногоПисьма
 // ОтправительЭлектронногоПисьма
 //
 Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПечатьПроводок") Тогда

ТабличныйДокумент = СформироватьПечатнуюФормуТоварногоЧека(МассивОбъектовНазначения, ОбъектыПечати);

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ПечатьПроводок",
"Печать проводок",
ТабличныйДокумент
);

КонецЕсли;

 КонецПроцедуры
 
 //
 // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ РЕГИСТРАЦИИ ОБРАБОТКИ
 //
 
 // Сервисная экспортная функция. Вызывается в основной программе при регистрации обработки в информационной базе
 // Возвращает структуру с параметрами регистрации
 //
 // Возвращаемое значение:
 // Структура с полями:
 // Вид - строка, вид обработки, один из возможных: "ДополнительнаяОбработка", "ДополнительныйОтчет",
 // "ЗаполнениеОбъекта", "Отчет", "ПечатнаяФорма", "СозданиеСвязанныхОбъектов"
 // Назначение - Массив строк имен объектов метаданных в формате:
 // <ИмяКлассаОбъектаМетаданного>.[ * | <ИмяОбъектаМетаданных>].
 // Например, "Документ.СчетЗаказ" или "Справочник.*". Параметр имеет смысл только для назначаемых обработок, для глобальных может не задаваться.
 // Наименование - строка - Наименование обработки, которым будет заполнено наименование элемента справочника по умолчанию.
 // Информация  - строка - Краткая информация или описание по обработке.
 // Версия - строка - Версия обработки в формате “<старший номер>.<младший номер>” используется при загрузке обработок в информационную базу.
 // БезопасныйРежим - булево - Принимает значение Истина или Ложь, в зависимости от того, требуется ли устанавливать или отключать безопасный режим
 // исполнения обработок. Если истина, обработка будет запущена в безопасном режиме.
 //
 //
 Функция СведенияОВнешнейОбработке() Экспорт

//Инициализируем структуру с параметрами регистрации

//Определяем список объектов, вызывающих обработку
ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить("Документ.ПоступлениеТоваровУслуг");


ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы);
ПараметрыРегистрации.Версия = "1.0.0.0";

//Определяем команды для печати формы

ТаблицаКоманд = ПолучитьТаблицуКоманд();

ДобавитьКоманду(ТаблицаКоманд,
"Печать проводок", // Представление команды в пользовательском интерфейсе
"ПечатьПроводок", // Уникальный идентификатор команды
);

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

 КонецФункции
 
 //
 // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ РЕГИСТРАЦИИ ОБРАБОТКИ
 //
 
 // Формирует структуру с параметрами регистрации регистрации обработки в информационной базе
 //
 // Параметры:
 // ОбъектыНазначенияФормы - Массив - Массив строк имен объектов метаданных в формате:
 // <ИмяКлассаОбъектаМетаданного>.[ * | <ИмяОбъектаМетаданных>].
 // или строка с именем объекта метаданных
 // НаименованиеОбработки - строка - Наименование обработки, которым будет заполнено наименование элемента справочника по умолчанию.
 // Необязательно, по умолчанию синоним или представление объекта
 // Информация  - строка - Краткая информация или описание обработки.
 // Необязательно, по умолчанию комментарий объекта
 // Версия - строка - Версия обработки в формате “<старший номер>.<младший номер>” используется при загрузке обработок в информационную базу.
 //
 //
 // Возвращаемое значение:
 // Структура
 //
 Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = "", Информация = "", Версия = "1.0")

Если ТипЗнч(ОбъектыНазначенияФормы) = Тип("Строка") Тогда
ОбъектНазначенияФормы = ОбъектыНазначенияФормы;
ОбъектыНазначенияФормы = Новый Массив;
ОбъектыНазначенияФормы.Добавить(ОбъектНазначенияФормы);
КонецЕсли;

ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы);

Если Не ЗначениеЗаполнено(НаименованиеОбработки) Тогда
НаименованиеОбработки = ЭтотОбъект.Метаданные().Представление();
КонецЕсли;
ПараметрыРегистрации.Вставить("Наименование", НаименованиеОбработки);

Если Не ЗначениеЗаполнено(Информация) Тогда
Информация = ЭтотОбъект.Метаданные().Комментарий;
КонецЕсли;
ПараметрыРегистрации.Вставить("Информация", Информация);

ПараметрыРегистрации.Вставить("Версия", Версия);

Возврат ПараметрыРегистрации;

 КонецФункции
 
 // Формирует таблицу значений с командами печати
 //
 // Возвращаемое значение:
 // ТаблицаЗначений
 //
 Функция ПолучитьТаблицуКоманд()

Команды = Новый ТаблицаЗначений;

//Представление команды в пользовательском интерфейсе
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

//Уникальный идентификатор команды или имя макета печати
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

//Способ вызова команды: "ОткрытиеФормы", "ВызовКлиентскогоМетода", "ВызовСерверногоМетода"
// "ОткрытиеФормы" - применяется только для отчетов и дополнительных отчетов
// "ВызовКлиентскогоМетода" - вызов процедуры Печать(), определённой в модуле формы обработки
// "ВызовСерверногоМетода" - вызов процедуры Печать(), определённой в модуле объекта обработки
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

//Показывать оповещение.
//Если Истина, требуется показать оповещение при начале и при завершении работы обработки.
//Имеет смысл только при запуске обработки без открытия формы
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

//Дополнительный модификатор команды.
//Используется для дополнительных обработок печатных форм на основе табличных макетов.
//Для таких команд должен содержать строку ПечатьMXL
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

Возврат Команды;

 КонецФункции
 
 // Вспомогательная процедура.
 //
 Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ВызовСерверногоМетода", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

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

Оффлайн Дмитрий13

  • *
  • Сообщений: 34
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2013-11-23
  • Сайт: 
  • Профессия: Ученик 1С
Реквизит СсылкаНаОбъект использовался в этой обработке?

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
Реквизит СсылкаНаОбъект использовался в этой обработке?
да есть реквизит к\й может быть составным и в к\м указаны объекты из к\х осуществляется печать, можно реквизит и не указывать, а документы в к\х используется ВПФ указать в диалоге доп. отчетов и обработок > Указать назначение, формы нет (поминится один товарищ утверждал что во ВПФ нужно обязательно создавать форму), т.к. форма генерируется самой конфигурацией

Оффлайн Дмитрий13

  • *
  • Сообщений: 34
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2013-11-23
  • Сайт: 
  • Профессия: Ученик 1С
Как я понял В этой обработке реквизит СсылкаНаОбъект не использовался, в коде нет его. То есть документы, из которых можно печатать форму находятся в массиве объектов, а в массив объектов они попадают через указание при подключении внешней обработки в режиме 1с:предприятие?
На одном из сайтов читал, что нужно прописывать что-то вроде

Для Каждого Элемент Из МассивОбъектов Цикл
   Здесь я так и не понял что писать
КонецЦикла

Или если документ 1 то
МассивОбъектов(0)=СсылкаНаОбъект;

А В цикле что писать? СсылкаНаОбъект=Элемент??
 

Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
Для Каждого Элемент Из МассивОбъектов Цикл
   Здесь я так и не понял что писать
КонецЦикла

Или если документ 1 то
МассивОбъектов(0)=СсылкаНаОбъект;

А В цикле что писать? СсылкаНаОбъект=Элемент??
это может потребоваться в случае если применяется групповая печать, для этого у меня в запросе включены итоги по регистратору, а также вставляется разделитель страниц,
хотя я сам не пробовал, но я думаю можно сделать ч\з цикл
Для Сч=1 Из МассивОбъектов.Количество() Цикл
//Запрос...
Запрос.УстановитьПараметр("Ссылка", МассивОбъектов[Сч]);   
КонецЦикла
но зачем гонять лишний раз цикл если можно в одном запросе выбрать по всем объектам, а затем разделять их уже на уровне макета печатной формы


Теги:
 

Нужна помощь про "Отчет о смене без гашение" и "Z отчет"

Автор Serg85Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 3759
Последний ответ 23 Ноя 2014, 12:36
от дфтын
Ребята, срочно нужна помощь. Какую процедуру нужно написать в форме справочника, чтобы таблица заполнялась данными из другого справочника?

Автор Олька БякинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2758
Последний ответ 27 Май 2016, 15:19
от Олька Бякина
Нужна помощь по "Управление торговлей 10.3"

Автор werstakРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1972
Последний ответ 26 Мар 2011, 12:50
от werstak
Нужна ВПФ - дайте рыбу "СчетНаОплатуПокупателю" для 1с 8.2. УТ 10

Автор Anton99Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3327
Последний ответ 09 Окт 2011, 20:25
от Anton99
Кому нужна инф. по конфе "Конвертация"

Автор ВоронкинРаздел Закрытые темы

Ответов: 2
Просмотров: 3814
Последний ответ 09 Фев 2012, 19:38
от Столяр

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
175 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 178
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal