Версия для печати темы (https://pro1c.org.ua/index.php?showtopic=660)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.1 (8.0) _ Срочно нужна помощь по номенклатуре!!!

Автор: shiller 06.07.09, 16:09

Срочно надо добавить виды цен в справочник номенклатура, в 1с 8.0. Пример: Артикул\Наименование\Единица измерения\Ставка НДС\РозничнаяЦена\ЗакупочнаяЦена.
Если кто разберается, очень нужно.... За мной не заржавеет )
Отпишитесь сюда, либо на мыло shiller@list.ru.
Огромное спасибо заранее.

Автор: Batchir 06.07.09, 16:16

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

Автор: MATEVI 06.07.09, 16:22

Цитата(shiller @ 06.07.09, 18:09) *
Срочно надо добавить виды цен в справочник номенклатура, в 1с 8.0. Пример: Артикул\Наименование\Единица измерения\Ставка НДС\РозничнаяЦена\ЗакупочнаяЦена.
Если кто разберается, очень нужно.... За мной не заржавеет )
Отпишитесь сюда, либо на мыло shiller@list.ru.
Огромное спасибо заранее.





//Это в форме списка. Но я ставил не в колонку а в низ формы.
//И цена меняется при переходе по строкам.
Процедура СписокПриАктивизацииСтроки(Элемент)
ТипЦенПродажи = СтруктураУчетнойПолитики.ОсновнаяЦенаРеализации.Ссылка;
ЭлементыФормы.ПолеВводаЦена.Значение=РасчетОстатков.ОтображениеЦенТоваровИУслуг(
ЭлементыФормы.Список.ТекущиеДанные.Ссылка,ТипЦенПродажи);
КонецПроцедуры


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

Запрос.УстановитьПараметр("Номенклатура", ТекНоменклатура);
Запрос.УстановитьПараметр("ТипЦен", ТекТипЦен);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаЗапроса = РезультатЗапроса.Выбрать();
Если ВыборкаЗапроса.Следующий() Тогда
Цена=ВыборкаЗапроса.Цена;
КонецЕсли;
Возврат Цена

КонецФункции // ОтображениеЦенТоваровИУслуг()

У меня работает.
ЗЫ Критика принимается так как только учусь...

Автор: shiller 06.07.09, 18:03

Цитата(Batchir @ 06.07.09, 18:16) *
Если речь идет о форме списка, то можно добавить две константы с нужными типами цен, добавить в форму списка две колонки и при получении данных в форме списка получать цены из регистра в котором они хранятся.

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

Автор: shiller 06.07.09, 18:06

Цитата(MATEVI @ 06.07.09, 18:22) *
//Это в форме списка. Но я ставил не в колонку а в низ формы. И цена меняется при переходе по строкам.


Процедура СписокПриАктивизацииСтроки(Элемент)
ТипЦенПродажи = СтруктураУчетнойПолитики.ОсновнаяЦенаРеализации.Ссылка;
ЭлементыФормы.ПолеВводаЦена.Значение=РасчетОстатков.ОтображениеЦенТоваровИУслуг(
ЭлементыФормы.Список.ТекущиеДанные.Ссылка,ТипЦенПродажи);
КонецПроцедуры

Вставляю полностью весь код, при сохранении выдает :{Справочник.Номенклатура.Форма.ФормаСписка(444,58)}: Обнаружено логическое завершение исходного текста модуля
ЭлементыФормы.Список.ТекущиеДанные.Ссылка,ТипЦенПродажи);<<?>>


Второй код естессно пока не трогал.

Автор: MATEVI 06.07.09, 18:33

Цитата(shiller @ 06.07.09, 20:06) *
Вставляю полностью весь код, при сохранении выдает :{Справочник.Номенклатура.Форма.ФормаСписка(444,58)}: Обнаружено логическое завершение исходного текста модуля
ЭлементыФормы.Список.ТекущиеДанные.Ссылка,ТипЦенПродажи);<<?>>


Второй код естессно пока не трогал.


Я добавлял константы "ОсновнаяЦенаРеализации" и "ОсновнаяЦенаЗакупки" как и советовал Batchir. Затем значение ты и получаешь и получаешь из Структуры учетной политики.

И еще раз предупреждаю что в данном случае выкрутился из положения smile.gif Работать то оно будет ... Но мне тоже интересно правильно или нет так делать. И вообще где то читал что 1С не рекомендует такие вещи на форме списка справочника. Но а что делать если клиент хочет 09000000.gif
ЗЫ Но помню сколько сам "долбался" что бы реализовать то что когда то делалось одной строчкой...

Автор: shiller 06.07.09, 19:17

Цитата(MATEVI @ 06.07.09, 20:33) *
Я добавлял константы "ОсновнаяЦенаРеализации" и "ОсновнаяЦенаЗакупки" как и советовал Batchir. Затем значение ты и получаешь и получаешь из Структуры учетной политики.

И еще раз предупреждаю что в данном случае выкрутился из положения smile.gif Работать то оно будет ... Но мне тоже интересно правильно или нет так делать. И вообще где то читал что 1С не рекомендует такие вещи на форме списка справочника. Но а что делать если клиент хочет 09000000.gif
ЗЫ Но помню сколько сам "долбался" что бы реализовать то что когда то делалось одной строчкой...

Если не сложно, можешь выслать на мыло базу с переделанной номенклатурой. У меня послезавтра ппц на работе произойдет, нас перевели на восьмерку, очень резво, а директору до фени все было, и чтоб не платить оставалась 7.7...после приезда послезаврашнего начальства, я думаю буду искать работу )...
На всякий повторю : shiller@list.ru

Автор: Batchir 06.07.09, 19:37

1С не рекомендует, т.к. подобные фишки тормозят работу со списком, если клиент хочет, то ...

Рассмотрю пример только на одном типе цен для конфигурации УТ
1. Добавляем константу ТипЦенЗакупочная - Тип справочник ТипыЦен
2. На форму списка добавляем колонку, задаем имя ЗакупочнаяЦена, тип число, элемент управления - Поле ввода
3. В процедуре ПриВыводеСтроки пишем код:



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


Запрос.УстановитьПараметр("Номенклатура", ДанныеСтроки.Ссылка);
Запрос.УстановитьПараметр("ТипЦен", Константы.ТипЦенЗакупочная.Получить());

Запрос.Текст = ТекстЗапроса;
РЗ = Запрос.Выполнить();
Выборка = РЗ.Выбрать();
ЗакупочнаяЦена = 0;
Пока Выборка.Следующий() Цикл
ЗакупочнаяЦена = Выборка.Цена;
КонецЦикла;
ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена;


Данный код можно использовать также в процедуре ПриПолученииДанных, но нужно немного модифицировать

Результат прикреплен в файле:

Автор: shiller 07.07.09, 10:53

Спасибо огромное, только вот не могу найти процедуру ПриВыводеСтроки... У меня "Процедура СписокПриАктивизацииСтроки"..это не одно и тоже???

Автор: zetovich 07.07.09, 11:01

Цитата(shiller @ 07.07.09, 12:53) *
Спасибо огромное, только вот не могу найти процедуру ПриВыводеСтроки... У меня "Процедура СписокПриАктивизацииСтроки"..это не одно и тоже???

в свойствах табличного поля....там есть сия процедура.
нет, не одно и тоже.

Автор: shiller 07.07.09, 12:20

А че прописывать надо в свойствах закупочной цены в графе данные???

Автор: zetovich 07.07.09, 12:29

Цитата(shiller @ 07.07.09, 14:20) *
А че прописывать надо в свойствах закупочной цены в графе данные???

не совсем понятно где...

Автор: MATEVI 07.07.09, 14:45

Цитата(shiller @ 07.07.09, 14:20) http://pro1c.org.ua/index.php?act=findpost&pid=2146
Тогда ничего...

И я немного ошибся. Я не добавлял константы. А добавлял реквизиты "ОсновнаяЦенаРеализации" и "ОсновнаяЦенаЗакупки" в регистр сведений "Учетная политика".

И какая ж конфа у Вас

Автор: shiller 07.07.09, 15:30

Вот что я имею в виду :

Версия конфига 10.2 (10.2.4.4)

И MATEVI у тебя на скрине опция "Пометить все типы цен"...у меня нет такого
Просто теперь у меня появилась ячейка в номенклатуре, с названием закупочная, но в ней ничего не происходит, и если на ней нажать два раза то вылазит во что : " {Справочник.Номенклатура.Форма.ФормаСписка(467)}: Поле объекта не обнаружено (Значение)
ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена; "

И где это значение само находится чтобы его изменить я найти не могу.

Автор: MATEVI 07.07.09, 15:57

Цитата(shiller @ 07.07.09, 17:30) *
Вот что я имею в виду :

Версия конфига 10.2 (10.2.4.4)

И MATEVI у тебя на скрине опция "Пометить все типы цен"...у меня нет такого
Просто теперь у меня появилась ячейка в номенклатуре, с названием закупочная, но в ней ничего не происходит, и если на ней нажать два раза то вылазит во что : " {Справочник.Номенклатура.Форма.ФормаСписка(467)}: Поле объекта не обнаружено (Значение)
ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена; "

И где это значение само находится чтобы его изменить я найти не могу.


Ох и сложно это все smile.gif

1. Название ячейки должно быть "ЗакупочнаяЦена" а не "закупочная" И в запросе который дал Batchir ты собственно и определяешь что будет в этой ячейке...
2. Там где ты указываешь ничего ставить не надо! Посмотри внимательно на мою картинку вернее ее часть справа.
3. "у тебя на скрине опция "Пометить все типы цен"..." - это к тому что тебе надо не имеет отношения

Автор: shiller 07.07.09, 18:28

Все. Зделал все как надо, везде все проставил. Но вот эта ошибка постоянно вылазит когда запускаешь уже в самой программе номенклатуру - {Справочник.Номенклатура.Форма.ФормаСписка(467)}: Поле объекта не обнаружено (Значение)
ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена;

Че с ней делать то?

Автор: MATEVI 07.07.09, 18:46

Цитата(shiller @ 07.07.09, 20:28) *
Все. Зделал все как надо, везде все проставил. Но вот эта ошибка постоянно вылазит когда запускаешь уже в самой программе номенклатуру - {Справочник.Номенклатура.Форма.ФормаСписка(467)}: Поле объекта не обнаружено (Значение)
ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена;

Че с ней делать то?


Я честно сказать не знаю. У меня получилось и по своему и так как предложил Batchir.
Воложи может конфигурацию (*.cf) Попробую тебе помочь, если конечно кто то поопытней не подскажет в чем причина ошибки...

Автор: shiller 07.07.09, 19:05

http://pro1c.org.ua/redirect.php?http://webfile.ru/3759240
Сылка на конфиг... Посмотри, может что поймеш.

Автор: MATEVI 07.07.09, 20:07

Цитата(shiller @ 07.07.09, 21:05) http://pro1c.org.ua/index.php?act=findpost&pid=2195
Сылка на конфиг... Посмотри, может что поймеш.

Что то я не смог загрузить твою конфигурацию ни 80 ни 8.1 даж в 8.2 попытался. Пишет что структура конфигурации не совместима с текущей версией программы... Какой релиз платформы у Вас

Автор: zetovich 07.07.09, 20:22

друзья ,проверте наличие колнки "ЗакупочнаяЦена" в "Справочник.Номенклатура.Форма.ФормаСписка", это если Вы через "ПриВыводеСтроки" списка номенклатуры.
з.ы. число smile.gif

Автор: shiller 08.07.09, 7:23

Цитата(zetovich @ 07.07.09, 22:22) http://pro1c.org.ua/index.php?act=findpost&pid=2198
тип число...


Вот о чем это??? Где это число выбирать, я вообще не пойму. Я так думаю у меня из-за вот этого недобавленого значения выдает ошибку.

Автор: zetovich 08.07.09, 8:13

в "Справочник.Номенклатура.Форма.ФормаСписка" добавить колонку "ЗакупочнаяЦена" тип ее "число".
в Процедуре ПривыводеСтроки:



ОформлениеСтроки.Ячейки.ЗакупочнаяЦена.Значение = ЗакупочнаяЦена;

где, ЗакупочнаяЦена предварительно получена с функции (в которой запрос по регистру "ЦеныНоменклатуры")
этоесли хотите что б в списке выводило цену

Автор: Batchir 08.07.09, 8:26

Добавлю, чтобы определить тип нужно смотреть свойства не шапки "ЗакупочнаяЦена", а встать на поле ввода в строке и выбрать свойства.

Автор: shiller 08.07.09, 10:24

Смотрите:
1) Создал константу
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/s56.radikal.ru/i152/0907/5b/5197c559db83.jpg.html

2)Создал колонку ЗакупочнаяЦена
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/i021.radikal.ru/0907/82/0757649620ec.jpg.html

3)Теперь вроде так...
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/i082.radikal.ru/0907/4c/167e27c2a2b8.jpg.html

4)Теперь так
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/i049.radikal.ru/0907/32/4462935cf47f.jpg.html

5) Прописываю код (все верно?)
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/s50.radikal.ru/i128/0907/c2/2b1677a5de21.jpg.html

6)Все сохраняетсо грузится в базу, запускаю 1с и когда открываю номенклатуру выдает это:
http://pro1c.org.ua/redirect.php?http://radikal.ru/F/s58.radikal.ru/i162/0907/55/9f7ab95e73c3.jpg.html

ЗЫ: Ошибку кстати выдает если в номенклатуре создана група для товара или какоето наименование, попробовал на чистую базу, пустая номенклатура открывается без ошибки, а когда начинаешь создавать чтото в ней она начинает появлятся...вот так в принципе..и че делать я ни наю (

Автор: zetovich 08.07.09, 10:58

отладчик никто еще не отменял.
посмтрите что "ОформлениеСтроки"

Автор: shiller 08.07.09, 11:39

Цитата(zetovich @ 08.07.09, 12:58) *
отладчик никто еще не отменял.
посмтрите что "ОформлениеСтроки"

Простите..но я чет ниче не понял )

Автор: Batchir 08.07.09, 11:50

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

Автор: zetovich 08.07.09, 11:58

Цитата(shiller @ 08.07.09, 13:39) *
Простите..но я чет ниче не понял )

отладчиком посмотреть значение этой переменной....есть там такое куда Вы обращаетесь?

Автор: shiller 08.07.09, 12:19

Я матрел ниче подобного не нашел...
Batchir не могли бы вы скинуть мне свой конф пустой, для 8.0...мож у мну конфиг кривой какойто... был бы очень обязан.

Автор: Batchir 08.07.09, 12:33

делал для 8.1 - может в этом причина?
Прчем, насколько я понял, у Вас российская версия (10.2) я делал на 2.3.3.4 для Украины.

Автор: shiller 08.07.09, 15:14

А мона сылку де скачать? Только если если мона ссылку сразу и на прогу, так как рабочюю нашел только 8.0.

Автор: shiller 08.07.09, 15:53

Ставлю 8.1 пишет не обнаружен ключ защиты программы...че с ним делать? Хотя хасп установлен вродьбы.
Вообщем у меня уже крышу отрывает, мне завтра здавать результаты а у меня ниче не готово...ужасть.. блин, ну вышлите ктонить базу и прогу на мыло...

Автор: Batchir 08.07.09, 22:32

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

Автор: shiller 09.07.09, 10:05

Да любая. У меня 1с 8.0 , я впрочем писал уже. Пробывал ставить 8.1 , 8.2... у меня на каждой пищет на найден ключ защиты, естессно я не могу поставить ниодну из других конфигов на которые есть ссылки. Вот я и думаю что может быть сами клиенты программы которые я скачал, немножко бочинят.. Поэтому мне что небудь, у вас же работает тип цен, за который велась беседа всю эту тему... а я уже раз 10 пробовал на эту базу у меня постоянно ошибки выдает.
ЗЫ Поэтому я согласен на что угодно, главное чтобы работало!

Автор: Batchir 09.07.09, 20:01

Файл конфигурации УТ 2.3.3.4 - http://pro1c.org.ua/redirect.php?http://ifolder.ru/13033565
1. Объеденить с типовой конфигурацией.
2. В режиме предприятия в константах на закладке "Печать, единицы, цены" выбрать закупочный и розничный тип цен (ОБЯЗАТЕЛЬНО, без этого не работает).
3. С помощью документов "Установка цен номенклатуры" установить закупочные и розничные цены для номенклатуры.
4. Смотреть на результат.
5. С тебя пиво icon_beer17.gif


В результате получилось это:


Автор: wwizard 17.10.11, 12:54

Цитата(Batchir @ 06.07.09, 20:37) http://pro1c.org.ua/index.php?act=findpost&pid=2073
Файл конфигурации УТ 2.3.3.4 - http://pro1c.org.ua/redirect.php?http://ifolder.ru/13033565
1. Объеденить с типовой конфигурацией.
2. В режиме предприятия в константах на закладке "Печать, единицы, цены" выбрать закупочный и розничный тип цен (ОБЯЗАТЕЛЬНО, без этого не работает).
3. С помощью документов "Установка цен номенклатуры" установить закупочные и розничные цены для номенклатуры.
4. Смотреть на результат.
5. С Вас пиво icon_beer17.gif


В результате получилось это:

а можно еще раз выложить файлик, там его уже нету

Автор: Vofka 17.10.11, 13:07

Цитата
а можно еще раз выложить файлик, там его уже нету

Нельзя!!! Правила, я смотрю вы так и не прочитали. Ну-ну. Закрыто!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua