ОСВ по счету, номенклатура, обработка
25.12.2011
17:04
#21
"
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СпрНоменклатура.ссылка КАК НоменклатураЭлемент,
| ЦеныНоменклатуры.Цена КАК Цена
|ИЗ
| Справочник.Номенклатура КАК СпрНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
| ПО ЦеныНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Бегаем по всей номенклатуре у которой установлены цены
Сообщение = Новый СообщениеПользователю();
// получим объект справочника
Номенклатура = ВыборкаДетальныеЗаписи.НоменклатураЭлемент.ПолучитьОбъект();
// присвоим нужную цену
Номенклатура.ЦенаДляОСВ = ВыборкаДетальныеЗаписи.Цена;
Номенклатура.записать();
// вуаля, бестолковая обработка готова, но над ней еще нужно работать,
// потому как не задана дата, на которую выбирать цены
// и еще много вопросов возникает в ходе анализа этого кода.
Сообщение.Текст ="У номенклатуры - "+ВыборкаДетальныеЗаписи.НоменклатураЭлемент+" стоит цена "+ Строка(ВыборкаДетальныеЗаписи.Цена)+" "+Строка(ТипЗНЧ(ВыборкаДетальныеЗаписи.Цена));
Сообщение.Сообщить();
//Справочники.Номенклатура.Выбрать().ЦенаДляОСВ=ВыборкаДетальныеЗаписи.Цена;
КонецЦикла;
"
26.12.2011
09:53
#24
"а зачем? ;) дата ведь не требуется?
> // вуаля, бестолковая обработка готова, но над ней еще нужно работать,"
> // вуаля, бестолковая обработка готова, но над ней еще нужно работать,"
26.12.2011
09:54
#25
"Могу предложить такое решение.
- Для справочника "Номенклатура" заводите доп.реквизит "Учетная цена".
- С помощью обработки с диска ИТС "Универсальные подбор и обработка объектов" устанавливаете значение этого свойства по последним данным из регистра сведений "Цены номенклатуры" по определенному типу цен.
- Действие обработки:
- Объект поиска - справочник "Номенклатура"
- В отборе устанавливаете "Объект.ЭтоГруппа - Равно - Нет"
- Запускаете "Найти объекты"
- Найденные объекты сортируете по коду
- В "Обработках" создаете "Произвольный алгоритм"
Код произвольного алгоритма "Установка учетной цены":
- Для справочника "Номенклатура" заводите доп.реквизит "Учетная цена".
- С помощью обработки с диска ИТС "Универсальные подбор и обработка объектов" устанавливаете значение этого свойства по последним данным из регистра сведений "Цены номенклатуры" по определенному типу цен.
- Действие обработки:
- Объект поиска - справочник "Номенклатура"
- В отборе устанавливаете "Объект.ЭтоГруппа - Равно - Нет"
- Запускаете "Найти объекты"
- Найденные объекты сортируете по коду
- В "Обработках" создаете "Произвольный алгоритм"
Код произвольного алгоритма "Установка учетной цены":
Состояние("Обработка номенклатуры: " + СокрЛП(Объект.Код) + " «" + СокрЛП(Объект.Наименование) + "»...");
// определяем исходные настройки обработки
ИмяСвойства = "Учетная цена";
ИмяТипаЦен = "Оптовая";
СвойствоУчетнаяЦена = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ИмяСвойства, Истина);
ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию(ИмяТипаЦен, Истина);
Если ЗначениеЗаполнено(СвойствоУчетнаяЦена) И ЗначениеЗаполнено(ТипЦен) Тогда
// получаем значение цены для номенклатуры
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| ,
| Номенклатура = &Номенклатура
| И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних"
;
Запрос.УстановитьПараметр("Номенклатура", Объект.Ссылка);
Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
Результат = Запрос.Выполнить();
// записываем полученное значение цены в доп.реквизит
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
ЗаписьСвойства = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
ЗаписьСвойства.Объект = Объект.Ссылка;
ЗаписьСвойства.Свойство = СвойствоУчетнаяЦена;
ЗаписьСвойства.Значение = Выборка.Цена;
ЗаписьСвойства.Записать();
КонецЕсли;
Иначе
Сообщить("Ошибка настроек: доп.реквизит номенклатуры - " + ИмяСвойства + "; тип цен номенклатуры - " + ИмяТипаЦен, СтатусСообщения.Важное);
КонецЕсли; " 27.12.2011
16:18
#27
Показал бухам остались не довольны. Сказали, чтобы было как в 7.7, притензии чисто к оформлению, покопал в эту сторону и в сторону обновления конфы, понял, что буду делать внешний отчет. Спасибо, огромное всем принявшим участие в дискуссии.
29.12.2011
07:11
#30
"Всегда при переходе возникают, такие вопросы: хочу как в старой.
На самом деле сначала нужно выяснить зачем это потом используется и что вообще они хотят с этим делать?
Может быть достаточно найти и правильно настроить типовой отчет или использовать универсальный прежде чем ломать конфу или париться с внешней обработкой.
У вас материалы
1. могут приходить разными партиями соответственно и цены у них могут быть разные в зависимости от партии, это если установлен партионный учет
2. при перемещении, списании в зависимости от учетной политики опять же стоимость зависит от партии
Так какую цену хотят видеть в отчете, а самое главное для чего????
Это в 1С бухгалтерии 7.7 не было партий(или они как-то работали не так. Я уже не помню) и каждый полученный материал приходилось вводить новой строкой, а в 8.2 все работает замечательно;) и не надо раздувать огромный справочник номенклатуры.
В любом случае как в 1С 7.7 не будет."
На самом деле сначала нужно выяснить зачем это потом используется и что вообще они хотят с этим делать?
Может быть достаточно найти и правильно настроить типовой отчет или использовать универсальный прежде чем ломать конфу или париться с внешней обработкой.
У вас материалы
1. могут приходить разными партиями соответственно и цены у них могут быть разные в зависимости от партии, это если установлен партионный учет
2. при перемещении, списании в зависимости от учетной политики опять же стоимость зависит от партии
Так какую цену хотят видеть в отчете, а самое главное для чего????
Это в 1С бухгалтерии 7.7 не было партий(или они как-то работали не так. Я уже не помню) и каждый полученный материал приходилось вводить новой строкой, а в 8.2 все работает замечательно;) и не надо раздувать огромный справочник номенклатуры.
В любом случае как в 1С 7.7 не будет."