Архив метки: розница

Количество дней от первого поступления товара. 1С Розница 2.2

Например можно так:

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

Костылище при работе с ККМ в Розница 2.2.

С какого-то момента на одном из компьютеров с 1С, перестали печататься чеки на онлайн-кассе. Причем ошибок 1С никаких не показывала.  Причем при открытии/закрытии смен, чеки с Z отчетами выдавались.  Бился два дня с разнообразными настройками и поисками решения. Грешил и на ОС, и на 1С и на ККМ. Сегодня утром уже даже отладчиком 1С стал код шерстить, чтобы понять на каком моменте, что-то не так. Нашел:

&НаКлиенте
Процедура НапечататьЧекКлиент()
	Перем Отказ, ИдентификаторУстройства, ИспользоватьКассуБезПодключенияОборудования, РаспределениеВыручкиПоСекциям;
	
	ПодготовитьИПроверитьПечатьЧека(Отказ, ИдентификаторУстройства, ИспользоватьКассуБезПодключенияОборудования, РаспределениеВыручкиПоСекциям);
	
	Если Отказ Тогда
		Возврат
	КонецЕсли;
!!!!!!!! ошибка здесь!!!!!
	Если НЕ ИспользоватьПодключаемоеОборудование ИЛИ ИспользоватьКассуБезПодключенияОборудования Тогда
		
		Если НомерДокументаКассыККМ[Объект.КассаККМ] <> Неопределено Тогда
			Объект.НомерЧекаККМ  = НомерДокументаКассыККМ[Объект.КассаККМ];
		Иначе
			Объект.НомерЧекаККМ  = ПорядковыйНомерПродажи;
		КонецЕсли;
		Объект.ПробитЧек     = Истина;
		
		Модифицированность = Истина;

ИспользоватьПодключаемоеОборудование = ВСЕГДА = ЛОЖЬ.  Причем только когда работаешь в 1С именно на этом ПК. На других всё ок. Почему? Не понятно. Галочка стоит:

Место, где заполняется значение нашел:

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

И оно возвращает ИСТИНА! В общем, бился, бился..

Пока прибил всё это костылем:

&НаКлиенте
Процедура НапечататьЧекКлиент()
	Перем Отказ, ИдентификаторУстройства, ИспользоватьКассуБезПодключенияОборудования, РаспределениеВыручкиПоСекциям;
	
	ПодготовитьИПроверитьПечатьЧека(Отказ, ИдентификаторУстройства, ИспользоватьКассуБезПодключенияОборудования, РаспределениеВыручкиПоСекциям);
	
	Если Отказ Тогда
		Возврат
	КонецЕсли;
	// грибов
	// совершенно не понятный глюк
	ИспользоватьПодключаемоеОборудование=истина;
	//
	Если НЕ ИспользоватьПодключаемоеОборудование ИЛИ ИспользоватьКассуБезПодключенияОборудования Тогда

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

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

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

Не заполняется продавец в табличной части реализации 1С Розница

Ситуация: при подборе товаров в документе реализации не заполняется автоматически текущим продавцом соответствующий столбец в таблице с товаром.

Это не баг и не ошибка, по гуглу, «так и должно». Но руками выставлять нужного продавца — велика вероятность ошибки. А не заполнять — часть отчетов строится без «продавца». Например «Валовая прибыль».

Решение:

Добавляем подписку на событие для документа «Реализация», с событием «Перед записью». В принципе достаточно добавить что-то вроде:

Функция ПроверкаЗаполненияПродавца(Источник, Отказ) Экспорт
	//проверяем заполнена ли табличная часть реализации продаванами или нет
	для каждого стр из источник.Товары  цикл
		стр.продавец=источник.продавец;
	конеццикла;	
	///
КонецФункции

 

Странное поведение документа ОплатаОтПокупателейПлатежнойКартой в 1С Розница 2.2

Если документ проведен, то денежки идут на регистры «Расчеты с контрагентами» и «Продажи по платежным картам», вне зависимости от того, прошла оплата по карточке или нет. Т.е. например типичная ситуация:

Создали документ «Эквайринговая операция», провели его, попробовали оплатить с карты — не прошло. Клиенту «ну тогда платите наличкой». Документ закрыли, но 1С по регистрам будет считать, что деньги то поступили не в кассу! Хотя по факту вообще они могут никуда не поступить.

И в отчете «Продажи по платежным картам» мы тоже ничего не увидим!! Дурдом.

Единственный вариант — писать свой отчет по продажам, в котором проверять на true поле «Оплата прошла».