Архив рубрики: 1C

Разработки на платформе 1С

1С : версия компоненты comcntr отличается от версии корневого модуля

После обновления платформы начала собственно выскакивать эта ошибка при синхронизации ЗУП и Бухгалтерии.

Решение:

В реестре ищем все записи с упоминанием comcntr.dll и меняем путь нахождения библиотеки. Например :

После перезагрузки должно заработать.

Массовая установка вида номенклатуры 1С Розница 2.2

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

Скачать можно на инфостарте

Код:

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	
 ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение);
 
КонецПроцедуры


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

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

&НаСервере
Функция ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение)	
	ТаблицаТоваров = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресТоваровВХранилище);
	для каждого стр из ТаблицаТоваров цикл
		сс=объект.СписокНоменклатуры.Добавить();
		сс.номенклатура=стр.номенклатура;
	конеццикла;	
КонецФункции

&НаСервере
Процедура изменитьвид(ном,вид)
	об=ном.ПолучитьОбъект();
	об.ВидНоменклатуры=вид;
	об.Записать();
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьВидНоменклатуры(Команда)
	если объект.ВидНоменклатуры=объект.ВидНоменклатуры.Пустая() тогда
		сообщить("Не выбран вид номенклатуры!");
	иначе	
		для каждого стр из объект.СписокНоменклатуры цикл
			изменитьвид(стр.номенклатура,объект.ВидНоменклатуры);
		конеццикла;	
		сообщить("Готово!");
	конецесли;
КонецПроцедуры

Загрузка изображений в справочник номенклатуры из csv файла Розница 2.2

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

Решение: пишем универсальный загрузчик изображений из csv. Изображения могут располагаться как в папке на жестком диске, так и в сети.

1) Выбираем разделитель  csv, стартовую строку (например первую строчку — обычно это названия колонок, нужно пропустить)

2) Выбираем колонки, где что находится в файле csv. Соответствие номенклатуры базы и файлу  идет по артикулу. Предусмотрена загрузка до 4-х картинок за один проход, которые располагаются в колонках «Ссылка 1..4». Если в колонке значение-1,  значит файла картинки нет в этой колонке.

3) Нажимаем кнопку «Загрузить CSV» и выбираем файл. После чего он будет загружен в табличную часть

Если  соответствие артикула и номенклатуры найдено в базе — будет заполнена колонка «Номенклатура».

4) Нажимаем кнопку «Прикрепить изображение». Обработка скачает картинку, сохранит его в базе или на томах, и прикрепит к номенклатуре:

Скачать обработку можно здесь

Читать далее Загрузка изображений в справочник номенклатуры из csv файла Розница 2.2

Программное присоединение изображения к номенклатуре. 1С Розница 2.2

Этот код присоединяет картинку к номенклатуре, и делает её «по умолчанию».

	ИмяВременногоФайла="c:\temp\minion.jpg";                        
    ном=Справочники.Номенклатура.НайтиПоКоду("1536       ");            
                                    
	ПараметрыФайла=Новый Структура;
	ПараметрыФайла.Вставить("Автор",Пользователи.НайтиПоИмени("Администратор"));
	ПараметрыФайла.Вставить("ВладелецФайлов",ном.Ссылка);
	ПараметрыФайла.Вставить("ИмяБезРасширения","бла-бла-3");
	ПараметрыФайла.Вставить("РасширениеБезТочки","jpg");
	ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное",ТекущаяУниверсальнаяДата());	
		
	ДвоичДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
	АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичДанные);
	
	фс=ПрисоединенныеФайлы.ДобавитьПрисоединенныйФайл(ПараметрыФайла,АдресВременногоХранилищаФайла,,,);
	
	об=ном.ПолучитьОбъект();
	об.ФайлКартинки= фс;
	об.Записать();

1С Розница 2.2, сохранить присоединенные к номенклатуре картинки

Присоединенные к номенклатуре файлы можно выгрузить например так:

&НаСервереБезКонтекста
Процедура ПолучитьФайлыНаСервере()
	ном=Справочники.Номенклатура.НайтиПоКоду("1534       ");
	сообщить(ном.ФайлКартинки);
	Запрос = Новый Запрос;
		Запрос.Текст = 		
"ВЫБРАТЬ
|	НоменклатураПрисоединенныеФайлы.Ссылка КАК Ссылка,
|	НоменклатураПрисоединенныеФайлы.ПутьКФайлу КАК ПутьКФайлу,
|	НоменклатураПрисоединенныеФайлы.ТипХраненияФайла КАК ТипХраненияФайла,
|	НоменклатураПрисоединенныеФайлы.Том КАК Том,
|	НоменклатураПрисоединенныеФайлы.ФайлХранилище КАК ФайлХранилище
|ИЗ
|	Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
|ГДЕ
|	НоменклатураПрисоединенныеФайлы.ВладелецФайла.Ссылка = &ном"	;
		
	 Запрос.УстановитьПараметр("ном", ном);					
	 файлы=Запрос.Выполнить().Выбрать();			
	 n=0;
	 Пока файлы.Следующий() Цикл		
		 сообщить(файлы.ПутьКФайлу);
		 сообщить(файлы.ТипХраненияФайла);
		 сообщить(файлы.Том);
		 сообщить(файлы.ФайлХранилище);
		 картинка=ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(файлы.Ссылка);
		 картинка.Записать("c:\temp\"+n+".jpg");
		 n=n+1;
	 конеццикла;	 
КонецПроцедуры

&НаКлиенте
Процедура ПолучитьФайлыКлиент(Команда)
	ПолучитьФайлыНаСервере();
КонецПроцедуры