Создание внешних печатных форм под управляемым приложением с нуля

Публикация № 286059 05.06.14

Разработка - Инструментарий разработчика

8.3 внешняя печатная форма Бухгалтерия предприятия 3.0 БП программирование в

Когда мне пришлось создавать внешние печатные формы под приложения на БСП ("1С: Бухгалтерия предприятия 3.0", "1С: Управление торговлей 11"), я обнаружил, что нет грамотных инструкций. Те, что имелись, использовали так называемые шаблоны: готовые обработки, в которых необходимо выполнять определенные корректировки. Но как создать сам шаблон, конкретных мануалов не было, справочную информацию я нашел на сайте ИТС и, обработав ее, написал статью, где подробно и понятно объясняются все этапы создания внешней печатной формы для управляемого приложения на примере конфигурации "1С: Бухгалтерия предприятия 3.0"

UPD Статья и обработки к ней обновлены на февраль 2019 года

UPD 25.03.2019 Добавлены примеры внешних печатных форм для УТ 11.4

В этой статье мы научимся создавать внешнюю печатную форму для "1С: Бухгалтерия предприятия 3.0". Причем создавать с нуля, не используя так называемые шаблоны. Вы сами научитесь создавать шаблоны внешних печатных форм.

Все это делается довольно просто))

И так, создадим новую обработку.

Мы будем создавать внешний счет на оплату покупателю, поэтому обработку так и назовем: «СчетНаОплатуВнешний».

 

 

 Сохраним ее на жесткий диск.

Регистрация внешней обработки или отчета в базе 1С осуществляется на основании сведений, которые поставляет сама обработка. Поэтому эти сведения должны быть описаны в обработке. Осуществляется это с помощью структуры, которая имеет определенный набор полей, и которая возвращается экспортной функций СведенияОВнешнейОбработке.

Зайдем в модуль обработки, и создадим экспортную функцию СведенияОВнешнейОбработке.

Функция СведенияОВнешнейОбработке() Экспорт 
	
КонецФункции

Внутри этой функции создадим структуру ПараметрыРегистрации, которая будет содержать определенный список полей. Каждое поле мы разберем в отдельности.

Функция СведенияОВнешнейОбработке() Экспорт 
	
	ПараметрыРегистрации = Новый Структура;
	
КонецФункции

Создадим первый элемент структуры, он будет иметь ключ с название «Вид».

ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид",);

Значением данной связки КлючИЗначение идет одна из строк:

  • «ДополнительнаяОбработка»
  • «ДополнительныйОтчет»
  • «ЗаполнениеОбъекта»
  • «Отчет»
  • «ПечатнаяФорма»
  • «СозданиеСвязанныхОбъектов»

В нашем случае должна быть строка "ПечатнаяФорма".

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

 Следующий элемент структуры должен иметь ключ с названием Назначение.

ПараметрыРегистрации.Вставить("Вид","ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение",);

В качестве значения данного элемента должен выступать массив, где перечислены будут все документы или справочники, в которых будет выходить данная печатная форма.

Они должны иметь тип строка, и быть в следующем формате:

Документ."НазваниеДокумента"

Справочник."НазваниеСправочника"

У нас этот массив будет возвращать отдельная функция ПолучитьНазначениеОбработки.

Создадим ее.

Функция ПолучитьНазначениеОбработки()
	Массив = Новый Массив;
	Массив.Добавить("Документ.СчетНаОплатуПокупателю");
	
	Возврат Массив;
КонецФункции	

Допишем созданный последним элемент структуры.

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

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

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

Следующий элемент структуры будет иметь название «Версия»,  значением данного элемента будет версия обработки. Задается программистом на его усмотрение.

ПараметрыРегистрации.Вставить("Вид","ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение",ПолучитьНазначениеОбработки());
ПараметрыРегистрации.Вставить("Наименование","Счет на оплату ВНЕШНИЙ");
ПараметрыРегистрации.Вставить("Версия","1.0");

 Следующий элемент имеет название «Информация», который содержит краткую информацию по обработке.

ПараметрыРегистрации.Вставить("Вид","ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение",ПолучитьНазначениеОбработки());
ПараметрыРегистрации.Вставить("Наименование","Счет на оплату ВНЕШНИЙ");
ПараметрыРегистрации.Вставить("Версия","1.0");
ПараметрыРегистрации.Вставить("Информация","Счет на оплату (внешняя печатная форма)");

 Следующий элемент имеет название «БезопасныйРежим», его необходим устанавливать в значение истина или ложь, в зависимости от того необходимо устанавливать или отключать безопасный режим во время выполнения обработки. Мы установим значение  Истина.

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

И в последнем параметре необходимо добавить команды, которые будут поставляться обработкой.  Для этого нам необходимо создать и заполнить таблицу команд. Разработаем функцию, которая создает и возвращает таблицу с определенным набором полей. Делать это будем в функции ПолучитьТаблицуКоманд.

Создадим функцию и таблицу значений внутри нее.

Функция ПолучитьТаблицуКоманд() 
	
	Команды = Новый ТаблицаЗначений;
	
КонецФункции	

Теперь создадим пять колонок этой таблицы.

И первая колонка – Представление (тип строка).

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

Эта колонка – представление команды в пользовательском интерфейсе, т.е. то, что пользователь увидит при нажатии меню"Печать" в документе или справочнике.

Вторая колонка – Идентификатор.

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

Это может быть любая текстовая строка, уникальная в пределах данной обработки.

Третья колонка – Использование.

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

Параметр данной колонки типа строка, должен принимать одно из четырех  значений –

  • ОткрытиеФормы – Открывает форму обработки.
  • ВызовКлиентскогоМетода – будет вызвана клиентская процедура из модуля формы обработки.
  • ВызовСерверногоМетода  - будет вызвана серверная процедура из модуля обработки.
  • СценарийВБезопасномРежиме – тоже будет вызвана серверная процедура из модуля обработки в безопасном режиме.

 

Конкретно мы будем использовать вызов серверного метода.

Следующая колонка – показывать оповещение. Принимает значение истина или ложь, в зависимости от того надо показывать оповещение или нет.

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

И последняя колонка – модификатор. Это дополнительный модификатор команды. В нашем случае будет иметь название ПечатьXML.

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

КонецФункции

Теперь создадим процедуру, которая будет заполнять данную таблицу значений.


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

 

В данном коде все понятно.

 В функции СведенияОВнешнейОбработке создадим команду и заполним ее.

Создаем таблицу значений: 

//....
ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина);
	
Команды = ПолучитьТаблицуКоманд();

Теперь заполним ее.

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

ДобавитьКоманду(Команды,"Счет на оплату (внешняя печатная форма)",
						"СчетНаОплатуВнешний",
						"ВызовСерверногоМетода",
						Ложь,
					    "ПечатьMXL");

Еще раз пройдемся по параметрам.

  • Первый параметр, непосредственно таблица команд вновь созданная.
  • Второй параметр, как будет отображаться команда пользователю на форме (документа, справочника).
  • Третий – уникальный идентификатор команды, запомните его, он нам еще пригодится!
  • Четвертый параметр – использование, что вызовет Ваша команда.
  • Пятый  параметр – показывать оповещение, мы не будем это делать.
  • Шестой параметр – модификатор, в нашем случае он всегда один ПечатьXML.

Теперь передадим вновь созданную таблицу команд в структуру ПараметрыРегистрации.

И пусть наша функция СведенияОВнешнейОбработке возвращает данную структуру.

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

Все теперь наша обработка будет передавать нужные параметры регистрации, которые будут необходимы при создании элемента справочника дополнительные печатные формы и обработки. Обращаю ваше внимание, что название всех полей в структуре Параметры регистрации, а также название и типы всех колонок в таблице команд, должны быть те которые приведены в примере, иначе Ваша обработка не зарегистрируется.

Теперь в модуле объекта создадим процедуру Печать. Это процедура с четырьмя параметрами: МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода.

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт 
	
КонецПроцедуры	

И вот начинается самое интересное, теперь вам необходимо войти в аналогичную процедуру в менеджере объекта счет на оплату покупателю, или в обработке, которая, по сути, является менеджером печати. 

Как узнать, где находится нужная нам функция? 

Откроем модуль менеджера документа Счет на оплату покупателю.

 

И найдем процедуру ДобавитьКомандыПечати, которая заполняет список команд .

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

Посмотрим на процедуру ДобавитьКомандыПечати в модуле менеджера документа "Счет на оплату покупателя".

Поскольку мы делаем внешнюю печатную форму счета на оплату, то нас интересует первое добавление в таблицу значений (см. свойство Представление), и мы видим, что в этом случае заполнено свойство МенеджерПечати, где указан объект Обработка.ПечатьСчетаНаОплату. Это значит, что нам нужно найти процедуру Печать в модуле  менеджера обработки ПечатьСчетаНаОплату. 

А если бы мы решили сделать внешнюю печатную форму договора счета на оплату (второе добавление в таблицу значений КомандыПечати), то нам нужно было бы найти процедуру Печать в модуле менеджера документа СчетНаОплатуПокупателя.

Откроем модуль менеджера обработки ПечатьСчетаНаОплату.

И раскроем процедуру Печать.

Нас интересует второе условие (где фигурирует строка "СчетЗаказ", см. идентификатор нужной команды в процедуре ДобавитьКомандыПечати  модуля менеджера документа), скопируем это условие в процедуру Печать нашей внешней обработки.

Внимание! Копировать напрямую процедуру Печать из модуля менеджера (без разницы обработка это, документ или справочник) не следует. Поскольку у них отличается количество параметров, в последствие это приводит к ошибкам при работе.

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

Так же из модуля менеджера обработки скопируем процедуру СформироватьПечатнуюФорму.


Процедура СформироватьПечатнуюФорму(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ОбъектыПечати, ПараметрыВывода)
	
	ТипыОбъектов = ОбщегоНазначенияБП.РазложитьСписокПоТипамОбъектов(МассивОбъектов);
	
	Для каждого ОбъектыТипа Из ТипыОбъектов Цикл
		
		МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(ОбъектыТипа.Значение[0]);
		
		ДокументыБезСчетовНаОплату = Неопределено;
		ТаблицаСведенийСчетНаОплату = МенеджерОбъекта.ПолучитьТаблицуСведенийСчетаНаОплату(ОбъектыТипа.Значение, ДокументыБезСчетовНаОплату);
		
		Если ЗначениеЗаполнено(ДокументыБезСчетовНаОплату) Тогда 
			Если ПараметрыПечати.Свойство("СокращенноеСообщениеОбОшибке") Тогда
				ВывестиСообщениеНеУказанСчетНаОплату(ДокументыБезСчетовНаОплату, ПараметрыПечати.СокращенноеСообщениеОбОшибке);
			Иначе
				ВывестиСообщениеНеУказанСчетНаОплату(ДокументыБезСчетовНаОплату);
			КонецЕсли;
		КонецЕсли;
		
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, 
			ПечатьТорговыхДокументов.ПечатьСчетаНаОплату(ТаблицаСведенийСчетНаОплату, ОбъектыПечати, ПараметрыПечати),,"ОбщийМакет.ПФ_MXL_СчетЗаказ");
			
	КонецЦикла;
	
	ПараметрыВывода.Вставить("ФормироватьЭД", Истина);
	
	ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов,
		КоллекцияПечатныхФорм,
		ОбъектыПечати,
		ПараметрыВывода);
	
КонецПроцедуры

	

В этом коде есть строка, где заполняется таблица сведений счета на оплату.

ТаблицаСведенийСчетНаОплату = МенеджерОбъекта.ПолучитьТаблицуСведенийСчетаНаОплату(ОбъектыТипа.Значение, ДокументыБезСчетовНаОплату);

Эта таблица получается при помощи функции модуля менеджера объекта (в нашем случае это документ СчетНаОплатуПокупателю). Найдем эту функцию в модуле менеджера документа СчетНаОплатуПокупателю.

И скопируем её в модель нашей внешней обработки.

А сам код процедуры СформироватьПечатнуюФорму в модуле внешней обработки исправим, убрав все не нужное от туда.

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

Если мы сейчас сделаем проверку модуля внешней обработки, то выйдет две ошибки. Первая, что не определена переменная ПараметрыПечати в процедуре Печать, и, что не найдена функция ПолучитьТекстЗапросаДляФормированияТаблицыСведенийСчетаНаОплату в функции ПолучитьТаблицуСведенийСчетаНаОплату. 

Создадим переменную ПараметрыПечати в процедуре Печать. Это будет простая структура.

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

А потом найдем функцию ПолучитьТекстЗапросаДляФормированияТаблицыСведенийСчетаНаОплату в модуле менеджера документа  СчетНаОплатуПокупателю и скопируем её в модуль внешней обработки.

Должен получится следующий состав процедур и функций модуля внешней обработки (для удобства я разделил их на две области). 

Еще раз делаем проверку модуля. Ошибок не обнаружено.

Продолжаем, теперь нам необходимо, что бы брался наш макет, и печатался по нашей команде.

Нас интересует процедура СформироватьПечатнуюФорму, а в ней мы уделим внимание методу ПечатьСчетаНаОплату общего модуля ПечатьТорговыхДокументов.

Очевидно, она непосредственно формирует табличный документ. Перейдем в этот общий модуль, и скопируем функцию ПечатьСчетаНаОплату в модуль нашей внешней обработки.

Делаем проверку модуля внешней обработки. Ругается на несуществующие методы ВывестиЗаголовокПредупреждение и НомерСчетаНаОплату.

 

Переходим в общий модуль, от куда мы взяли функцию ПечатьСчетаНаОплату, находим процедуру ВывестиЗаголовокПредупреждение , и копируем ее в модуль внешней обработки.

А функция НомерСчетаНаОплату в общем модуле ПечатьТорговыхДокументов экспортная, поэтому мы просто исправим код в процедуре ПечатьСчетаНаОплату, где используется проблемная функция, сделав вызов этой функции из вышеупомянутого общего модуля.

НомерДокумента = ПечатьТорговыхДокументов.НомерСчетаНаОплату(СведенияОДокументе.ГосударственныйКонтракт, СведенияОДокументе.НомерДокумента);

Проверяем еще раз ошибки. Все нормально.

Не забудем в процедуре СформироватьПечатнуюФорму убрать вызов метода ПечатьСчетаНаОплату из общего модуля.

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

Теперь зайдем в скопированную функцию ПечатьСчетаНаОплату, и посмотрим, где в ней подтягивается макет.

Находим данный макет в общих макетах и копируем его в макеты нашей обработки.

Исправляем выделенный код, где подтягивается макет, следующий образом.

Макет = ПолучитьМакет("ПФ_MXL_СчетЗаказ");

Теперь зайдем в наш скопированный макет, и сделаем какое-нибудь изменение, чтобы вы видели, что команда подтянула именно макет из внешней обработки.

Вернемся обратно в процедуру Печать нашей внешней обработки.

И теперь осталась одна небольшая хитрость, без которой ваш внешний отчет не будет работать. Необходимо текст "СчетЗаказ" (это идентификатор типовой печатной формы).

 Заменить на название идентификатора команды ("СчетНаОплатуВнешний").

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт 
	
	ПараметрыПечати = Новый Структура;
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетНаОплатуВнешний") Тогда
		СформироватьПечатнуюФорму(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, "СчетНаОплатуВнешний", "Счет на оплату",
			ОбъектыПечати, ПараметрыВывода);
	КонецЕсли;
	
КонецПроцедуры	

Все, сохраняем данную обработку. И запускаем "1С: Предприятие" из конфигуратора.

Идем в администрирование. В дополнительные отчеты и обработки.

Нажимаем на кнопку "Добавить из файла" и выбираем нашу созданную обработку.

Записываем. И смотрим, как выходит наша печатная форма.

Оригинал статьи

Ниже приведены примеры внешних печатных форм для конфигураций:

"1С: Бухгалтерия предприятия" (релиз 3.0.67.67).

  • Счета на оплату,
  • ТОРГ 12, 
  • ПКО ,
  • М11  и Требование накладная в одной обработке (документ Требование накладная).

"1С: Управление торговлей 11.4" (релиз 11.4.6.230).

  • Счет на оплату (для документов Счета на оплату и Заказы клиенту, выполняется в небезопасном режиме из-за использования штрих-кода)
  • ТОРГ12 (для документа Реализация товаров и услуг, выполняется в небезопасном режиме из-за использования штрих-кода, три команды: печать простая, печать с гтд, печать без услуг)
  • УПД  (для документа Реализация товаров и услуг и Счет-фактура выданная, выполняется в небезопасном режиме из-за использования штрих-кода)

Скачать файлы

Наименование Файл Версия Размер
Счет на оплату (для документа "Счет на оплату Покупателю") БП 3.0

.epf 16,03Kb
87
.epf 16,03Kb 87 Скачать
ТОРГ 12 (для документа "Реализация товаров и услуг") БП 3.0

.epf 19,79Kb
19
.epf 19,79Kb 19 Скачать
ПКО (для документа "Приходно кассовый ордер") БП 3.0

.epf 11,51Kb
13
.epf 11,51Kb 13 Скачать
Требование накладная + М11 (для документа "Требование накладная") БП 3.0

.epf 14,39Kb
14
.epf 14,39Kb 14 Скачать
Счет на оплату (для документов "Счета на оплату" и "Заказы клиенту") УТ 11.4

.epf 23,76Kb
52
.epf 23,76Kb 52 Скачать
ТОРГ 12 (для документа "Реализация товаров и услуг") УТ 11.4

.epf 26,71Kb
22
.epf 26,71Kb 22 Скачать
УПД (для документа "Реализация товаров и услуг" и "Счет-фактура выданный") УТ 11.4

.epf 39,21Kb
19
.epf 39,21Kb 19 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. slazzy 42 05.06.14 15:14 Сейчас в теме
спасибо тебе, мил человек. Полезное дело делаешь
VAAngelov; avmironov; АлексейКузьмин; user892609; Mechanik21; uk09; Progerok; signum2009; ntc75; sitec; alex-l19041; Logarifm_Andre; maxli28; Мах; requin; turinx; +16 Ответить
2. Yimaida 36 06.06.14 00:56 Сейчас в теме
Очень полезная статья. Понятная и наглядная инструкция. Не будет лишней даже для тех, кто уже создавал ВПФ. Вот неплохая статья на эту же тему http://programmist1s.ru/vneshnie-pechatnyie-formyi-v-1s/. Т.е. за основу понимания создания ВПФ можно брать БСП (Библиотека стандартных подсистем).
avmironov; VAAngelov; user751607; user892609; uk09; Progerok; signum2009; ntc75; Alex17; Lena272; inanity; hatabvm; Mozgolom1988; Дмитрий74Чел; RustIG; vittany; neyasytyf; greenders71; rafman11; Mi4man; toxicoff; +21 Ответить
3. AleksSF 212 06.06.14 10:27 Сейчас в теме
Не совсем корректное название статьи
"Создание внешних печатных форм под управляемым приложением с нуля"
Правильно было бы "Создание внешних печатных форм под управляемым приложением на основе готовых".
В статье разобрано только как описать ВПФ и скопировать в нее готовые процедуры и функции.
Это хорошо когда нужно изменить макет под свои нужды на основе данных которые формирует стандартная форма.
Но если нужна ВПФ с данными, которых нет в стандартной форме, например СчетЗаказ в котором пропечатывается текущий долг Контрагента. То уже необходимо вносить изменения в функции печати, в запрос и т.д. А вот эти вопросы к сожалению не разобраны.
VAAngelov; ntc75; Babylka; agentesecreto; klaus38; +5 Ответить
4. signum2009 984 06.06.14 11:21 Сейчас в теме
(3) AleksSF, Да согласен, что статья несколько минимизирована, но если непосредственно править данные, то нужно править именно те процедуры и функции, которые скопированы, а тут может быть очень большое поле для деятельности....я думал о том что бы упомянуть это в статье, но посчитал что в принципе это будет понятно)) да и к тому же, работа с данными в тех же БП 3 и УТ 11 очень сильно отличается, по этому по идее нужно писать две статьи: создание ВПФ с корректированием данных для БП, и создание ВПФ с корректированием данных для УТ 11. В принципе есть такая идея, но нужна ли она людям?
Talim; ntc75; syergio; Natali_77; +4 Ответить
5. welard 06.06.14 18:48 Сейчас в теме
(4)signum2009, конечно нужна. Потому как с внешними печатными формами на основе стандартных все же проще дела обстоят. Писать мало, в основном копировать. А вот если нужны допданные вывести на форму, или еще "веселее" выбрать какие то параметры перед выводом на печать (как в 1-Т или транспортной накладной), вот тут то проблемы и начинаются.
Filkkore; ntc75; Logarifm_Andre; Aili; +4 1 Ответить
6. pahich 681 09.06.14 00:27 Сейчас в теме
(5) welard, Не вижу сложности. Если Вы - пишущий программист 1С, но ни разу не создавали ВПФ для УФ, то прочтение данной статьи заполнит брешь "как сделать", а уж что откуда взять и куда вывести, с такими моментами у Вас сложностей возникнуть не должно.

(4) на мой взгляд, дополнительных статей с "разжовыванием" получения данных не надо. Данные меняются гораздо чаще чем механизм создания ВПФ. Спасибо за статью!
avmironov; user1583894; ntc75; Патриот; Артано; KSy; AzagTot; spetzpozh; +8 Ответить
7. Solovyeff 09.06.14 01:54 Сейчас в теме
Эту бы статью, да несколько месяцев назад, не пришлось бы тратить часы на поиск информации (довольно таки длительный поиск), с другой стороны это позволяет лучше усвоить материал, когда сам ищешь по крупицам и создаешь полную картину, но то дело вкуса и количества свободного времени) Автору однозначно плюс.
ntc75; Алексей_mir2mb; +2 Ответить
8. burlakov 76 09.06.14 13:20 Сейчас в теме
очень хорошая статья! спасибо! напишите продолжение про использование скд на внешке. сам разбирался - все нетривиально несколько.
avmironov; +1 Ответить
9. AzagTot 40 09.06.14 15:58 Сейчас в теме
Автору спасибо за труд! Полезная статья.
avmironov; ntc75; syergio; +3 Ответить
10. Bambini23 2 09.06.14 16:56 Сейчас в теме
Добрый день!
Спасибо за статью - полезно! Все по полочкам разложено.
А у меня вот какой вопрос, может быть не совсем по теме. Когда мы печатаем выводим стандартную печатную форму в ут, вызывается обработка.ПечатьСчетовНаОплату. А когда печатаем через внешнюю естественно, вызова этой обработки не происходит. Зачем это надо? Допустим я собираюсь делать отправку по электронной почте, и в случае печати через эту обработку, у меня автоматом подбираются контактные лица. А если печатать просто внешнюю форму, естественно, что никакие контактные лица не выбираются.
Не пробовали делать впф через вызов этой самой обработки?
11. Bambini23 2 09.06.14 17:02 Сейчас в теме
Прошу прощения=) Вопрос снят. После чашечки кофе голова соображает в разы лучше=)
12. opus70 73 10.06.14 09:35 Сейчас в теме
прошу прощения а кто нибуть подскажет как программно распечатать внешнию печатную форму
т.е. хочу на форму добавить кнопку и по этой кнопке распечатать внешнию печатную форму
давно ищу ответ на этот вопрос
33. Патриот 426 30.06.14 14:03 Сейчас в теме
(12) opus70, может я что не так понял, в чём сложность? создаёшь команду в модуле формы, на основе команды элемент формы и нижеследующие процедуры:
&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервереБезКонтекста
Процедура Команда1НаСервере()
	ОбработкаОбъект = ВнешниеОбработки.Создать("Полный путь к файлу ВПФ",);
	ОбработкаОбъект.Печать();
КонецПроцедуры
Показать


Автору статьи плюс, естественно)
avmironov; +1 Ответить
13. vicmos 42 10.06.14 10:22 Сейчас в теме
14. M.Nikitin 2 10.06.14 18:29 Сейчас в теме
Спасибо, полезный материал!
49. Hilda Fildgerald 22.12.14 16:37 Сейчас в теме
Добрый день! Вопрос вам как к эксперту. Ваша внешняя печатная форма счета работает после обновления БП 3.0 на релиз 3.0.37.32? Моя отказалась, ошибка:
ВнешняяОбработка.ЗаявкаПокупателяЮрЛицоНовый.МодульОбъекта(14)}:
Метод объекта не обнаружен (ПолучитьДанныеФайлаИДвоичныеДанные)
ДанныеКартинки = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаИДвоичныеДанные(Организация.ФайлЛоготип); логотипов и картинок нет, почитав форум нашла пост где рекомендовано убрать из ПолучитьДанныеФайлаИДвоичныеДанные(Организация.ФайлЛоготип) слово Получить. Эта ошибка проскочила, но следующая: {ВнешняяОбработка.ЗаявкаПокупателяЧастноеЛицоНовый.МодульОбъекта(573)}:
Поле объекта не обнаружено (ФИОПредпринимателя)
ОбластьМакета.Параметры.ФИОПредпринимателя = СведенияОПолучателе.ФИОПредпринимателя;
Вот и не знаю что делать? Может подскажите что?
15. Yashazz 4476 10.06.14 21:32 Сейчас в теме
Хочется минуснуть за то, что код представлен картинками и за то, что баян, ибо видел подобное на Мисте ещё в лохматые времена.

Не вижу особой сложности - сам с этими новыми форматами разобрался без проблем в 2009-м, заняло от силы полдня.
maxli28; KapasMordorov; wolfsoft; +3 5 Ответить
19. wolfsoft 2424 11.06.14 09:42 Сейчас в теме
(15) Поддержу. Начало было интересное, думал наконец-то статья систематизирующая, а в итоге разобран пример создания простейшей печатной формы, которую вполне можно сделать самому, взяв за основу любую внешнюю форму, даже если до этого ни разу их не делал, там всё интуитивно понятно.
16. markovki 19 11.06.14 08:38 Сейчас в теме
Плюсанул конечно за полезную статью и труды, но код картинками...
17. пользователь 11.06.14 09:06
Сообщение было скрыто модератором.
...
80. пользователь 28.06.16 18:20
Сообщение было скрыто модератором.
...
18. maldinitaly 11.06.14 09:22 Сейчас в теме
Спасибо, автору за труды и конечно плюс. Очень полезная статья.
20. FractonKireyev 11.06.14 09:59 Сейчас в теме
Статья полезная! Пробел в знаниях на тему "как сделать" закрывает хорошо. А всё остальное (где взять данные, как вывести на печать и прочее) - это не тема для таких статей, это в каждой задаче индивидуально!
За такую статью однозначно спасибо и плюс.
Idris1204; Vida; +2 Ответить
21. ignor 235 11.06.14 10:01 Сейчас в теме
Не плюсую. Мне интересна тема организации ВПФ с опцией "ОткрытиеФормы", а она нигде толком не раскрыта. Мне надо что бы у пользователя при вызове открывалась некая моя форма.
Vida; syergio; +2 Ответить
25. bydk 11.06.14 16:10 Сейчас в теме
В конфигурации основанной на БСП 2.1+ функция СведенияОВнешнейОбработке() будет выглядеть так:
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Версия = "0.6";
	ПараметрыРегистрации.БезопасныйРежим = Истина;
	ПараметрыРегистрации.Назначение.Добавить("Документ._ДемоСчетНаОплатуПокупателю");
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Счет на оплату'");
	НоваяКоманда.Идентификатор = "СчетЗаказ";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "ПечатьMXL";
Показать

Примеры почти всех видов внешних обработок можно посмотреть в Демо по БСП.

(21) ignor, (22) Roby, про предварительное открытие формы можно почитать здесь!
avmironov; Vida; NoRazum; Мах; Puk2; +5 Ответить
28. Roby 31 16.06.14 09:15 Сейчас в теме
(25) bydk, спасибо, как раз то, что нужно
106. Vida 15 13.02.19 23:38 Сейчас в теме
108. signum2009 984 14.02.19 07:14 Сейчас в теме
(106) Может это поможет

https://infostart.ru/public/295368/

Правда, статья старая, еще не обновил
22. Roby 31 11.06.14 13:21 Сейчас в теме
Мне тоже очень интересна тема организации ВПФ с опцией "ОткрытиеФормы". Допустим, указала эту опцию и форма открылась. Что дальше? как пустить на печать?
23. Styvi 6 11.06.14 14:11 Сейчас в теме
24. AganinEvgeniy 2 11.06.14 15:58 Сейчас в теме
Спасибо автору за хорошо разобранный пример, который удобно использовать для начала экспериментов! Все понятно и доступно.
26. DAnry 8 12.06.14 00:08 Сейчас в теме
Спасибо, грамотная статья. Работаю в основном с обычными формами, но приходится переходить понемногу на управляемые.
27. qwed557 30 13.06.14 17:21 Сейчас в теме
Что такое модификатор - ПечатьXML, почему во всех печатках именно так называется, где это используется, где к этому модифиатору идет обращение?
29. Oleg1708 16.06.14 12:05 Сейчас в теме
Жаль что механизм ВПФ меняется быстро.
А параметр Использование = "Открытие Формы" только в последних версиях БПС работает.
30. AlX0id 18.06.14 11:34 Сейчас в теме
Плюс за доходчивость изложения - буду проггерам начинающим рекомендовать )
А то описание БСП конечно хорошо, но тяжеловато в усвоении.
31. Algiz 23.06.14 00:49 Сейчас в теме
Спасибо за статью, полезно к усвоению, ну и как заметка теперь будет
32. AlexeyPapanov 447 30.06.14 10:44 Сейчас в теме
Очень доступная статья. Спасибо автору!
34. chmv 30.06.14 16:27 Сейчас в теме
35. warrior1985 67 30.06.14 19:44 Сейчас в теме
Огромнейшее спасибо Аффтору! Все разложено по полочкам, если времени особо нет, то пригодится для быстрого получения практических навыков создания внешних печатных форм на платформе 1С: Предприятие 8.3.
36. KliMich 30.06.14 20:15 Сейчас в теме
Спасибо! Очень полезно и познавательно!
Маленькая просьба. У меня одному клиенту захотелось, чтобы счет формировался не в XML, а в Word...
Можно ли в данной статье осветить еще и такой вариант?
39. Puk2 187 02.07.14 09:26 Сейчас в теме
(36) KliMich, во-первых, примеры различных видов внешних отчетов, обработок и печатных форм можно увидеть в самой конфигурации БСП в разделе Администрирование - Печатные формы, отчеты и обработки (users.v8.1c.ru\..\SSL22); во-вторых, если нет доступа в ИТС, то напишите в личку - отправлю обработку _ДемоДополнительнаяОбработкаПечатиMSWordНазначаемая.epf
37. q_i 548 30.06.14 21:33 Сейчас в теме
Хорошо написано.
Только не очень понял вот что:
Следующий элемент имеет название «БезопасныйРежим», его необходим устанавливать в значение истина или ложь, в зависимости от того необходимо устанавливать или отключать безопасный режим во время выполнения обработки. Мы установим значение Ложь.

а в самом коде:
ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина);

38. KliMich 01.07.14 00:57 Сейчас в теме
Обычно устанавливается
ПараметрыРегистрации.Вставить("БезопасныйРежим",Истина);

Но иногда требуется установить "БезопасныйРежим" в Ложь, когда используются какие либо внешние компоненты или .dll (также могут вытаскиваться из макета)
У меня потребовалась данная установка, когда во внешней печатной форме "Трудового догора" потребовалось применять СКЛОНЕНИЯ.
40. Algiz 04.07.14 12:20 Сейчас в теме
Спасибо, позновательная статья
41. wolverine87 04.08.14 16:40 Сейчас в теме
Спасибо большое. Много познавательного и исчерпывающе. Автору +1))
42. tindir 06.08.14 09:05 Сейчас в теме
Отлично "расписано" как собрать на коленке простейшую ВПФ для УФ. НО это уже давно есть на ИТС. А вот чего толком нет на ИТС, это - как пользоваться остальными видами Внешних обработок. Вот такую бы статью. Это было бы вооще "щиколад"!
43. maiUsik 06.08.14 09:36 Сейчас в теме
Добрый день!
Только начинаю разбираться с ВПФ, сделала все как описано в статье, но при попытке вывести документ на печать появляется следующая ошибка:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(221)}: Недостаточно фактических параметров ВнешняяОбработкаОбъект.Печать(
Подскажите, пожалуйста, что нужно поправить, не могу сообразить :-(

newvideo; +1 Ответить
44. signum2009 984 06.08.14 19:42 Сейчас в теме
(43) maiUsik, вот так должно быть:

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

ЗЫ по остальным вопросам, готовлю статью, о возможности создания ВПФ с вводом дополнительных параметров.
Так как прямого способа решения данной задачи с использованием БСП нет, то будет предложено три альтернативных метода...
Vida; Ateterev; alexn62rus; niko75; +4 Ответить
45. maiUsik 07.08.14 08:33 Сейчас в теме
(44)
Все получилось, спасибо большое! :-)
69. ovt256 20.11.15 12:26 Сейчас в теме
(44)
За статью спасибо!
Пытаюсь в УТ 11 по аналогии создать ВПФ Счет из Заказа клиента. Столкнулся с аналогичной ошибкой. Убрал по Вашей рекомендации параметр "ПараметрыПечати" из Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Теперь ошибка следующего вида:
{ВнешняяОбработка.СчетДоговорВнешний.МодульОбъекта(56,73)}: Переменная не определена (ПараметрыПечати)
СформироватьПечатнуюФормуСчетНаОплату(СтруктураТипов, ОбъектыПечати, <<?>>ПараметрыПечати)); (Проверка: Сервер)
46. signum2009 984 08.08.14 12:09 Сейчас в теме
Вот продолжение этой статьи: http://infostart.ru/public/295368/
где будет предложено два способа создать ВПФ с возможностью передачи параметров.
Vida; syergio; Ateterev; +3 Ответить
47. niko75 15.09.14 10:54 Сейчас в теме
Все превосходно написано. Возникает ошибка:

{Обработка.СчетНаОплату1.МодульОбъекта(268,7)}: Слишком много фактических параметров (ДобавитьКоманду)
<<?>>"ПечатьMXL"); (Проверка: Толстый клиент (обычное приложение))

Помогите разобраться.
48. niko75 16.09.14 10:49 Сейчас в теме
Разобрался, несколько раз код переписывал, копировал - вставлял, в итоге ругаться перестал.
50. signum2009 984 23.12.14 07:44 Сейчас в теме
Да там изменилась структура процедур печати, необходимо переделать обработку...
51. Hilda Fildgerald 23.12.14 14:34 Сейчас в теме
Вот с этим-то и проблема. Я бухгалтер, а не программист.
52. Natali_77 17.01.15 13:21 Сейчас в теме
Спасибо огромное за статью! С её помощью без проблем создала внешнюю печатную форму,хотя в 8.3 ни разу не работала, только в 8.1. Спасибо, что делитесь таким важным опытом! Всё доходчиво и без заморочек!
53. korppinen 65 18.01.15 13:13 Сейчас в теме
54. hladograd 21.01.15 09:12 Сейчас в теме
Спасибо за статью, все работает.
55. KindLion 28.01.15 10:18 Сейчас в теме
Большое спасибо за классную статью!
56. pavelyar 30.01.15 12:51 Сейчас в теме
57. СержТ 04.02.15 11:29 Сейчас в теме
Спасибо. Познавательно.
58. mike581 11.02.15 19:58 Сейчас в теме
ВПФ на УФ создавал, но как-то интуитивно. А теперь буду осознано. Полезная статья. Спасибо.
59. lamp 29 06.04.15 16:59 Сейчас в теме
Спасибо автору, полезная статья. Проследовал по всем пунктам и получил результат.
60. ccserg 59 10.04.15 09:54 Сейчас в теме
Спасибо !
БГУ 2.0 не подключается обработка -Слишком много фактических параметров
в ошибке не видно на что ругается , где искать ?
61. cheiser1982 102 18.05.15 10:42 Сейчас в теме
Подскажите, как можно отладить работу внешней печатной формы?
63. Nik_novosib 18.06.15 17:22 Сейчас в теме
(61) cheiser1982, Вот здесь посмотрите: http://www.obrabotki.com/otladka-bsp-1s/ За пару шагов получаете возможность отладки, причем режим отладки перезапускать не нужно.
62. cdover 05.06.15 17:38 Сейчас в теме
Подскажите пожалуйста, у вас после добавления печ формы в справочник, она появилась в меню Печать документа как непосредственно печатная форма, а у меня как строка "Дополнительные печатные формы" по нажатию на которую у меня открывается выбор печатной формы которую я хочу запустить. Как можно убрать этот лишний выбор, тобы как у вас на картинках выбиралась непосредственно печатная форма из меню Печать?
И как можно заменить стандартную печатную форму в меню Печать, на внешнюю из справочника?

код в модуле объекта
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Документ.усПриемка"); 
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
        СозданиеСвязанныхОбъектов... 
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Приемный лист (Внешний)");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
	ПараметрыРегистрации.Вставить("Версия", "1.0"); 
	ПараметрыРегистрации.Вставить("Информация", "Приемный лист с корректировками"); 
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	ДобавитьКоманду(ТаблицаКоманд, "Приемный лист (Внешний)", "ПриемныйЛистВнешний", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

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

КонецФункции

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

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

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

КонецПроцедуры
Показать
Прикрепленные файлы:
64. Nik_novosib 18.06.15 17:27 Сейчас в теме
(62) cdover, А что за конфигурация? Нужно смотреть какая версия БСП. Заменить вряд ли получится без снятие с поддержки. Кнопку "печать" платформа на КП выводит сама если не ошибаюсь.
P.S. Сам сейчас разбираюсь ВО. Могу ошибаться.
65. Maratuster 14.10.15 06:51 Сейчас в теме
Перевод внешних печатных форм с бухгалтерии 2.0 на 3.0, по сути, должен происходить схожим образом?
66. avto1c 14.10.15 08:49 Сейчас в теме
Извиняюсь за много букв и картинок))
Все буквы осилил. Плюс.
67. a_l_e_xj 24 19.10.15 16:03 Сейчас в теме
Начало статьи замечательное, а потом не очень. Замах есть, а что если скопировать процедуры неоткуда?
Хотелось бы упоминания о МассивОбъектов[0] - о синтаксисе, как получить доступ к объекту в котором была вызвана печатная форма.
68. turinx 30.10.15 09:39 Сейчас в теме
Большое спасибо, очень понятно и грамотно все объяснено! Первый раз создал ВПФ, все по статье, очень помогло.
Пара несоответствий: когда вставляем модификатор команды, написано "Печать XML", на картинке - "Печать MXL", и второе - значение "Безопасный режим" в ПараметрыРегистрации, в тексте - Ложь, на картинке - Истина.
Vida; uuuhha; +2 Ответить
70. evg_m 9 06.12.15 19:15 Сейчас в теме
Как у вас в 14 году получился релиз УТ 11.1.15.16, если сейчас 11.1.10.197??
71. Галина11 15.02.16 18:25 Сейчас в теме
Спасибо огромное! с нуля научилась создавать свои формы!!
72. shotsdv 15.03.16 17:37 Сейчас в теме
В БП 3.0.43.147 эта ВПФ не подключается.
Пишет, что не является объектом "Добавить"
73. shotsdv 15.03.16 17:37 Сейчас в теме
А так статья очень полезная для всяких чайников, типа меня :)
74. АИС 30.03.16 12:01 Сейчас в теме
Добрый день,
БП 3.0.43.152 форма не работает.
1я ошибка Поле не найдено СчетНаОплатуюЗаРуководителяПоПриказу
2я ошибка Таблица не найдена Документ.СчетНаОплатуПокупателю.Услуги
75. viktor_and_ko 20 11.04.16 17:42 Сейчас в теме
Здравствуйте, может быть подскажите как можно разрешить пользователям редактировать макет ВПФ в режиме предприятия?
76. shotsdv 15.04.16 13:36 Сейчас в теме
Мда, статья, в целом, полезна, только на последних релизах БП она не подключается... :(
77. RomVin 20.05.16 08:28 Сейчас в теме
Что правда на последних релизах не работает может подкорректировать статью для чайников типо меня как надо правильно делать?
78. fixin 4180 07.06.16 12:54 Сейчас в теме
Плохо что все в картинках. текст не скопипастить.
79. ИНТЕГРА 25 17.06.16 14:02 Сейчас в теме
Это для бухгалтера писалось? :)

Вот статья для программиста:
// Возвращает сведения о внешней обработке.
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.1.10");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.Назначение.Добавить("Документ.СборкаЗапасов");
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = НСтр("ru = 'Заполнить партии в документе'");
	НоваяКоманда.Идентификатор = "ЗаполнитьПартииСборкаЗапасов";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовКлиентскогоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;

	Возврат ПараметрыРегистрации;
	
КонецФункции
Показать

Взять отсюда: http://zdst.net/parametry-registratsii-vneshnej-obrab/
81. botcc 27.01.17 18:40 Сейчас в теме
А как сделать так чтоб по результатам выполнения определенных условий печатная форма не выводилась а появлялось сообщение пользователю?
в 8.2 достаточно Сообщить("Парам пам пам") и вместо макета передать Неопределено.
82. _Ramzes 119 25.05.17 09:01 Сейчас в теме
Спасибо большое!
Просто и понятно.
84. user827325 18.09.17 11:07 Сейчас в теме
Спасибо большое, статья очень хорошо и подробно все описывает. Автору низкий поклон!
85. tena 19.09.17 17:42 Сейчас в теме
Большое спасибо автору!!! Попробую создать печатную форму по этой инструкции, надеюсь все получится))
86. roma_semenov79 196 06.04.18 11:44 Сейчас в теме
Добрый день. Хорошая инструкция, автору спасибо, но не нашел в ней - как передать свои параметры отправки по электронной почте? Дело в том, что, например, в БП 3.0 при попытке отправки сформированной внешней печатной формы - параметры отправки (получатель, тема, тело письма) будут такими же, как и во встроенной форме. Как их можно изменить?
87. riposte 367 07.05.18 11:51 Сейчас в теме
Код в виде скриншотов... Написано одно, а на скриншотах другое... Причем в важных местах нестыковки. Почему по тексту ПечатьXML, а на "картинке кода" нарисовано ПечатьMXL? И прочие подобные.
Такая себе, я бы сказал, статья.
88. IrinaU 16.05.18 15:47 Сейчас в теме
И теперь осталась одна небольшая хитрость, без которой ваш внешний отчет не будет работать.


Спасибо автору за разъяснения. Очень выручил
89. user633533_encantado 11 16.05.18 16:32 Сейчас в теме
Устарела эта статья, если использовать правильно функции БСП, то для объявления обработки нужна только одна функция и в три раза меньше кода.
90. sty1000 08.01.19 21:49 Сейчас в теме
Пробую создать внешнюю печатную форму для розницы 2,2, где в поступлении товара будет выводится и код, и артикул. Вроде готово, но 1с говорит, что недостаточно фактических параметров.
92. user1132335 21.01.19 15:30 Сейчас в теме
(90) Удалось как то исправить ошибку (недостаточно фактических параметров)? буду очень признательна!!!
105. Vida 15 13.02.19 20:59 Сейчас в теме
(90)
(91)
(92)
Мне тоже так писало.
Удалила лишние параметры:
Было
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Стало
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
91. user1132335 21.01.19 15:29 Сейчас в теме
Такая же проблема! Недостаточно фактических параметров. Подскажите, что нужно добавить?)
93. webester 25 06.02.19 17:19 Сейчас в теме
Пройдут тысячи лет. БСП перестанет существовать и воскреснет как ПСБ. А люди будут спрашивать почему не работает код из этой статьи.
94. signum2009 984 06.02.19 18:12 Сейчас в теме
(93) Даже в старой редакции код был рабочий.
По этой логике вообще ни чего писать не нужно, т.к. все когда-то устареет...
95. webester 25 07.02.19 05:26 Сейчас в теме
(94) По этой логике устаревшие данные следует либо обновлять, либо убирать вообще, чтобы не вводить людей в заблуждение. Особенно начинающих.
96. signum2009 984 07.02.19 08:13 Сейчас в теме
(95) Все ли свои публикации Вы обновляете на текущие релизы?
Оставьте свое сообщение

См. также

Пустая форма объекта в расширении

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Создание пустой формы объекта в расширении для добавления элементов формы программно или для изменения процедур формы объекта.

1 стартмани

16.02.2023    999    Mx00    10    

17

Гонка конфигураторов с помощью экзекутора

Инструментарий разработчика DevOps и автоматизация разработки Механизмы платформы 1С Платформа 1С v8.3 Абонемент ($m)

Выгружать конфигурацию в файлы в последнее время стало супер модно. Контроль версий, Git, CI/CD и вот это вот все. Исходники как тексты сегодня нужны всем. Но возникают вопросы: а каким методом лучше и быстрее выгружать конфигурацию в файлы, а какая версия платформы справляется с этой задачей оперативнее? Моя статья постарается ответить на эти вопросы. Как говорится, заставим попотеть ваши конфигураторы. С помощью 1С Исполнителя 2.0 мы выгрузим конфигурацию ЗУП, используя платформу пяти версий, от 8.3.18 до 8.3.22.

1 стартмани

16.11.2022    3257    infosoft-v    40    

44

[ЕХТ] Фреймворк для Расширений 1С: Обработка событий: описание, примеры и демобаза.

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

В публикации подробно описаны возможности обработки событий, приведены несколько простых примеров и приложена демонстрационная база для изучения возможностей Фреймворка на практике.

21.10.2022    1642    mszsuz    3    

17

Библиотека программного изменения формы (УФ)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Нам часто приходится дорабатывать различные управляемые формы. Проще внести изменения непосредственно на самой форме, но, для дальнейшего поддержания конфигурации, удобнее вносить все изменения на форме программно. Предлагаю Вам библиотеку для программного изменения управляемых форм, которую можно внедрить в конфигурацию либо совсем бесшовно, либо практически бесшовно.

1 стартмани

07.08.2020    9467    BuriyLesha    20    

148

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Запуск фонового задания во внешней обработке без регистрации в справочнике "Дополнительные отчеты и обработки"

Инструментарий разработчика Управляемые формы 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике "ДополнительныеОтчетыИОбработки". Проверял на БСП версии "3.1.2.264".

1 стартмани

09.03.2020    13293    VinnieThePOOH    7    

62

Вывод сообщений в HTML поле средствами 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Абонемент ($m)

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    25340    burni4    16    

66

Таблица значений - синтаксический сахар

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Ещё одна идея добавления "синтаксического сахара" в язык 1С для работы с коллекцией значения: Таблица значений.

1 стартмани

05.01.2020    3177    a45    12    

6

Многопоточная обработка данных на примере перепроведения документов

Инструментарий разработчика Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    16733    ids79    46    

61

Централизованное управление кластером 1С Предприятия, состоящим из нескольких рабочих серверов, работающих на платформе GNU/Linux

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

При эксплуатации крупных информационных систем, в состав которых могут входить десятки серверов 1С Предприятия, зачастую возникают ситуации, требующие однотипных действий на всех серверах кластера 1С Предприятия или на всех серверах контура. В настоящей статье представлен способ централизованного управления серверами 1С Предприятия, работающими на платформе GNU/Linux. Подобный подход может быть использован и для других задач, возникающих в процессе эксплуатации крупных систем, с целью сокращения как временных затрат специалистов, так и времени простоя системы.

1 стартмани

26.08.2019    4886    Sloth    0    

18

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Просто комбо, два в одном, или как напечатать два макета (стандартный и измененный) одной печатной формы

Инструментарий разработчика Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бухгалтерский учет Абонемент ($m)

Алгоритм и расширение (как пример) демонстрируют механизм одновременного использования двух макетов (стандартного и измененного), принадлежащих одной записи регистра «Макеты печатных форм» («ПользовательскиеМакетыПечати») в конфигурации «1С:Бухгалтерия предприятия, редакция 3.0».

1 стартмани

26.06.2019    5900    delta    0    

3

ТОРГ-12 с выбором организации для КА 2.4

Печатные формы Оптовая торговля Производство готовой продукции (работ, услуг) Платформа 1С v8.3 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Абонемент ($m)

Внешняя печатная форма ТОРГ-12 для документа реализации с возможностью выбора организации перед выводом на печать. Тестировалось на КА 2.4.

1 стартмани

02.03.2019    4807    5    simgo83    0    

2

Использование фреймворка "Тестирование 3.0" (https://testingtool.ru) для тестирования веб-приложений

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Рассматривается использование фреймворка "Тестирование 3.0" (https://testingtool.ru) для тестирования веб-приложений.

1 стартмани

24.12.2018    6035    AlexKo    9    

20

HTTP Сервисы: Путь к своему сервису. Часть 4

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.

1 стартмани

28.09.2018    39267    dsdred    18    

154

Сортировка метаданных с учетом объектов на замке

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Порой одна конфигурация находится на поддержке нескольких поставщиков (со своими префиксами). Зачастую при обновлении отдельных поставок происходит "перемешивание" объектов с различными префиксами. Работать с такой конфигурацией не очень удобно, но есть способ для сортировки метаданных (в том числе объектов на замке), а также быстрого восстановления сортировки, если случайно очередное обновление было выполнено с взятием порядка метаданных из файла (которое устанавливается по умолчанию).

1 стартмани

16.08.2018    4902    Olenevod    1    

11

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

HTTP Сервисы: Путь к своему сервису. Часть 2

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    54335    dsdred    2    

166

Мониторинг журнала регистрации при помощи Powershell

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.

1 стартмани

12.07.2018    14330    user768334    7    

30

Заполнение документа Word без ComОбъект

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Идея написать публикацию пришла после прочтения очередного рассказа о том, как файл Word заполнялся через COM-объект в клиент-серверном варианте. При этом падал Сервер 1С. Зачем в принципе использовать файлы Word как шаблоны? Ну, допустим, в организации используется некая внутренняя отчетность, выполнения в корпоративном стиле, и переделать ее на привычные табличные документы нет возможности.

1 стартмани

08.07.2018    21956    nbeliaev    39    

109

Работа со схемой запроса

Инструментарий разработчика Платформа 1С v8.3 Запросы Абонемент ($m)

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    58260    kalyaka    40    

209

Использование регулярных выражений (RegExp) в Linux

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Описывается способ использования регулярных выражений (RegExp) в Linux с использованием тех же компонентов, что и в Windows (COM-объекты VBScript.RegExp).

1 стартмани

20.04.2018    9980    vsbronnikov    12    

1

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Тестирование: пример создания сценарного UI теста для платформы 1С

Инструментарий разработчика Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Абонемент ($m)

В этой статье мы расскажем, как создать сценарный UI-тест. Опишем последовательность действий и покажем, как это сделать с использованием инструментария. Рассмотрим пример, максимально приближенный к боевому, покажем на примере конфигураций УТ11/ERP проверку бизнес-процесса "Продажа". Вы сможете убедиться, что создание сценарных тестов для платформы 1С на самом деле относительно быстрый и простой процесс.

1 стартмани

17.04.2018    25654    ivanov660    11    

99

Обработка печатной формы WORD клиент-сервер УФ

Инструментарий разработчика Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Это моя первая статья на данном портале, но попытаюсь изложить все понятно и подробно. Долгое время у меня заняло создание такой вот внешней обработки. Есть очень много примеров, как сделать подобное на неуправляемых формах (2.0) и очень мало информации касательно управляемых(3.0), по крайней мере я многого найти не смог в доступе. Создание подобное обработки выглядит вполне несложно, если производить все действия на сервере, как это было с 2.0, но в нашем случае необходимо инициализировать открытие документа на клиенте, чему сильно мешает отсутствие возможности передать макет Active Document с сервера на клиент.

2 стартмани

14.03.2018    31956    LeoKeyn    46    

43

Консоль запросов со встроенным Конструктором запросов для 1с8.3 (8.2) своими руками

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Запросы Конфигурации 1cv8 Абонемент ($m)

Мы можем сами создать свою консоль запросов - именно такую, которая подходит для наших нужд. Кроме того, создав собственную Консоль запросов, Вы не только получаете удобный для себя инструмент, а также получаете навык программирования в среде 1с8, что очень полезно будет начинающим программистам 1С.

1 стартмани

21.12.2017    27019    jan-pechka    24    

16

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Практика доступа в базу 1С через протокол oData. Чтение данных

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Для чего нужен доступ в базу 1С через REST-интерфейс по протокол oData? Как его организовать? Как не будучи гуру в JavaScript и .NET получить быстрый визуальный доступ к данным базы 1С? Попробую дать ответ на эти вопросы и прокомментирую некоторые нюансы, с которыми я столкнулся.

1 стартмани

11.12.2017    139765    Dementor    74    

394

Полезный код для программистов 1С (часть 1). Управление свойствами элементов формы. Хранение копии данных реквизитов

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

У каждого программиста за время работы накапливается полезный инструментарий, которым он привык пользоваться. Естественно и у меня он тоже имеется. И вот решено было немного поделиться с сообществом. Возможно идеи не новые. Более того, допускаю, что реализованы они не самым оптимальным образом. Но ведь для этого сообщество и существует, чтобы делиться с ним, получая обратную связь.

1 стартмани

24.09.2017    47387    vandalsvq    80    

152

Корректная двусторонняя печать табличных документов + Простой пример создания внешней печатной формы

Адаптация типовых решений Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Абонемент ($m)

Статья посвящена двухсторонней печати табличных документов из 1С:Предприятия 8.3. А за одно рассмотрено создание Внешней печатной формы (ВПФ). Публикацию про двустороннюю печать на Инфостарте не нашел. Когда передо мной стояла такая задача, решение нашел не сразу. Делюсь, думаю, для многих эта информация будет полезной.

1 стартмани

31.07.2017    35142    SmArtist    8    

24

Интеграция сценарного тестирования в процесс разработки

Инструментарий разработчика Управляемые формы Абонемент ($m)

Эта статья является практическим пособием по внедрению тестирования на основе сценариев в процесс разработки программного обеспечения на базе платформы 1С:Предприятие 8.3. Документ отличает прикладная направленность, в нем содержится много кода, подходов и конкретики. Все рассмотренные примеры основаны на использовании бесплатной конфигурации Тестер

1 стартмани

04.07.2017    32811    grumagargler    30    

209

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов

Универсальные функции HighLoad оптимизация Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    53725    DarkAn    87    

195

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Передача параметра из формы документа в форму выбора. 1С: 8.2, обычные формы

Инструментарий разработчика Платформа 1С v8.3 1С:Управление торговлей 10 Абонемент ($m)

Установить принудительный отбор по номенклатуре в форме выбора при добавлении из определенного вида документа. В моем примере ограничение к номенклатуре только из документа Установка цен номенклатуры.

1 стартмани

18.05.2017    9911    Sanek32    6    

1

Hello world на metadata.js

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    77111    unpete    209    

268

Внешняя печатная форма счета на оплату с печатью и подписями БП 3.0

Печатные формы Оптовая торговля Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Рабочая внешняя печатная форма счета на оплату с печатью и подписями для БП 3.0.39.51 и для БП 3.0.42.33 Создана с целью правки макета без изменения конфигурации.

1 стартмани

27.03.2015    18296    96    NatashaSK    9    

5

Как написать COM-объект для 1С на Visual Studio C# 2008

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Расширяем функционал 1С с помощью разработки подключаемого COM-объекта! Пишем код на Visual C# 2008 для открытия CD-ROM'а, получения списка процессов и использования возможностей системы text-to-speech.

5 стартмани

11.09.2012    87649    RainyAugust22    59    

206

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Пример печатной формы "с выбором" без формы выбора

Взаиморасчеты Инструментарий разработчика Платформа 1С v8.3 1С:Бухгалтерия 2.0 Россия Бухгалтерский учет Абонемент ($m)

Пример реализации внешней печатной формы с выбором ответственного лица без формы выбора

1 стартмани

13.06.2012    14060    Dasty    8    

12

Подсветка синтаксиса 1C (в том числе языка запросов) в Notepad++

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Конфигуратор 1С как редактор кода не всегда удовлетворяет потребностям программиста в управлении кода. Я зачастую с завистью вспоминаю другие среды разработки программ, и нередко копировал куски 1С кода в стороннюю программу для каких-либо манипуляций - например, Notepad++. К сожалению, в нём нет встроенной поддержки синтаксиса кода 1С, из-за чего пришлось определять свой. Вот об этом я и расскажу.

1 стартмани

27.03.2012    39142    CratosX    35    

87

Текстовые экспандеры - в помощь программисту 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Каждый человек старается по возможности облегчить себе труд. Программисты не исключение. Каждый день мы сталкиваемся с необходимостью писать однотипные фрагменты программного кода. Для автоматизации этого процесса система 1С:Предприятие позволяет использовать шаблоны текста (как стандартные, так и созданные пользователем). Казалось бы, что еще нужно разработчику? Однако, в некоторых случаях, стандартных средств разработки все-таки бывает недостаточно. Например, разрабатывая правила обмена в конфигурации 1С:Конвертация данных, приходится писать довольно большие тексты, не имея при этом возможности воспользоваться ни автоподстановкой, ни шаблонами. Либо, приходя к очередному клиенту, Вы обнаруживаете, что нужно написать, допустим, самую обычную печатную форму, которую Вы писали тысячу раз, но процесс ее создания может занять продолжительное время. Как раз в этом случае и могут помочь программы для вставки часто используемых выражений – текстовые экспандеры.

1 стартмани

27.07.2011    27565    tomvlad    44    

119

Инфостарт. Восьмерка. Лучшее

Инфостарт Платформа 1С v8.3 Россия Бесплатно (free)

Топ-100 для восьмерки. Таблица ссылок на самые популярные разработки

11.11.2010    50518    Alraune    96    

364