Создание акта сверки для Управления торговлей с факсимиле

Публикация № 1000071

Разработка - Практика программирования

Акт сверки факсимиле логотип разработка ВПФ

Создание обработки на основании встроенной печатной формы для формирования акта сверки взаиморасчётов с факсимиле.

Доброго времени суток.

Решил описать ещё раз создание внешней печатной формы. Покороче, по делу. Необходимо в стандартный акт сверки взаиморасчётов "Управления торговлей 11.4" добавить факсимиле.

   Имеем на входе конфигурацию Управление торговлей, редакция 11 (11.4.6.207), на платформе 1С:Предприятие 8.3 (8.3.13.1513)

   Создаём внешнюю обработку:

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

   Далее сделаем то, без чего мы далеко не уедем, сформируем вот такую штуковину:

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

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

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

   То есть добавляем две необходимые функции и одну процедуру. Дальше делаем всё по накатанной. Модифицируем процедуру "Печать":

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

   И останется только в Функции СформироватьПечатнуюФормуАктСверкиВзаимныхРасчетов заменить макет с штатного на наш. Предварительно переименовав его в обработке:

Макет = ПолучитьМакет("АктСверкиВзаимныхРасчетовФаксимиле");

   После этого на печать выводится именно наш макет.

   Теперь я решил прибраться, то есть убрать ненужные процедуры и функции. Вот список:

Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
Функция ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании) Экспорт
Процедура ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) Экспорт
Процедура ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(СтруктураПараметров, МассивВсехРеквизитов, МассивРеквизитовОперации) Экспорт
Функция СформироватьПечатнуюФормуАктСДаннымиКонтрагента(МассивОбъектов, ОбъектыПечати)

   Больше решил не убирать. Не мешается, и ладно.

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

   Там есть вот такая штуковина:

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

  Ещё в макет нужно добавить область "ОбластьФаксимиле" и заставить её работать.

   Пишу по порядку, что делаю. Ну понятно, скопировал вышеуказанную область. Затем в процедуру ДобавитьКомандыПечати(КомандыПечати) необходимо добавить вот такой параметр:

КомандаПечати.ДополнительныеПараметры.Вставить("ОтображатьФаксимиле", Истина);

   И, наконец, в функцию СформироватьПечатнуюФормуАктСверкиВзаимныхРасчетов(МассивОбъектов, ОбъектыПечати) нужно добавить код:

ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, ДанныеДокумента.Организация, Новый Структура("ОтображатьФаксимиле", Истина));

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

   Огорчению моему не было предела. Пришлось закомментировать строчку ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент... и попытаться разобрать вышеописанную процедуру на цитаты.

   В принципе, ничего сверхестественного она не делает, проверяет необходимые значения, берёт факсимиле, соответствующий данной организации и шлёпает его в указанную область макета. Время было уже позднее, я подумал, "Утро вечера мудренее", плюнул на всё это, выключил компьютер и лёг спать. Но про обработку всё думал. Потом решил мыслить логически. В штатной конфигурации она же работает, внешняя печатная форма опять же взята из штатной конфигурации, значит ларчик-то должен как то просто открываться. Вспоминаются ребусы из спичек: переложите одну спичку так, чтобы из нуля получилось сто. И О ЧУДО!!!!! Всего лишь переставил строчку из одного места в другое и ВСЁ ЗАРАБОТАЛО!!! От перестановки мест слагаемых сумма иногда кардинально меняется.

   Вышеуказанную строчку всего лишь нужно было переместить на три строчки вниз!

   Всю функцию выкладывать не буду, а только фрагмент, куда нужно вставить вызов штатной процедуры:

		// ПОДПИСИ
		
		ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
		
		
		ОбластьМакета.Параметры.Заполнить(ДанныеДокумента);
		ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, 
												  			  "ПолноеНаименование,ИНН,ЮридическийАдрес");
		
		ОбластьМакета.Параметры.КонтрагентНаименование   = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, 
												  			  "ПолноеНаименование,ИНН,ЮридическийАдрес");
		ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, ДанныеДокумента.Организация, Новый Структура("ОтображатьФаксимиле", Истина));
		ТабличныйДокумент.Вывести(ОбластьМакета);
		
		// ПРИЛОЖЕНИЕ
		Если ДанныеДокумента.РасшифровкаПоЗаказам Тогда
			
			ТаблицаОстатков = ОстаткиРасчетов(ДанныеДокумента);
			
			Если ТаблицаОстатков <> Неопределено Тогда
				
				ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
				
				ТекстЗаголовкаПриложения = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеДокумента,
					НСтр("ru='к акту сверки взаимных расчетов'"));
				
				ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокПриложение");
				ОбластьМакета.Параметры.ТекстЗаголовкаПриложения = ТекстЗаголовкаПриложения;
				ОбластьМакета.Параметры.КонецПериодаСверки = Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД");
				ТабличныйДокумент.Вывести(ОбластьМакета);
				
				МассивВалют = ОбщегоНазначенияУТ.УдалитьПовторяющиесяЭлементыМассива(ТаблицаОстатков.ВыгрузитьКолонку("ВалютаВзаиморасчетов"));
				Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
					МассивПартнеров = ОбщегоНазначенияУТ.УдалитьПовторяющиесяЭлементыМассива(ТаблицаОстатков.ВыгрузитьКолонку("Партнер"));
				КонецЕсли; 
				
				ПараметрыТаблицыЗадолженностей = Новый Структура;
				ПараметрыТаблицыЗадолженностей.Вставить("ДанныеДокумента", ДанныеДокумента);
				ПараметрыТаблицыЗадолженностей.Вставить("ТаблицаОстатков", ТаблицаОстатков);
				ПараметрыТаблицыЗадолженностей.Вставить("СтруктураПредставленийУчастников", СтруктураПредставленийУчастников);
				ПараметрыТаблицыЗадолженностей.Вставить("МассивВалют", МассивВалют);
				ПараметрыТаблицыЗадолженностей.Вставить("Макет", Макет);
				ПараметрыТаблицыЗадолженностей.Вставить("ВыводитьПодвал", Ложь);
				
				Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
					Для Каждого Партнер Из МассивПартнеров Цикл
						ТабличныйДокумент.Вывести(ВывестиТаблицуЗадолженности(ПараметрыТаблицыЗадолженностей, Партнер));
					КонецЦикла; 
				Иначе
					ТабличныйДокумент.Вывести(ВывестиТаблицуЗадолженности(ПараметрыТаблицыЗадолженностей));
				КонецЕсли;	
				
				ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
				ОбластьМакета.Параметры.Заполнить(ДанныеДокумента);
				ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, 
														  			  "ПолноеНаименование,ИНН,ЮридическийАдрес");
				
				ОбластьМакета.Параметры.КонтрагентНаименование   = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте, 
														  			  "ПолноеНаименование,ИНН,ЮридическийАдрес");
				ФормированиеПечатныхФорм.ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, ДанныеДокумента.Организация, Новый Структура("ОтображатьФаксимиле", Истина));
				ТабличныйДокумент.Вывести(ОбластьМакета);
				
			КонецЕсли; 
			
		КонецЕсли;
		
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеДокумента.ДокументСсылка);
		
	КонецЦикла;

	ТабличныйДокумент.АвтоМасштаб = Истина;
	
	Если ПривилегированныйРежим() Тогда
		УстановитьПривилегированныйРежим(Ложь);
	КонецЕсли;

	Возврат ТабличныйДокумент;
	
КонецФункции // СформироватьПечатнуюФормуАктСверкиВзаимныхРасчетов(МассивОбъектов, ОбъектыПечати)

   На всякий случай вставил её дважды, в ПОДПИСИ и в ПРИЛОЖЕНИЕ. Но это ещё не всё. Область факсимиле взята из счёта. Она закрывает все подписи, и нашей организации, и контрагента. Поэтому макет придётся немного модифицировать. Наткунлся на очередной трабл. И закралась мысль, почему 1С сама не делает факсимиле в акте сверки. Оказалось, что области макета "Подписи" и "ОбластьФаксимиле" как то очень сложно между собой взаимодействуют. Убил часа три, пытаясь вывести информацию о контрагенте. Плюнул, оставил пустые подписи.

   Ну вот вроде бы и всё. У меня всё получилось.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. laf 21.02.20 09:55 Сейчас в теме
Спасибо. А как все-таки быть, если факсимиле счета и акта разные?
2. zemskov 46 25.02.20 05:23 Сейчас в теме
Дорабатывать нужно. Нецелесообразно это
3. andryandry 84 25.02.20 10:15 Сейчас в теме
просто триллер какой то )), а почему готовый файл не выложили?
4. zemskov 46 26.02.20 04:47 Сейчас в теме
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

Практика программирования v8 Бесплатно (free)

Пакет из 3-х курсов по 1С-программированию. Основная цель - сформировать у слушателей практические навыки, связанные с реализацией задач обмена для прикладных решений, работающих на платформе “1С:Предприятие”, а также с разработкой прикладных решений, предназначенных для автоматизации расчета заработной платы и задач бухгалтерского учета.

22.04.2020    3197    23    infostart    2    

Акт сверки взаиморасчетов с факсимиле

Печатные формы документов Дебиторская и кредиторская задолженность v8 v8::ОУ УТ11 БУ УУ Абонемент ($m)

Акт сверки взаиморасчётов с факсимиле для УТ 11.4. Внешняя печатная форма.

1 стартмани

07.03.2020    1403    3    kirabr    0    

Универсальные инструменты 1С

Универсальные обработки Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

Свободно распространяемый набор универсальных обработок и отчетов в виде расширения для разработки и поддержки, которое работает во ВСЕХ видах клиентских приложений и во всех операционных системах, которые поддерживает платформа 1С:Предприятие, кроме мобильных. Консоль запросов - консоль отчетов - консоль кода - редактор объектов базы данных - удаление помеченных объектов - поиск и удаление дублей - редактор констант - консоль заданий - групповая обработка справочников и документов - динамический список - поиск ссылок на объект - регистрация изменений для обмена данными - структура хранения базы - консоль HTTP запросов-консоль вебсервисов- консоль сравнения данных- информация о лицензиях- загрузка из табличного документа-файловый менеджер-все функции- навигатор по конфигурации-конструктор регулярных выражений-Выгрузка загрузка XML с фильтрами

21.01.2020    18414    295    cprit    84    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    15641    0    John_d    22    

Онлайн-курс "1С:Специалист-консультант по "1С:Зарплата и управление персоналом" 22-25 июня 2020 года Промо

Решение задач на 1С:Специалист Бухгалтерский учет Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x БУ УУ Бесплатно (free)

Спрос на специалистов по внедрению "1С:Зарплата и управление персоналом 8" с каждым днем растет. Станьте одним из востребованных специалистов - пройдите обучение по актуальной редакции 1C:ЗУП 3.1.

13200 руб.

14.06.2018    10046    3    5    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    25391    0    Yashazz    45    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

06.09.2019    34813    0    rpgshnik    59    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    36978    0    ids79    52    

Подсистема "Инструменты разработчика" v5.35 Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Интегрированный набор инструментов разработчика: - консоль кода - консоль запросов - консоль построителя отчетов - консоль компоновки данных - консоль заданий - конструктор запроса - справочник алгоритмов - исследователь объектов - интерфейсная панель - настройка журнала регистрации - анализ журнала регистрации - настройка техножурнала - анализ техножурнала - подбор и обработка объектов - редактор объекта БД - редактор констант - редактор параметров сеанса - редактор изменений по плану обмена - редактор пользователей - редактор предопределенных - редактор хранилищ настроек - динамический список - поиск дублей и замена ссылок - контекстная подсказка - синтакс-помощник - поиск битых ссылок - поиск ссылок на объект - структура хранения БД - удаление объектов с контролем ссылок - и прочее

23.09.2007    476022    4340    tormozit    2665    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    56111    0    ids79    37    

Обработчики событий при записи объектов. Зачем и что за чем?

Математика и алгоритмы v8 Бесплатно (free)

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

25.07.2019    35565    4    AlbinaAAA    25    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    34367    0    YPermitin    52    

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Администрирование данных 1С Мобильная разработка v8 Бесплатно (free)

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017    57854    0    user700211_a.straltsou    27    

Как прикрутить ГУИД к регистру сведений

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    17773    0    m-rv    17    

Excel vs 1С: битва с неожиданным исходом

Анализ учета Универсальные обработки Загрузка и выгрузка в Excel Финансовые Управленческие v8 1cv8.cf Россия Бесплатно (free)

Что лучше 1С или Excel? Разберемся, в казалось бы, очевидном, чтобы получить невероятное!

11.04.2019    33774    0    bolefirenko    116    

Копирование числовых ячеек из 1С в Excel Промо

Загрузка и выгрузка в Excel Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

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

15.01.2019    20194    0    itriot11    22    

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке

Универсальные функции Зарплата Управление персоналом (HRM) Зарплата v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Бесплатно (free)

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

14.11.2018    68263    0    GeterX    110    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    30603    0    ids79    40    

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    57803    0    stas_ganiev    73    

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    10492    0    m-rv    1    

Из Excel в 1С запросом

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

... ну, конечно, не прям так типовым языком запросов, а расширенным языком запросов. Речь пойдет о том, как "залить" данные в таблицы 1С и не пилить при этом бесконечного количества наколеночных обработок.

14.08.2018    18722    0    m-rv    5    

Тестер: частые вопросы

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    26245    0    grumagargler    26    

Повышаем эффективность разработки правил обмена

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    26136    0    olegtymko    47    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    34178    0    unichkin    45    

Как сделать запрос на изменение данных

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    27426    0    m-rv    21    

Строим графы средствами 1С (без GraphViz)

Практика программирования v8 Бесплатно (free)

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    22874    0    slozhenikin_com    20    

Распределение расходов пропорционально продажам

Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Практика программирования Финансовый учет и бюджетирование (FRP) Учет доходов и расходов v8 v8::ОУ УТ10 УУ Бесплатно (free)

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    17009    0    Rustig    9    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

15.10.2018    26152    0    tormozit    100    

Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть І: Справочники

Перенос данных из 1C8 в 1C8 v8 Бесплатно (free)

Сейчас все чаще интеграции различных конфигураций проектируются через HTTP-сервисы - они и работают быстрее, и "войти" в режим отладки гораздо проще, тем самым обойдя "черный ящик" универсального обмена через xml, например. Более года назад я начал работать в компании, в которой разработчики работали с конфигурациями 1С в режиме совместимости еще 8.2.16 (менять режим совместимости в типичных базах мы не хотели) - а как Вы наверное знаете, если интересовались HTTP-сервисами в 1С, их использование в режиме совместимости 8.3.4 и ниже недопустимо - и здесь я уже не надеялся на разработку и использование HTTP-сервисов. Но позже меня заинтересовал такой "сервис" как REST интерфейс OData, так как его можно использовать не меняя режим совместимости конфигурации - именно он и стал для меня идеальным вариантом решения "нетривиальных" задач.

11.05.2018    21094    0    V.Stavinsky    11    

Минимализмы 3

Практика программирования Универсальные функции v8 Бесплатно (free)

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    43860    0    ildarovich    45    

Этюды по программированию. Взаимодействие с Microsoft Word

Практика программирования v8 Бесплатно (free)

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

11.12.2017    30938    0    milkers    23    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    73676    0    tormozit    129    

Метод формирования движений в типовых регистрах нетиповыми регистраторами

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    25721    0    itriot11    34    

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)

Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML v8 КД Бесплатно (free)

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    176893    0    MaxS    270    

Обзор имеющихся библиотек OneScript

OneScript v8 Бесплатно (free)

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

14.11.2017    40699    0    nixel    86    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

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

11.07.2007    44767    0    tormozit    38    

Программные перечисления, ч.2: приемы кэширования при разработке

Практика программирования v8 Бесплатно (free)

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

30.10.2017    25692    0    unichkin    18    

Легкий способ обновления измененной конфигурации

Инструментарий разработчика v8 Бесплатно (free)

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

25.10.2017    22096    0    avk72    63    

Работа с Excel

Практика программирования Загрузка и выгрузка в Excel v8 Бесплатно (free)

Собрал различные полезности для работы с Excel из 1С. Иногда приходится форматировать документ Excel программно из 1С. Так вот, чтобы не искать постоянно на просторах интернета как сделать левое выравнивание в ячейке Excel из 1С и т.п. решил опубликовать это...

23.10.2017    39041    0    arakelyan    39    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    40524    0    tormozit    72    

Ускоряем 1С: модули с повторным использованием возвращаемых значений

Практика программирования v8 Бесплатно (free)

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

04.09.2017    50006    0    m-rv    60    

Как просто запомнить алгоритм программного вывода в СКД

Практика программирования v8 v8::СКД Бесплатно (free)

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

01.09.2017    47054    0    unichkin    15    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    14163    0    m-rv    2    

Как формируется GUID?

Практика программирования v8 Бесплатно (free)

"Коллеги, есть идеи, как получить последнюю созданную характеристику? Реквизиты полностью идентичны(код, наименование, и т.п.)."(c) "Насколько я знаю, ссылка не обеспечивает последовательность, а только уникальность."(c) "Я сделал по Максимум(Ссылка). Но, чета, мне кажется, это неправильно."(c) "Слышал что в ГУИд содержится как раз время создания и по всей логике вещей сортировка по ссылке должна сортировать по моменту создания объекта"(c) Сколько раз вы слышали такие фразы? На удивление я не обнаружил информации по этой теме, пришлось разбираться самому...

16.06.2017    70636    0    kuzyara    57    

Использование инструментов разработчика для отладки обменов КД 2.0

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

05.05.2017    26321    0    unichkin    3    

Работа с конвертацией данных

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Поскольку к конвертации обращаюсь время от времени и какие-то детали забываются, хочу выделить несколько пунктов, чтобы "было где посмотреть". Статья сделана преимущественно «для себя», так что просьба не судить строго. (Примечание читающим/комментирующим: код в примерах очень сильно сокращен.)

16.03.2017    75377    0    perepetulichka    26    

Как настроить правильную техподдержку (helpdesk, service desk на коленке) Промо

Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени v8 УУ Бесплатно (free)

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

24.04.2019    14907    0    siddy    0    

Online телефонный справочник из 1С: Зарплата и управление персоналом

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    24199    0    ruha    14    

Библиотека стандартных подсистем (Механизм БСП)

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Конфигурации в 1С пишутся для пользователей и по их «правилам» (клиент всегда прав), поэтому в основном все конфигурации разные, но достаточно часто в них используются одни и те же объекты, которые незначительно отличаются друг от друга. Действительно, сложно представить конфигурацию, где не фигурировали бы такие сущности как номенклатура, контрагенты, пользователи, валюта. И некоторые задачи являются типичными: возможность базового разграничения прав, работа с электронной почтой, задачи пользователям и т.д. Но...!

03.03.2017    63554    0    V.Stavinsky    21    

Автоматизированная проверка конфигураций… и пара слов о стандартах разработки

Практика программирования Тестирование и исправление v8 1cv8.cf Бесплатно (free)

Предлагаю познакомиться с инструментом "Автоматизированная проверка конфигураций" и получить практику его применения

18.01.2017    53171    0    Vladimir Litvinenko    23    

Отладка подключаемых обработок

Практика программирования v8 1cv8.cf Бесплатно (free)

На самом деле для этого не нужно ни изменять конфигурацию, ни пользоваться вспомогательной обработкой-отладчиком.. Все просто :)

04.01.2017    55232    0    unichkin    83