|
Несколько типов цен в одном документе Установка цен. | ☑ | ||
---|---|---|---|---|
0
RasuLL
02.01.13
✎
15:31
|
Пытаюсь в документ добавить два типа цен
ДокУстановкаЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокУстановкаЦен.Дата = Дата; ДокУстановкаЦен.ТипыЦен.Очистить(); ВыборкаТипЦен = ДокУстановкаЦен.ТипыЦен.Добавить(); ВыборкаТипЦен2 = ДокУстановкаЦен.ТипыЦен.Добавить(); ТипЦены = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000001"); ТипЦены2 = Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000002"); ВыборкаТипЦен.ТипЦен = ТипЦены; ВыборкаТипЦен2.ТипЦен = ТипЦены2; тчТовары = ДокУстановкаЦен["Товары"]; СтрокаТаблицаТовары = тчТовары.Добавить(); СтрокаТаблицаТовары["Номенклатура"] = НовыйЭлемент.Ссылка; СтрокаТаблицаТовары["Валюта"] = ВалютаДок; СтрокаТаблицаТовары["ЕдиницаИзмерения"] = НовыйЭлемент.ЕдиницаХраненияОстатков; СтрокаТаблицаТовары["ТипЦен"] = ТипЦены; СтрокаТаблицаТовары["Цена"] = ЦенаПервая; СтрокаТаблицаТовары["ТипЦен"] = ТипЦены2; СтрокаТаблицаТовары["Цена"] = ЦенаВторая; выбирает только второй тип цен...в чем ошибка? |
|||
1
IamAlexy
02.01.13
✎
15:32
|
вот в этом:
СтрокаТаблицаТовары["ТипЦен"] = ТипЦены; СтрокаТаблицаТовары["Цена"] = ЦенаПервая; СтрокаТаблицаТовары["ТипЦен"] = ТипЦены2; СтрокаТаблицаТовары["Цена"] = ЦенаВторая; |
|||
2
RasuLL
02.01.13
✎
15:33
|
(1) а как правильней?
|
|||
3
IamAlexy
02.01.13
✎
15:34
|
(2) правильнее не так..
ибо так ты сначала в реквизит пишешь типцены1 а затем туда же поверх типцены2 что за конфа то? как правило установка цен все же только по одному типу цен устанавливает и по одной валюте... |
|||
4
RasuLL
02.01.13
✎
15:36
|
(3) УТ 10,3. Хочу установить закупочную и продажную цену в один документ. А как выбрать отдельно?
|
|||
5
Сияющий Асинхраль
02.01.13
✎
15:38
|
Рабочий текст:
ДокЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокЦен.Дата = РабочаяДата; ДокЦен.НеПроводитьНулевыеЗначения = Ложь; ДокЦен.Ответственный = Ответственный; Для Каждого Строка Из тзТиповЦен Цикл СтрокаТЦ = ДокЦен.ТипыЦен.Добавить(); СтрокаТЦ.ТипЦен = Строка.ТипЦены; КонецЦикла; Тмп = 0; ПустаяХарактеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка(); Для Счетчик = 0 По ВсегоСтрокДляЦикла Цикл СтрокаТаблицыТиповЦен = тзОсн[Счетчик]; Если СтрокаТаблицыТиповЦен.ЭтоЭлемент = 0 Тогда Продолжить; КонецЕсли; Для Каждого Строка Из тзТиповЦен Цикл НоваяСтрока = ДокЦен.Товары.Добавить(); НоваяСтрока.ИндексСтрокиТаблицыЦен = Тмп; НоваяСтрока.Номенклатура = СтрокаТаблицыТиповЦен.спрНоменклатура; НоваяСтрока.ХарактеристикаНоменклатуры = ПустаяХарактеристика; НоваяСтрока.ТипЦен = Строка.ТипЦены; НоваяСтрока.Цена = СтрокаТаблицыТиповЦен["Цена_" + Строка.НомерКолонкиВЛистеЗагрузки]; НоваяСтрока.Валюта = глЗначениеПеременной("ВалютаУправленческогоУчета");; НоваяСтрока.ЕдиницаИзмерения = СтрокаТаблицыТиповЦен.спрНоменклатура.ЕдиницаХраненияОстатков; НоваяСтрока.ПроцентСкидкиНаценки = 0; КонецЦикла; Тмп = Тмп + 1; КонецЦикла; ДокЦен.Записать(РежимЗаписиДокумента.Проведение); КонецЕсли; |
|||
6
RasuLL
02.01.13
✎
15:41
|
(5) тут тоже 1 тип цены, а как чтоб несколько?
|
|||
7
Сияющий Асинхраль
02.01.13
✎
15:45
|
(6) Тут произвольное количество типов цен. Обрати внимание:
Для Каждого Строка Из тзТиповЦен Цикл СтрокаТЦ = ДокЦен.ТипыЦен.Добавить(); СтрокаТЦ.ТипЦен = Строка.ТипЦены; КонецЦикла; Это кусок загрузки произвольного количества типов цен из экселя... |
|||
8
Сияющий Асинхраль
02.01.13
✎
15:48
|
+(7) Сам документ установки цен - своеобразный документ, в каждой строке ТЗ хранится одна цена, а отображается в форме не табличная часть, а таблица значений, которая строится по табличной части...
|
|||
9
Сияющий Асинхраль
02.01.13
✎
15:57
|
+(8) Соответственно, чтобы добавить две цены, надо добавить две строки документа с одной номенклатурой и разными ценами
Строки эти различаются значением индекса: НоваяСтрока.ИндексСтрокиТаблицыЦен = Тмп; а ты добавляешь одну строку, и в этой одной строке перезаписываешь тип цены и цену, см. (1) |
|||
10
RasuLL
02.01.13
✎
15:57
|
(8) Спасибо! Добавила вторую строку ТЧ.
тчТовары = ДокУстановкаЦен["Товары"]; СтрокаТаблицаТовары = тчТовары.Добавить(); СтрокаТаблицаТовары["Номенклатура"] = НовыйЭлемент.Ссылка; СтрокаТаблицаТовары["Валюта"] = ВалютаДок; СтрокаТаблицаТовары["ЕдиницаИзмерения"] = НовыйЭлемент.ЕдиницаХраненияОстатков; СтрокаТаблицаТовары["ТипЦен"] = ТипЦены; СтрокаТаблицаТовары["Цена"] = ЦенаПервая; //Запишем товар и цену во вторую тч тчТовары2 = ДокУстановкаЦен["Товары"]; СтрокаТаблицаТовары = тчТовары2.Добавить(); СтрокаТаблицаТовары["Номенклатура"] = НовыйЭлемент.Ссылка; СтрокаТаблицаТовары["Валюта"] = ВалютаДок; СтрокаТаблицаТовары["ЕдиницаИзмерения"] = НовыйЭлемент.ЕдиницаХраненияОстатков; СтрокаТаблицаТовары["ТипЦен"] = ТипЦены2; СтрокаТаблицаТовары["Цена"] = ЦенаВторая; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |