Последний релиз 3.0.17.4 - Каминсофт

Последний релиз 3.0.17.4

22 нояб 2013 10:10 #1
от Алексей Каневский
Добрый день!

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

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

Кроме того не понятна проверка - ЗначениеЗаполнено(Ссылка). По-моему, она всегда будет не заполнена, т.к. документ только создан на основании другого и еще не записан. Соответсвенно, всегда будем получать остатки на текущую дату, что, видимо, не совсем правильно.

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

После проделанных изменений, документ ПереоценкаТоваровВРознице стал формироваться, однако некоторые документы перемещения товаров не проводятся с сообщением типа: "Цена 35 в строке №2 для номенклатуры пицца отличается от цены 23,27, установленной для розничного подразделения Кафе мороженое. Необходимо ввести переоценку товаров в рознице."
Вводим ПереоценкуТоваровВРознице, но все равно получаем подобное сообщение.
Как исправить подобные ошибки?
Тема закрыта.

22 нояб 2013 10:23 #2
от Андрей Ланьшин
Во встроенной справке к документу: "Документ «Переоценка товаров в рознице» предназначен для переоценки остатков товаров в розничном подразделении, способ оценки товаров в котором «По продажной стоимости»."

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

22 нояб 2013 11:25 #3
от Алексей Каневский
Таким образом, документ выбирает всю номенклатуру, которая есть в розничном подразделении, в старую цену проставляет значение сумма/количество, а в новую ту, которая должна быть для каждого товара.
Так я понимаю алгоритм?

Тогда кнопка "Заполнить по данным учета" на форме документа так же вызывает ошибку деления на ноль в запросе:
{Документ.ПереоценкаТоваровВРознице.Форма.ФормаДокумента.Форма(62)}: Ошибка при вызове метода контекста (Выполнить)
Объект.Товары.Загрузить(Запрос.Выполнить().Выгрузить());
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric

Изменил запрос в процедуре ЗаполнитьТЧПоДаннымУчета формы документа:
Запрос.Текст = 
	"ВЫБРАТЬ
	|	ПартииТоваровВПодразделенияхОстатки.Номенклатура,
	|	ПартииТоваровВПодразделенияхОстатки.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
	|	ПартииТоваровВПодразделенияхОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Коэффициент,
	|	ПартииТоваровВПодразделенияхОстатки.КоличествоОстаток КАК Количество,
	|	ПартииТоваровВПодразделенияхОстатки.КоличествоОстаток КАК КоличествоУчетное,
	|	ВЫБОР
	|		КОГДА ПартииТоваровВПодразделенияхОстатки.КоличествоОстаток > 0
	|			ТОГДА ПартииТоваровВПодразделенияхОстатки.СуммаОстаток / ПартииТоваровВПодразделенияхОстатки.КоличествоОстаток
	|		ИНАЧЕ 1
	|	КОНЕЦ КАК ЦенаСтарая
	|ИЗ
	|	РегистрНакопления.ПартииТоваровВПодразделениях.Остатки(
	|			&ДатаДокумента,
	|			Организация = &Организация
	|				И Подразделение = &Подразделение) КАК ПартииТоваровВПодразделенияхОстатки";

После исправления запроса, команда отрабатывает. Однако тогда при использовании Заполнить по данным учета в этом документе хорошо бы еще заполнять и цену новую. Брать ее из регистра сведений Цены номенклатуры. Ведь они когда-то были установлены. Если надо будет поменять что-то, пользователь сделает это. А так получается, что заполняются цены по остаткам, а новые цены надо ставить руками:(


И что делать в случае, если номенклатура поступает в розничное подразделение впервые?
Документ перемещения ссылается на необходимость переоценки товаров в рознице, Переоценке товаров в рознице нечего переоценивать. Замкнутый круг:(
Тема закрыта.

22 нояб 2013 13:07 #4
от Андрей Ланьшин
По поводу деления на 0 - это ошибка! Спасибо, исправим в следующем релизе.

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

22 нояб 2013 13:12 #5
от Андрей Ланьшин

Таким образом, документ выбирает всю номенклатуру, которая есть в розничном подразделении, в старую цену проставляет значение сумма/количество, а в новую ту, которая должна быть для каждого товара.
Так я понимаю алгоритм?
(


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

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

22 нояб 2013 13:51 #6
от Алексей Каневский

Таким образом, документ выбирает всю номенклатуру, которая есть в розничном подразделении, в старую цену проставляет значение сумма/количество, а в новую ту, которая должна быть для каждого товара.
Так я понимаю алгоритм?
(


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


Вот тут-то и проблема...
Если номенклатура впервые поступает в розничное подразделение, то что надо сделать, чтобы документ провелся?
В нашей базе есть пример такого. По номенклатуре "Мясо по-французски" есть установка розничной цены от 01.11 в 00:00
Но документ перемещения номенклатуры 01.11 в 10:30 не проводится с сообщением о нулевой цене этой номенклатуры. Формирование документа ПереоценкиТоваровВРознице так же не спасает ситуацию.
Замкнутый круг:(
Тема закрыта.

22 нояб 2013 14:09 #7
от Андрей Ланьшин
Пришлите базу на hotline.

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

22 нояб 2013 14:11 #8
от Алексей Каневский
Я отправлял последнюю Петрову Александру.
Тема закрыта.

22 нояб 2013 14:14 #9
от Андрей Ланьшин
Кроме базы пришлите, пожалуйста (на hotline@kamin.kaluga.ru), последовательность действий, приводящих к ошибке (с указанием номеров документов в Вашей базе, на которых можно смоделировать описанную ранее ситуацию)

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

22 нояб 2013 14:26 #10
от Алексей Каневский
отправил
Тема закрыта.
Спасибо сказали: Андрей Ланьшин
28 нояб 2013 13:55 #11
от Алексей Каневский
Еще вопрос появился:

Документ Выпуск продукции раньше формировал СуммуДокумента при записи, а теперь вообще этого не делает.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

СуммаДокумента = Продукция.Итог("Сумма");

КонецПроцедуры
возвращает 0

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

28 нояб 2013 14:07 #12
от Алексей Каневский
ВЫБРАТЬ
	ВыпускПродукцииПродукция.Ссылка,
	ВыпускПродукцииПродукция.НомерСтроки,
	ВыпускПродукцииПродукция.Номенклатура,
	ВыпускПродукцииПродукция.ЕдиницаИзмерения,
	ВыпускПродукцииПродукция.Коэффициент,
	ВыпускПродукцииПродукция.КарточкаПродукта,
	ВыпускПродукцииПродукция.Количество,
	ВыпускПродукцииПродукция.КоличествоУчетное,
	ВыпускПродукцииПродукция.Цена,
	ВыпускПродукцииПродукция.Сумма,
	ВыпускПродукцииПродукция.СтруктурнаяЕдиница,
	ВыпускПродукцииПродукция.Комментарий
ИЗ
	Документ.ВыпускПродукции.Продукция КАК ВыпускПродукцииПродукция
ГДЕ
	ВыпускПродукцииПродукция.Ссылка = &Ссылка

выполнил заапрос к документу Выпуск продукции.
В документе не заполнены поля Цена и Сумма
Тема закрыта.

28 нояб 2013 14:13 #13
от Андрей Ланьшин
А на форме в документе выпуска продукции колонки Цена и Сумма отображаются?

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

28 нояб 2013 14:39 #14
от Алексей Каневский

А на форме в документе выпуска продукции колонки Цена и Сумма отображаются?


Нет, но это т.к. подразделение не розничное. Производство. В старых документах суммы заполнены
Тема закрыта.

28 нояб 2013 14:53 #15
от Андрей Ланьшин

А на форме в документе выпуска продукции колонки Цена и Сумма отображаются?


Нет, но это т.к. подразделение не розничное. Производство. В старых документах суммы заполнены


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

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

28 нояб 2013 14:57 #16
от Алексей Каневский

А на форме в документе выпуска продукции колонки Цена и Сумма отображаются?


Нет, но это т.к. подразделение не розничное. Производство. В старых документах суммы заполнены


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

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

28 нояб 2013 15:17 #17
от Андрей Ланьшин
На текущий момент автоматического заполнения цен и сумм в документе перемещения нет, кроме как ввода на основании документа, где эти данные существуют и заполнены.
Спасибо за предложение, учтем заполнение этих реквизитов в случае перемещения в розничное подразделение (добавим в документ перемещения реквизит "Тип цены", при изменении которого будет заполнятся значение в колонках Цена и Сумма)

Ланьшин Андрей, фирма КАМИН
Правильно заданный вопрос содержит половину ответа!
Тема закрыта.

28 нояб 2013 15:24 #18
от Алексей Каневский
помогло формирование выпуска продукции заново на основании Планов-Меню.
Видимо косяк был в старом релизе.
Тема закрыта.

Опрос
Всего 3 простых вопроса

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

Принять