Самостоятельная организация подборов в документах

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

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

подборы товаров из документа и скрины

6
В заметке приводится пример организации подборов в документах.

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

В МодулеФормы документа из которого осуществляется подбор разместил две процедуры:

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


&НаКлиенте
Процедура ТоварыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	Для Каждого СтрокаТЧ из ВыбранноеЗначение Цикл
		ТекСтрока = Объект.Товары.Добавить();
		ТекСтрока.Номенклатура = СтрокаТЧ.Номенклатура;
		
	Если РасчетыНаСервере.ЗначениеКонстанты() = Истина Тогда
		ТекСтрока.Характеристика = СтрокаТЧ.Характеристика;
	Иначе
		 ТекСтрока.Характеристика = "";
	КонецЕсли;
	
		ТекСтрока.Количество =  СтрокаТЧ.Количество;
		ДанныеСтруктура = Новый Структура("СтавкаНДС, ВидНоменклатуры, ЕденицаИзмерения",,,,);
		Структура =  РасчетыНаСервере.ПолучитьДанныеНоменклатуры(ДанныеСтруктура, ТекСтрока.Номенклатура);
		ТекСтрока.СтавкаНДС = Структура.СтавкаНДС;
		ТекСтрока.ВидНоменклатуры = Структура.ВидНоменклатуры;
		ТекСтрока.ЕденицаИзмерения = Структура.ЕденицаИзмерения;
		
		РасчетыНаКлиенте.ОбработкаЦены(ТекСтрока, ТекСтрока.Характеристика, Объект);
		
		РасчетыНаКлиенте.ПересчитатьСтроку(ТекСтрока, Объект);
	КонецЦикла;
	
КонецПроцедуры

Создал ФормуПодбора, в ней разместил реквизиты формы ИерархияНоменклатуры(ДинамическийСписок:  Основная таблица - СправочникНоменклатура), Список(ТаблицаЗначений ) и ОтобранныеТовары(ТаблицаЗначений)  в модуле формы разместил несколько процедур

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)//Выбор номенклатуры кликом
	ТекСтрока = Элементы.Список.ТекущиеДанные;
	
	Структура = Новый Структура("Номенклатура, Характеристика, Цена", ТекСтрока.Номенклатура,ТекСтрока.Характеристика, ТекСтрока.Цена);
	  		
	СтандартнаяОбработка = ЛОЖЬ;
	//Поиск идентичной номенклатуры в ТаблицеЗначений	
	Строка = ОтобранныеТовары.НайтиСтроки(Новый Структура("Номенклатура, Характеристика, Цена", Структура.Номенклатура, Структура.Характеристика, Структура.Цена));	
	//Если Номенклатура уже записана то просто добавляем 1 к Количеству
	Если Строка.Количество() > 0 Тогда
	     Строка[0].Количество = Строка[0].Количество+1;
		 Строка[0].Сумма = Строка[0].Количество * Строка[0].Цена;
    Иначе//Создаем новый элемент
		 НовСтр = ОтобранныеТовары.Добавить();	
		 НовСтр.Номенклатура = ТекСтрока.Номенклатура;
		 НовСтр.Характеристика = ТекСтрока.Характеристика;
		 НовСтр.Количество = 1;
		 НовСтр.Цена = ТекСтрока.Цена;
		 НовСтр.Сумма = ТекСтрока.Цена;
	КонецЕсли; 
КонецПроцедуры


&НаКлиенте
Процедура СписокНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)//Выбор номенклатуры перетаскиванием	
	ТекСтрока = Элементы.Список.ТекущиеДанные;
	
	Структура = Новый Структура("Номенклатура, Характеристика, Цена", ТекСтрока.Номенклатура,ТекСтрока.Характеристика, ТекСтрока.Цена);
	  		
	СтандартнаяОбработка = ЛОЖЬ;
	//Поиск идентичной номенклатуры в ТаблицеЗначений	
	Строка = ОтобранныеТовары.НайтиСтроки(Новый Структура("Номенклатура, Характеристика", Структура.Номенклатура, Структура.Характеристика));	
	//Если Номенклатура уже записана то просто добавляем 1 к Количеству
	Если Строка.Количество() > 0 Тогда
	     Строка[0].Количество = Строка[0].Количество+1;
		 Строка[0].Сумма = Строка[0].Количество * Строка[0].Цена;
    Иначе//Создаем новый элемент
		 НовСтр = ОтобранныеТовары.Добавить();	
		 НовСтр.Номенклатура = ТекСтрока.Номенклатура;
		 НовСтр.Характеристика = ТекСтрока.Характеристика;
		 НовСтр.Количество = 1;
		 НовСтр.Цена = ТекСтрока.Цена;
		 НовСтр.Сумма = ТекСтрока.Цена;
	КонецЕсли; 
КонецПроцедуры


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)//Параметры передаваемые из Документа для запроса
	 ВидЦены = Параметры.ВидЦены;
	 Склад =Параметры.Склад;
	 Дата = Параметры.Дата;
КонецПроцедуры

&НаКлиенте
Процедура ПеренестиВДокумент(Команда)
	ОповеститьОВыборе(ОтобранныеТовары);
КонецПроцедуры



&НаСервере
Функция ЗаполнитьСписокНаСервере(Родитель)
		
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ЕСТЬNULL(ОстаткиНаСкладахОстатки.Характеристика, ЦеныНоменклатурыСрезПоследних.Характеристика) КАК Характеристика,
		|	ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ВидЦены, """") КАК ВидЦены,
		|	ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
		|	ЕСТЬNULL(ОстаткиНаСкладахОстатки.Склад, """") КАК Склад,
		|	ЕСТЬNULL(ОстаткиНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
		|	ОстаткиНаСкладахОстатки.Номенклатура КАК Номенклатура
		|ПОМЕСТИТЬ ВТ
		|ИЗ
		|	РегистрНакопления.ОстаткиНаСкладах.Остатки(&Дата, Склад = &Склад) КАК ОстаткиНаСкладахОстатки
		|		ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		|		ПО ОстаткиНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
		|			И ОстаткиНаСкладахОстатки.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	СпрНоменклатура.Ссылка КАК Номенклатура,
		|	ВТ.Характеристика КАК Характеристика,
		|	ВТ.ВидЦены КАК ВидЦены,
		|	ВТ.Цена КАК Цена,
		|	ВТ.Склад КАК Склад,
		|	ВТ.КоличествоОстаток КАК КоличествоОстаток
		|ИЗ
		|	Справочник.Номенклатура КАК СпрНоменклатура
		|		ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТ
		|		ПО СпрНоменклатура.Ссылка = ВТ.Номенклатура
		|ГДЕ
		|	СпрНоменклатура.Родитель = &Родитель
		|	И СпрНоменклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(Справочник.ВидыНоменклатуры.Товар)";
	
	Запрос.УстановитьПараметр("ВидЦены", ВидЦены);
	Запрос.УстановитьПараметр("Дата", Дата);
	Запрос.УстановитьПараметр("Склад", Склад);
	Запрос.УстановитьПараметр("Родитель", Родитель);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВДЗ = РезультатЗапроса.Выбрать();
	
	Список.Очистить();
	Пока ВДЗ.Следующий() Цикл
		Строка = Список.Добавить();
		Строка.Номенклатура = ВДЗ.Номенклатура;
		Строка.Характеристика = ВДЗ.Характеристика;
		Строка.Склад = ВДЗ.Склад;
		Строка.Цена = ВДЗ.Цена;
		Строка.ВидЦены = ВДЗ.ВидЦены;
		Строка.КоличествоОстаток = ВДЗ.КоличествоОстаток;
	КонецЦикла;
		
КонецФункции


&НаКлиенте
Процедура ИерархияНоменклатурыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	Родитель = Элементы.ИерархияНоменклатуры.ТекущаяСтрока;
	ЗаполнитьСписокНаСервере(Родитель);
КонецПроцедуры


Вот собственно и все. 

 

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

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	ПеречитатьТабЧасть();
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	ПеречитатьТабЧасть();
КонецПроцедуры

Процедура ПеречитатьТабЧасть()
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Таб.НомерСтроки КАК НомерСтроки,
	               |	Таб.Номенклатура КАК Номенклатура
	               |ПОМЕСТИТЬ ВР_НоменклатураДокумента
	               |ИЗ
	               |	&Таб КАК Таб
	               |;
	               |
	               |////////////////////////////////////////////////////////////////////////////////
	               |ВЫБРАТЬ
	               |	Номенклатура.Ссылка КАК Ссылка,
	               |	Номенклатура.Наименование КАК Наименование
	               |ПОМЕСТИТЬ ВР_Номенклатура
	               |ИЗ
	               |	Справочник.Номенклатура КАК Номенклатура
	               |ГДЕ
	               |	Номенклатура.Ссылка В
	               |			(ВЫБРАТЬ
	               |				ВР_НоменклатураДокумента.Номенклатура КАК Номенклатура
	               |			ИЗ
	               |				ВР_НоменклатураДокумента КАК ВР_НоменклатураДокумента)
	               |;
	               |
	               |////////////////////////////////////////////////////////////////////////////////
	               |ВЫБРАТЬ
	               |	ВР_НоменклатураДокумента.Номенклатура КАК Номенклатура,
	               |	ВР_Номенклатура.Наименование КАК Наименование
	               |ИЗ
	               |	ВР_НоменклатураДокумента КАК ВР_НоменклатураДокумента
	               |		ЛЕВОЕ СОЕДИНЕНИЕ ВР_Номенклатура КАК ВР_Номенклатура
	               |		ПО ВР_НоменклатураДокумента.Номенклатура = ВР_Номенклатура.Ссылка
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ВР_НоменклатураДокумента.Номенклатура,
	               |	ВР_Номенклатура.Наименование";
	Запрос.УстановитьПараметр("Таб", Список.Выгрузить());
	РезультатЗапроса = Запрос.Выполнить();
	Выборка = РезультатЗапроса.Выбрать();
	
	СтруктураПоиска = Новый Структура;
	СтруктураПоиска.Вставить("Номенклатура");
	
	Пока Выборка.Следующий() Цикл
		СтруктураПоиска.Номенклатура = Выборка.Номенклатура;
		МассивСтрок = Список.НайтиСтроки(СтруктураПоиска);
		Для Каждого СтрМассива ИЗ МассивСтрок Цикл
			СтрМассива.НаименованиеНоменклатуры = Выборка.Наименование;
		КонецЦикла;
	КонецЦикла;
	
КонецПроцедуры

&НаКлиенте
Процедура ОтборНаименованиеОчистка(Элемент, СтандартнаяОбработка)
	УстановитьОтбор("НаименованиеНоменклатуры","");
КонецПроцедуры


&НаКлиенте
Процедура ОтборНаименованиеИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
	УстановитьОтбор("НаименованиеНоменклатуры",Текст);
КонецПроцедуры

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

 

6

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

Комментарии
Избранное Подписка Сортировка: Дата
1. CheBurator 3404 14.11.18 04:12 Сейчас в теме
Категорически форма похожа на форму подбора из ТиС 77
3. srub 62 14.11.18 09:29 Сейчас в теме
(1)
Хотите верьте хотите нет, но я не видел ранее этой формы, и решал эту задачу самостоятельно применительно к своей самописной конфигурации. Данная архитектура была выбрана мной чтобы сохранить иерархию с Справочнике Номенклатура, так как использование характеристик сильно затруднило процесс. Я посмотрел как это устроено в Рознице и взял оттуда идею использовать ТаблицуЗначений Иерархия Номенклатуры, дальше все это чисто моя самодеятельность так как в типовой все очень сложно и много того что мне было просто не нужно. Так что это самостоятельное решение не содранное у кого, которое можно критиковать за какие то косяки, но оно меня устраивает применительно к решаемой задаче. Я выложил это здесь чтобы сэкономить кому то нужное время. И отнюдь не всегда внешнее сходство, подразумевает сходство реализации решения))) Вы сравните код, если у Вас есть код той обработки и тогда говорите о сходстве.
4. CheBurator 3404 14.11.18 23:25 Сейчас в теме
да я, вообще-то, и не ругаюсь...
5. srub 62 15.11.18 09:30 Сейчас в теме
(4)
Вас понял)) Есть какие то общие решения удобные для пользователя и такое расположение полей мне показалось очень удобным.))
6. srub 62 13.02.19 14:25 Сейчас в теме
Добавил в подбор поиск по строке
Оставьте свое сообщение

См. также

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

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

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

15.01.2020    3603    John_d    18       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

30 задач. Странных и не очень 117

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    7927    YPermitin    71       

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

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

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

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

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

05.09.2019    20523    ids79    45       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

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

7500 рублей

Три костыля. Сказ про фокусы в коде 130

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

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    12858    YPermitin    69       

Отслеживание выполнения фонового задания 154

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    16082    ids79    16       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

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

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

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

08.08.2019    25985    ids79    34       

Фоновое выполнение кода в 1С - это просто 149

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

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

02.08.2019    16146    avalakh    21       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

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

4500/9500 рублей

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты 153

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

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    22175    ids79    8       

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

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

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 161

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    16957    ids79    27       

Регистры сведений. За кулисами 134

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

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

09.07.2019    13255    YPermitin    12       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

"Меньше копипаста!", или как Вася универсальную процедуру писал 185

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    11409    SeiOkami    49       

Создание отчетов с помощью СКД - основные понятия и элементы 226

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

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    28450    ids79    17       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 180

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    15666    dmurk    144       

Регистры накопления. Структура хранения в базе данных 180

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

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    24700    YPermitin    27       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

Выполнение внешней обработки в фоновом задании 153

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    15696    Eret1k    23       

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

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

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

25.04.2019    8767    m-rv    2       

22 января состоится вебинар "Использование технологии блокчейн в 1С" Промо

На вебинаре вы узнаете как использовать современную технологию блокчейн при проектировании и создании учетных систем, почему эту технологию следует рассматривать как одну из базовых. Ведущий Михаил Калимулин поделится своими знаниями основ технологии и опытом внедрения.

990 рублей

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

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

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

16.04.2019    11722    m-rv    16       

О расширениях замолвите слово... 200

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

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    21280    ellavs    125       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 206

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

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

28.03.2019    17304    ellavs    83       

Трюки с внешними источниками данных 169

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    18881    YPermitin    53       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500