Управление торговлей 10.3 Загрузить установку цен номенклатуры

Новая тема
Показывать по сообщений
Мда..ну ошибся я в слове,нельзя так тупо то копировать=)
Да :), а я даже не читала, СПАСИБО
Будьте внимательны и подсматривайте в типовые решения!
Подскажите пжлста как сделать чтоб видна была характеристика номенклатуры в установке цен номеклатуры.
Добавить через конфигуратор в ТЧ поле характеристика,больше ни как.Лучше пригласить специалиста.
"Оно там есть но почему-то не отображается, не могу найти что надо исправить в модуле<br> <br>////////////////////////////////////////////////////////­////////////////////////<br>// ПЕРЕМЕННЫЕ МОДУЛЯ<br>// Хранит последнюю установленную дату документа - для проверки перехода документа в другой период.<br>Перем мТекущаяДатаДокумента;<br>Перем мФормаЗаполненияПлановыхЦен;<br>Перем мСтруктураПоложенийКолонок;<br>// Коллекция колонок табличного поля "Товары".<br>Перем мКолонкиТовары;<br>// Флаги показа колонок.<br>Перем ПоказыватьЦену Экспорт;<br>Перем ПоказыватьВалюту Экспорт;<br>Перем ПоказыватьЕдиницуИзмерения Экспорт;<br>Перем ПоказыватьСпособРасчета Экспорт;<br>Перем мПоказыватьКод;<br>Перем мПоказыватьАртикул;<br>// Хранит соответствие номеров колонок и типов цен.<br>Перем мСоответствиеТиповЦен Экспорт;<br>// Хранит дерево кнопок подменю заполнение ТЧ.<br>Перем мКнопкиЗаполненияТЧ;<br>Перем мТерминалы;<br>Перем ПараметрыНаценки;<br><br>////////////////////////////////////////////////////­////////////////////////////<br>// ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ<br>// Процедура устанавливает доступность элементов форм документа,<br>// в зависимости от настроек прав пользователя<br>Процедура УстановитьДоступностьЭлементовФормДокумента() Экспорт<br> <br> Если Не ОбщегоНазначения.УстановитьДоступностьФормыПоПравуПользователя(ЭтаФорма, ЭтотОбъект) Тогда<br>  Возврат;<br> КонецЕсли;<br> <br> ЭлементыФормы.Дата.Доступность =<br>  (ЭлементыФормы.Дата.Доступность<br>  И УправлениеПользователями.ПолучитьБулевоЗначениеПраваПользователя(ПланыВидовХарактеристик.ПраваПользователей.ИзменятьДату, Ложь));<br> ЭлементыФормы.Ответственный.Доступность =<br>  (ЭлементыФормы.Ответственный.Доступность<br>  И УправлениеПользователями.ПолучитьБулевоЗначениеПраваПользователя(ПланыВидовХарактеристик.ПраваПользователей.ИзменятьОтветственного, Ложь));<br> //Проверим перебором табличные поля формы документа<br> ТабличныеПоля = Новый Структура("ТаблицаЦен");<br> Для Каждого ТекущееТабличноеПоле Из ТабличныеПоля Цикл<br>  <br>  ТабличноеПоле = ЭлементыФормы.Найти(ТекущееТабличноеПоле.Ключ);<br>  Если ТабличноеПоле <> Неопределено Тогда<br>   ТабличноеПоле.Доступность =<br>    (ТабличноеПоле.Доступность<br>    И УправлениеПользователями.ПолучитьБулевоЗначениеПраваПользователя(ПланыВидовХарактеристик.ПраваПользователей.ИзменятьТабличныеЧасти, Ложь));<br>  Иначе<br>   Продолжить;<br>  КонецЕсли;<br>  <br>  КомманднаяПанельТабличногоПоля = ЭлементыФормы.Найти("КоманднаяПанель" + ТекущееТабличноеПоле.Ключ);<br>  Если КомманднаяПанельТабличногоПоля <> Неопределено тогда<br>   КомманднаяПанельТабличногоПоля.Доступность =<br>    (КомманднаяПанельТабличногоПоля.Доступность<br>    И УправлениеПользователями.ПолучитьБулевоЗначениеПраваПользователя(ПланыВидовХарактеристик.ПраваПользователей.ИзменятьТабличныеЧасти, Ложь));<br>  КонецЕсли;<br>  <br> КонецЦикла;<br> <br>КонецПроцедуры //УстановитьДоступностьЭлементовФормДокумента()<br><br>// Получает тип цен из соответствия по номеру колонки.<br>//<br>// Параметры:<br>//  НомерКолонки - Число, номер колонки, для которой необходимо получить соответствующий тип цен.<br>//<br>Функция ПолучитьТипЦенПоНомеруКолонки(НомерКолонки)<br> Для Каждого КлючИЗначение Из мСоответствиеТиповЦен Цикл<br>  Если КлючИЗначение.Значение = НомерКолонки Тогда<br>   ТипЦен = КлючИЗначение.Ключ;<br>   Прервать;<br>  КонецЕсли;<br> КонецЦикла;<br> Возврат ТипЦен;<br>КонецФункции // ПолучитьТипЦенПоНомеруКолонки()<br>// Функция получает положение колонки для заданного имени сохраненного значения.<br>//<br>// Параметры:<br>//  ИмяСохраненногоЗначения - имя значения, под которым было сохранено строковое<br>//  представление положения колонки.<br>//<br>// Возвращаемое значение:<br>//  Положение колонки - Элемент системного перечисления ПоложениеКолонки.<br>//<br>Функция ПолучитьПоложениеКолонки(ИмяСохраненногоЗначения)<br> Результат = Неопределено;<br> ПоложениеКолонкиСтрока = ВосстановитьЗначение(ИмяСохраненногоЗначения);<br> Если ПоложениеКолонкиСтрока = "На следующей строке" Тогда<br>  Результат = ПоложениеКолонки.НаСледующейСтроке;<br> ИначеЕсли ПоложениеКолонкиСтрока = "В той же колонке" Тогда<br>  Результат = ПоложениеКолонки.ВТойЖеКолонке;<br> ИначеЕсли ПоложениеКолонкиСтрока = "Новая колонка" Тогда<br>  Результат = ПоложениеКолонки.НоваяКолонка;<br> Иначе // значение еще не было сохранено.<br>  НомерКолонки = Число(Прав(ИмяСохраненногоЗначения, 1));<br>  // Надо взять настройку по умолчанию и сохранить ее для последующей работы.<br>  Если НомерКолонки = 0 Тогда // цена в новой колонке<br>   ПоложениеКолонкиСтрока = "Новая колонка";<br>  ИначеЕсли НомерКолонки = 1 Тогда // единица измерения на следующей строке<br>   ПоложениеКолонкиСтрока = "На следующей строке";<br>  КонецЕсли;<br>  СохранитьЗначение(ИмяСохраненногоЗначения, ПоложениеКолонкиСтрока);<br>  Результат = ПолучитьПоложениеКолонки(ИмяСохраненногоЗначения);<br> КонецЕсли;<br> Возврат Результат;<br>КонецФункции // ПолучитьПоложениеКолонки()<br>// Функция открывает форму выбора типа цен.<br>//<br>// Возвращаемое значение:<br>//  Команда закрытия формы - тип значения произвольный.<br>//<br>Функция ОткрытьФормуВыбораТипаЦен()<br> ФормаВыбораЦен = Обработки.ФормированиеЦен.ПолучитьФорму("ФормаВыбораТипаЦен", ЭтаФорма);<br> ФормаВыбораЦен.СписокТиповЦенСкидок     = СписокТиповЦен.Скопировать();<br> ФормаВыбораЦен.ИмяСправочникаВыбора     = "ТипыЦенНоменклатуры";<br> ФормаВыбораЦен.ИмяКолонкиТиповЦенСкидок = "ТипЦен";<br> Если ЗначениеЗаполнено(ДокументОснование) <br>  И ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПоступлениеТоваров") Тогда<br>  <br>  ФормаВыбораЦен.ОдиночныйВыбор = Истина; <br>   <br> КонецЕсли; <br> <br> Результат = ФормаВыбораЦен.ОткрытьМодально();<br> Возврат Результат;<br>КонецФункции // ОткрытьФормуВыбораТипаЦен()<br>// Процедура создает и заполняет структуру, содержащую в себе варианты положения колонок в форме.<br>//<br>Процедура ПолучитьСтруктуруПоложенийКолонок()<br> ИмяСохраненныхЗначений = Метаданные().Имя<br>                          + "_" + ПоказыватьЦену<br>                          + "_" + ПоказыватьЕдиницуИзмерения;<br> мСтруктураПоложенийКолонок = Новый Структура;<br> мСтруктураПоложенийКолонок.Вставить("Цена"                , ПолучитьПоложениеКолонки(ИмяСохраненныхЗначений + "_0"));<br> мСтруктураПоложенийКолонок.Вставить("ЕдиницаИзмерения"    , ПолучитьПоложениеКолонки(ИмяСохраненныхЗначений + "_1"));<br>КонецПроцедуры // ПолучитьСтруктуруПоложенийКолонок()<br>// Процедура заполняет реквизит СписокЦен на форме из ТЧ "ТипыЦен".<br>//<br>Процедура ЗаполнитьСписокТиповЦен()<br> СписокТиповЦен.Очистить();<br> Для Каждого СтрокаТиповЦен Из ТипыЦен Цикл<br>  Если ЗначениеЗаполнено(СтрокаТиповЦен.ТипЦен) Тогда<br>   СписокТиповЦен.Добавить(СтрокаТиповЦен.ТипЦен);<br>  КонецЕсли;<br> КонецЦИкла;<br>КонецПроцедуры // ЗаполнитьСписокТиповЦен()<br>// Процедура сдвигает колонку на требуемое количество колонок в позицию ОчередногоНомераКолонки<br>// и увеличивает ОчередногоНомераКолонки на единицу.<br>//<br>// Параметры:<br>//  Колонка - сдвигаемая колонка.<br>//  ОчереднойНомерКолонки - положение, которое должна занять колонка после сдвига.<br>//<br>Процедура СдвинутьКолонку(Колонка, ОчереднойНомерКолонки)<br> КолонкиТаблицыЦен = ТаблицаЦен.Колонки;<br> ТекущийНомерКолонки = КолонкиТаблицыЦен.Индекс(Колонка);<br> Если ТекущийНомерКолонки <> ОчереднойНомерКолонки Тогда // сдвинем колонку<br>  КолонкиТаблицыЦен.Сдвинуть(ТекущийНомерКолонки, ОчереднойНомерКолонки - ТекущийНомерКолонки);<br> КонецЕсли;<br> ВсегоКолонок = КолонкиТаблицыЦен.Количество();<br> ОчереднойНомерКолонки = ОчереднойНомерКолонки + 1;<br> ОчереднойНомерКолонки = ?(ОчереднойНомерКолонки > ВсегоКолонок, ВсегоКолонок, ОчереднойНомерКолонки);<br>КонецПроцедуры // СдвинутьКолонку()<br>// Устанавливает в табличной части цен на форме недостающие параметры.<br>//<br>Процедура УстановитьНедостающиеПараметры()<br> мКолонкиТовары.Код.Видимость = мПоказыватьКод;<br> мКолонкиТовары.Артикул.Видимость = мПоказыватьАртикул;<br> <br> мКолонкиТовары.ИндексСтрокиТаблицыЦен.ТолькоПросмотр = Истина;<br> мКолонкиТовары.Код.ТолькоПросмотр = Истина;<br> мКолонкиТовары.Артикул.ТолькоПросмотр = Истина;<br> Если ЗначениеЗаполнено(ДокументОснование)<br>  И ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ПоступлениеТоваров") Тогда<br>  <br>  мКолонкиТовары.ДопустимыйПроцентОтклонения.ТолькоПросмотр = Истина;<br>  мКолонкиТовары.ЦенаВРозницеСтарая.ТолькоПросмотр = Истина;<br>  мКолонкиТовары.Наценка.ТолькоПросмотр = Истина;<br>  мКолонкиТовары.ПроцентОтклонения.ТолькоПросмотр = Истина;<br>  <br> Иначе<br>  <br>  //мКолонкиТовары.Себестоимость.Видимость = Ложь;<br>  //мКолонкиТовары.СебестоимостьПрошлойЗакупки.Видимость = Ложь;<br>  //мКолонкиТовары.ДопустимыйПроцентОтклонения.Видимость = Ложь;<br>  //<br> КонецЕсли;<br> <br> // Установим необходимые параметры номенклатуры.<br> мКолонкиТовары.Номенклатура.ЭлементУправления.УстановитьДействие("ПриИзменении", Новый Действие("ТаблицаЦенНоменклатураПриИзменении"));<br> мКолонкиТовары.Номенклатура.ЭлементУправления.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;<br> мКолонкиТовары.Номенклатура.АвтоОтметкаНезаполненного = Истина;<br> мКолонкиТовары.Номенклатура.ЭлементУправления.АвтоОтметкаНезаполненного = Истина;<br> мКолонкиТовары.Номенклатура.ЭлементУправления.АвтоВыборНезаполненного = Истина;<br> мКолонкиТовары.Номенклатура.ЭлементУправления.КнопкаОткрытия = Истина;<br>// Установим необходимые параметры характеристики номенклатуры.<br> мКолонкиТовары.ХарактеристикаНоменклатуры.ЭлементУправления.УстановитьДействие("ПриИзменении",         Новый Действие("ТаблицаЦенХарактеристикаНоменклатурыПриИзменении"));<br> мКолонкиТовары.ХарактеристикаНоменклатуры.ЭлементУправления.УстановитьДействие("НачалоВыбора",         Новый Действие("ТаблицаЦенХарактеристикаНоменклатурыНачалоВыбора"));<br> мКолонкиТовары.ХарактеристикаНоменклатуры.ЭлементУправления.УстановитьДействие("АвтоПодборТекста",     Новый Действие("ТаблицаЦенХарактеристикаНоменклатурыАвтоПодборТекста"));<br> мКолонкиТовары.ХарактеристикаНоменклатуры.ЭлементУправления.УстановитьДействие("ОкончаниеВводаТекста", Новый Действие("ТаблицаЦенХарактеристикаНоменклатурыОкончаниеВводаТекста"));<br> мКолонкиТовары.ХарактеристикаНоменклатуры.ЭлементУправления.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;<br> <br>КонецПроцедуры // УстановитьНедостающиеПараметры()<br>// Процедура устанавливает колонки табличной часи в требуемом порядке,<br>// добавляет недостающие колонки, убирает ненужные.<br>//<br>Процедура ОбновитьСоставКолонок()<br> // Надо расположить все нужные колонки в правильном порядке.<br> // Сначала должна идти колонка "Код".<br> КолонкиТаблицыЦен = ТаблицаЦен.Колонки;<br> ОчереднойНомерКолонки = 1;<br> ТекущаяКолонка = КолонкиТаблицыЦен.Найти("Код");<br> СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);<br> ТекущаяКолонка = КолонкиТаблицыЦен.Найти("Артикул");<br> СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);<br> ТекущаяКолонка = КолонкиТаблицыЦен.Найти("Номенклатура");<br> СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);<br> <br> ТекущаяКолонка = КолонкиТаблицыЦен.Найти("ХарактеристикаНоменклатуры");<br> СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);<br> Для Каждого СтрокаТипаЦен Из ТипыЦен Цикл<br>  Если Не ЗначениеЗаполнено(СтрокаТипаЦен.ТипЦен) Тогда<br>   Продолжить;<br>  КонецЕсли;<br>  НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[СтрокаТипаЦен.ТипЦен];<br> Если НомерСоответствияТекущейКолонки = Неопределено Тогда<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен.Количество();<br> мСоответствиеТиповЦен.Вставить(СтрокаТипаЦен.ТипЦен, мСоответствиеТиповЦен.Количество());<br> КонецЕсли;<br> // Цена.<br> ТекущаяКолонка = КолонкиТаблицыЦен.Найти("цена" + НомерСоответствияТекущейКолонки);<br> Если ТекущаяКолонка = Неопределено Тогда // надо вставить<br> КолонкиТаблицыЦен.Вставить(ОчереднойНомерКолонки, "цена" + НомерСоответствияТекущейКолонки, ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2, Истина), СокрЛП(СтрокаТипаЦен.ТипЦен), 10);<br> ОчереднойНомерКолонки = ОчереднойНомерКолонки + 1;<br> Иначе<br> СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);<br> КонецЕсли;<br> // Единица измерения.<br> ТекущаяКолонка = КолонкиТаблицыЦен.Найти("единица" + НомерСоответствияТекущейКолонки);<br> Если ТекущаяКолонка = Неопределено Тогда // надо вставить<br> КолонкиТаблицыЦен.Вставить(ОчереднойНомерКолонки, "единица"+НомерСоответствияТекущейКолонки, Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"), "Основная единица измерения", 8);<br> ОчереднойНомерКолонки = ОчереднойНомерКолонки + 1;<br> Иначе<br> СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);<br> КонецЕсли;<br> КонецЦикла;<br> // Все, что за пределами, надо удалить.<br> Для НомерУдаляемойКолонки = ОчереднойНомерКолонки По КолонкиТаблицыЦен.Количество() - 1 Цикл<br> КолонкиТаблицыЦен.Удалить(ОчереднойНомерКолонки);<br> КонецЦикла;<br> ЭлементыФормы.ТаблицаЦен.СоздатьКолонки();<br> <br> // Установим недостающие параметры.<br> УстановитьНедостающиеПараметры();<br>КонецПроцедуры // ОбновитьСоставКолонок()<br>// Производит перезаполнение и установку необходимых полей в строке табличной части.<br>//<br>// Параметры:<br>// СтрокаТабличнойЧасти - строка табличной части, которую необходимо перезаполнить.<br>//<br>Процедура ПерезаполнитьСтроку(СтрокаТабличнойЧасти)<br> Если СписокТиповЦен.Количество() = 0 Тогда // ничего делать не надо.<br> Возврат;<br> КонецЕсли;<br> Запрос = Новый Запрос;<br> Запрос.УстановитьПараметр("ДатаЦен", Дата);<br> Запрос.УстановитьПараметр("ТипыЦен", СписокТиповЦен);<br> Запрос.УстановитьПараметр("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);<br> Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры);<br> Запрос.УстановитьПараметр("ЕдиницаХраненияОстатковНоменклатуры", СтрокаТабличнойЧасти.Номенклатура.ЕдиницаХраненияОстатков);<br> Запрос.Текст = <br> "ВЫБРАТЬ<br> | ТипыЦенСправочник.Ссылка КАК ТипЦен,<br> | ВЫБОР<br> | КОГДА ЦеныНоменклатурыБезХарактеристики.Цена ЕСТЬ NULL <br> | И ЦеныНоменклатурыСХарактеристикой.Цена ЕСТЬ NULL <br> | ТОГДА 0<br> | ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатурыСХарактеристикой.Цена, ЦеныНоменклатурыБезХарактеристики.Цена)<br> | КОНЕЦ КАК Цена,<br> | ВЫБОР<br> | КОГДА ЦеныНоменклатурыБезХарактеристики.ЕдиницаИзмерения ЕСТЬ NULL <br> | И ЦеныНоменклатурыСХарактеристикой.ЕдиницаИзмерения ЕСТЬ NULL <br> | ТОГДА ВЫРАЗИТЬ(&Номенклатура КАК Справочник.Номенклатура).ЕдиницаХраненияОстатков<br> | ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатурыСХарактеристикой.ЕдиницаИзмерения, ЦеныНоменклатурыБезХарактеристики.ЕдиницаИзмерения)<br> | КОНЕЦ КАК ЕдиницаИзмерения,<br> | ВЫБОР<br> | КОГДА ЦеныНоменклатурыБезХарактеристики.Цена ЕСТЬ NULL <br> | И ЦеныНоменклатурыСХарактеристикой.Цена ЕСТЬ NULL <br> | ТОГДА 0<br> | ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатурыСХарактеристикой.Цена, ЦеныНоменклатурыБезХарактеристики.Цена)<br> | КОНЕЦ КАК Поле1<br> |ИЗ<br> | Справочник.ТипыЦенНоменклатуры КАК ТипыЦенСправочник<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(<br> | &ДатаЦен,<br> | ТипЦен В (&ТипыЦен)<br> | И Номенклатура = &Номенклатура<br> | И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК ЦеныНоменклатурыБезХарактеристики<br> | ПО ТипыЦенСправочник.Ссылка = ЦеныНоменклатурыБезХарактеристики.ТипЦен<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(<br> | &ДатаЦен,<br> | ТипЦен В (&ТипыЦен)<br> | И Номенклатура = &Номенклатура<br> | И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры) КАК ЦеныНоменклатурыСХарактеристикой<br> | ПО ТипыЦенСправочник.Ссылка = ЦеныНоменклатурыСХарактеристикой.ТипЦен<br> |ГДЕ<br> | ТипыЦенСправочник.Ссылка В(&ТипыЦен)";<br> Выборка = Запрос.Выполнить().Выбрать();<br> КолонкиТаблицыЦен = ТаблицаЦен.Колонки;<br> Пока Выборка.Следующий() Цикл<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[Выборка.ТипЦен];<br> Если КолонкиТаблицыЦен.Найти("цена"+НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["цена"+НомерСоответствияТекущейКолонки] = Выборка.Цена;<br> КонецЕсли;<br> Если КолонкиТаблицыЦен.Найти("единица"+НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["единица"+НомерСоответствияТекущейКолонки] = Выборка.ЕдиницаИзмерения;<br> КонецЕсли;<br> КонецЦикла;<br>КонецПроцедуры // ПерезаполнитьСтроку()<br>// Производит заполнение и установку необходимых полей при изменении товара в табличной части.<br>//<br>// Параметры:<br>// СтрокаТабличнойЧасти - строка табличной части, которую необходимо заполнить.<br>//<br>Процедура ПриИзмененииНоменклатуры(СтрокаТабличнойЧасти, ПерейтиНаЦену = Ложь) Экспорт<br> Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) <br> И ОбщегоНазначения.ПолучитьВладельцаХарактеристики(СтрокаТабличнойЧасти.Номенклатура) <> СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры.Владелец Тогда<br> СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();<br> КонецЕсли;<br> <br> ПерезаполнитьСтроку(СтрокаТабличнойЧасти);<br> <br> РаботаСДиалогами.УстановитьВидимостьКолонокХарактеристикаНоменклатуры(СтрокаТабличнойЧасти.Номенклатура.ВидНоменклатуры, мКолонкиТовары.ХарактеристикаНоменклатуры);<br> // Если учет по характеристикам не ведется или вызов из обработки подбора, тогда пропустим колонку характеристики<br> Если (НЕ ПерейтиНаЦену) И ОбщегоНазначения.ПолучитьФлагУчетаХарактеристик(СтрокаТабличнойЧасти.Номенклатура.ВидНоменклатуры) Тогда<br> <br> //Активизирует колонку "Характеристика номенклатуры"<br> РаботаСДиалогами.АктивизироватьЯчейкуТабличногоПоля(ЭлементыФормы.ТаблицаЦен, СтрокаТабличнойЧасти, мКолонкиТовары.ХарактеристикаНоменклатуры);<br> <br> ИначеЕсли НЕ мКолонкиТовары.Найти("цена0")=Неопределено Тогда<br> <br> //Активизирует колонку "Цена"<br> РаботаСДиалогами.АктивизироватьЯчейкуТабличногоПоля(ЭлементыФормы.ТаблицаЦен, СтрокаТабличнойЧасти, мКолонкиТовары.Найти("цена0"));<br> <br> КонецЕсли;<br> <br>КонецПроцедуры // ПриИзмененииНоменклатуры()<br>// Производит заполнение и установку необходимых полей при изменении<br>// характеристики номенклатуры в табличной части.<br>//<br>// Параметры:<br>// СтрокаТабличнойЧасти - строка табличной части, которую необходимо заполнить.<br>//<br>Процедура ПриИзмененииХарактеристикиНоменклатуры(СтрокаТабличнойЧасти)<br> ПерезаполнитьСтроку(СтрокаТабличнойЧасти);<br> // Активизирует колонку "Цена"<br> Если НЕ мКолонкиТовары.Найти("цена0")=Неопределено Тогда<br> <br> РаботаСДиалогами.АктивизироватьЯчейкуТабличногоПоля(ЭлементыФормы.ТаблицаЦен, СтрокаТабличнойЧасти, мКолонкиТовары.Найти("цена0"));<br> <br> КонецЕсли;<br> <br>КонецПроцедуры // ПриИзмененииХарактеристикиНоменклатуры()<br>// Производит заполнение и установку необходимых полей при добавлении новых типов цен.<br>//<br>// Параметры:<br>// СписокДобавленныхТиповЦен - список добавленных типов цен.<br>//<br>Процедура ЗаполнитьПоНовымТипамЦен(СписокДобавленныхТиповЦен)<br> Если СписокДобавленныхТиповЦен.Количество() = 0 Тогда // ничего делать не надо<br> Возврат;<br> КонецЕсли;<br> МассивХарактеристик = ТаблицаЦен.ВыгрузитьКолонку("ХарактеристикаНоменклатуры");<br> МассивХарактеристик.Добавить(Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());<br> <br> Запрос = Новый Запрос;<br> Запрос.УстановитьПараметр("ДатаЦен", Дата);<br> Запрос.УстановитьПараметр("ТипыЦен", СписокДобавленныхТиповЦен);<br> Запрос.УстановитьПараметр("Номенклатура", ТаблицаЦен.ВыгрузитьКолонку("Номенклатура"));<br> Запрос.УстановитьПараметр("ХарактеристикиНоменклатуры", МассивХарактеристик);<br> <br> Запрос.Текст = <br> "ВЫБРАТЬ<br> | ТипыЦенСправочник.Ссылка КАК ТипЦен,<br> | ХарактеристикиНоменклатуры.Номенклатура КАК Номенклатура,<br> | ХарактеристикиНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,<br> | МАКСИМУМ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)) КАК Цена,<br> | МАКСИМУМ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, ХарактеристикиНоменклатуры.Номенклатура.ЕдиницаХраненияОстатков)) КАК ЕдиницаИзмерения<br> |ИЗ<br> | Справочник.ТипыЦенНоменклатуры КАК ТипыЦенСправочник<br> | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ<br> | Характеристики.Ссылка КАК ХарактеристикаНоменклатуры,<br> | Характеристики.Владелец КАК Номенклатура<br> | ИЗ<br> | Справочник.ХарактеристикиНоменклатуры КАК Характеристики<br> | ГДЕ<br> | Характеристики.Ссылка В(&ХарактеристикиНоменклатуры)<br> | <br> | ОБЪЕДИНИТЬ ВСЕ<br> | <br> | ВЫБРАТЬ<br> | ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),<br> | Номенклатура.Ссылка<br> | ИЗ<br> | Справочник.Номенклатура КАК Номенклатура) КАК ХарактеристикиНоменклатуры<br> | ПО (ИСТИНА)<br> | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(<br> | &ДатаЦен,<br> | ТипЦен В (&ТипыЦен)<br> | И Номенклатура В (&Номенклатура)<br> | И ХарактеристикаНоменклатуры В (&ХарактеристикиНоменклатуры)) КАК ЦеныНоменклатурыСрезПоследних<br> | ПО ТипыЦенСправочник.Ссылка = ЦеныНоменклатурыСрезПоследних.ТипЦен<br> | И (ЦеныНоменклатурыСрезПоследних.Номенклатура = ХарактеристикиНоменклатуры.Номенклатура)<br> | И (ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.ХарактеристикаНоменклатуры)<br> |ГДЕ<br> | ТипыЦенСправочник.Ссылка В(&ТипыЦен)<br> | И ХарактеристикиНоменклатуры.Номенклатура В(&Номенклатура)<br> | И (НЕ ХарактеристикиНоменклатуры.Номенклатура.ЭтоГруппа)<br> | И ХарактеристикиНоменклатуры.ХарактеристикаНоменклатуры В(&ХарактеристикиНоменклатуры)<br> |<br> |СГРУППИРОВАТЬ ПО<br> | ТипыЦенСправочник.Ссылка,<br> | ХарактеристикиНоменклатуры.Номенклатура,<br> | ХарактеристикиНоменклатуры.ХарактеристикаНоменклатуры";<br> Выборка = Запрос.Выполнить().Выбрать();<br> КолонкиТаблицыЦен = ТаблицаЦен.Колонки;<br> СтруктураПоиска = Новый Структура;<br> Пока Выборка.СледующийПоЗначениюПоля("Номенклатура") Цикл<br> Пока Выборка.СледующийПоЗначениюПоля("ХарактеристикаНоменклатуры") Цикл<br> СтруктураПоиска.Вставить("Номенклатура", Выборка.Номенклатура);<br> СтруктураПоиска.Вставить("ХарактеристикаНоменклатуры", Выборка.ХарактеристикаНоменклатуры);<br> СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(ТаблицаЦен, СтруктураПоиска);<br> Если СтрокаТабличнойЧасти = Неопределено Тогда //не нашли такие цены<br> Продолжить;<br> КонецЕсли;<br> Пока Выборка.Следующий() Цикл<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[Выборка.ТипЦен];<br> Если КолонкиТаблицыЦен.Найти("цена" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["цена" + НомерСоответствияТекущейКолонки] = Выборка.Цена;<br> КонецЕсли;<br> Если КолонкиТаблицыЦен.Найти("единица" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["единица" + НомерСоответствияТекущейКолонки] = Выборка.ЕдиницаИзмерения;<br> КонецЕсли;<br> КонецЦикла;<br> КонецЦикла;<br> КонецЦикла;<br>КонецПроцедуры // ЗаполнитьПоНовымТипамЦен()<br>// Производит заполнение таблицы цен на форме.<br>//<br>Процедура ЗаполнитьТаблицуЦенФормы() Экспорт<br> //Если ТипыЦен.Количество() = 0 Тогда // ничего делать не надо<br> // Возврат;<br> //КонецЕсли;<br> ТаблицаТоваров = Товары.Выгрузить();<br> ТаблицаТоваров.Сортировать("ИндексСтрокиТаблицыЦен, Номенклатура");<br> ТекущийИндексСтрокиТаблицыЦен = Неопределено;<br> НоваяСтрока = Неопределено;<br> Для Каждого СтрокаТаблицыТоваров Из Товары Цикл<br> <br> Если ТекущийИндексСтрокиТаблицыЦен <> СтрокаТаблицыТоваров.ИндексСтрокиТаблицыЦен<br> Или (НоваяСтрока.Номенклатура <> СтрокаТаблицыТоваров.Номенклатура<br> ИЛИ НоваяСтрока.ХарактеристикаНоменклатуры <> СтрокаТаблицыТоваров.ХарактеристикаНоменклатуры) Тогда<br> <br> НоваяСтрока = ТаблицаЦен.Добавить();<br> НоваяСтрока.Номенклатура = СтрокаТаблицыТоваров.Номенклатура;<br> НоваяСтрока.ХарактеристикаНоменклатуры = СтрокаТаблицыТоваров.ХарактеристикаНоменклатуры;<br> ТекущийИндексСтрокиТаблицыЦен = СтрокаТаблицыТоваров.ИндексСтрокиТаблицыЦен;<br> <br> КонецЕсли;<br> Если ТипыЦен.Количество() <> 0 Тогда<br> <br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[СтрокаТаблицыТоваров.ТипЦен];<br> Если ТаблицаЦен.Колонки.Найти("цена" + НомерСоответствияТекущейКолонки) = Неопределено Тогда<br> ТаблицаЦен.Колонки.Добавить("цена" + НомерСоответствияТекущейКолонки, ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2, Истина), СокрЛП(СтрокаТаблицыТоваров.ТипЦен), 10);<br> КонецЕсли;<br> Если ТаблицаЦен.Колонки.Найти("единица" + НомерСоответствияТекущейКолонки) = Неопределено Тогда<br> ТаблицаЦен.Колонки.Добавить("единица" + НомерСоответствияТекущейКолонки, Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"), "единица", 8);<br> КонецЕсли;<br> НоваяСтрока["цена" + НомерСоответствияТекущейКолонки] = СтрокаТаблицыТоваров.Цена;<br> НоваяСтрока["единица" + НомерСоответствияТекущейКолонки] = СтрокаТаблицыТоваров.ЕдиницаИзмерения;<br> <br> КонецЕсли;<br> <br> КонецЦикла;<br>КонецПроцедуры // ЗаполнитьТаблицуЦенФормы()<br>// Производит заполнение документа переданными из формы подбора данными.<br>//<br>// Параметры:<br>// ЗначениеВыбора - структура, содержащая параметры подбора.<br>//<br>Процедура ОбработкаПодбора(ТабличнаяЧасть, ЗначениеВыбора)Экспорт<br> Перем Номенклатура, Характеристика, ЕдиницаИзмерения, Цена, ЗапрашиватьЦену;<br> КолонкиТаблицыЦен = ТаблицаЦен.Колонки;<br> Если ЗначениеВыбора.Команда = "ЗаполнениеТабличнойЧасти" Тогда<br> Выборка = ЗначениеВыбора.Результат.Выбрать();<br> Пока Выборка.Следующий() Цикл<br> Если Выборка.ТипЦен <> Null<br> И Выборка.Номенклатура <> Null<br> И Не Выборка.ЭтоГруппа Тогда<br> ТипЦен = Выборка.ТипЦен;<br> ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;<br> Если ТипыЦен.Найти(ТипЦен) = Неопределено Тогда<br> СтрокаТиповЦен = ТипыЦен.Добавить();<br> СтрокаТиповЦен.ТипЦен = ТипЦен;<br> // Обновим список типов цен.<br> ЗаполнитьСписокТиповЦен();<br> // Обновим состав колонок.<br> ОбновитьСоставКолонок();<br> ПолучитьСтруктуруПоложенийКолонок();<br> ВидимостьКолонок();<br> КонецЕсли;<br> Номенклатура = Выборка.Номенклатура;<br> ХарактеристикаНоменклатуры = ?(Выборка.ХарактеристикаНоменклатуры = Null, Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка(), Выборка.ХарактеристикаНоменклатуры);<br> СтруктураОтбора = Новый Структура;<br> СтруктураОтбора.Вставить("Номенклатура" , Номенклатура);<br> СтруктураОтбора.Вставить("ХарактеристикаНоменклатуры", ХарактеристикаНоменклатуры);<br> СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(ТаблицаЦен, СтруктураОтбора);<br> Если СтрокаТабличнойЧасти = Неопределено Тогда<br> СтрокаТабличнойЧасти = ТаблицаЦен.Добавить();<br> СтрокаТабличнойЧасти.Номенклатура = Номенклатура;<br> СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = ХарактеристикаНоменклатуры;<br> КОнецЕсли;<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[ТипЦен];<br> Если КолонкиТаблицыЦен.Найти("цена" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["цена" + НомерСоответствияТекущейКолонки] = Выборка.Цена;<br> КонецЕсли;<br> Если Не ЗначениеЗаполнено(ЕдиницаИзмерения) Тогда<br> //Если КолонкиТаблицыЦен.Найти("СпособРасчета" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> // СтрокаТабличнойЧасти["СпособРасчета" + НомерСоответствияТекущейКолонки] = ТипЦен.СпособРасчетаЦены;<br> //КонецЕсли;<br> Если КолонкиТаблицыЦен.Найти("единица" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["единица" + НомерСоответствияТекущейКолонки] = Номенклатура.ЕдиницаХраненияОстатков;<br> КонецЕсли;<br> Иначе<br> //Если КолонкиТаблицыЦен.Найти("СпособРасчета" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> // СтрокаТабличнойЧасти["СпособРасчета" + НомерСоответствияТекущейКолонки] = Выборка.СпособРасчетаЦены;<br> //КонецЕсли;<br> Если КолонкиТаблицыЦен.Найти("единица" + НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> СтрокаТабличнойЧасти["единица" + НомерСоответствияТекущейКолонки] = ЕдиницаИзмерения;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЦикла;<br> <br> <br> ИначеЕсли ЗначениеВыбора.Команда = "ПодборВТабличнуюЧасть" Тогда<br> <br> <br> ЗначениеВыбора.Свойство("Номенклатура" , Номенклатура);<br> ЗначениеВыбора.Свойство("Характеристика" , Характеристика);<br> ЗначениеВыбора.Свойство("ЗапрашиватьЦену", ЗапрашиватьЦену);<br> ЗапрашиватьЦену = ?(ЗапрашиватьЦену = Неопределено, Ложь, ЗапрашиватьЦену);<br> // Ищем выбранную позицию в таблице подобранной номенклатуры.<br> // Если найдем - увеличим количество, не найдем - добавим новую строку.<br> <br> СтруктураОтбора = Новый Структура;<br> СтруктураОтбора.Вставить("Номенклатура" , Номенклатура);<br> СтруктураОтбора.Вставить("ХарактеристикаНоменклатуры", ?(ТипЗнч(Характеристика)=Тип("СправочникСсылка.ХарактеристикиНоменклатуры"), Характеристика, Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка()));<br> СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(ТаблицаЦен, СтруктураОтбора);<br> <br> Если СтрокаТабличнойЧасти = Неопределено Тогда // надо добавить<br> <br> НоваяСтрока = ТаблицаЦен.Добавить();<br> НоваяСтрока.Номенклатура = Номенклатура;<br> НоваяСтрока.ХарактеристикаНоменклатуры = Характеристика;<br> Если ЗапрашиватьЦену Тогда<br> ЗначениеВыбора.Свойство("ЕдиницаИзмерения", ЕдиницаИзмерения);<br> ЗначениеВыбора.Свойство("Цена" , Цена);<br> Для Каждого СтрокаТипаЦен Из ТипыЦен Цикл<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[СтрокаТипаЦен.ТипЦен];<br> Если КолонкиТаблицыЦен.Найти("цена"+НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> НоваяСтрока["цена" + НомерСоответствияТекущейКолонки] = Цена;<br> КонецЕсли;<br> Если КолонкиТаблицыЦен.Найти("единица"+НомерСоответствияТекущейКолонки) <> Неопределено Тогда<br> НоваяСтрока["единица" + НомерСоответствияТекущейКолонки] = ЕдиницаИзмерения;<br> КонецЕсли;<br> КонецЦикла;<br> Иначе<br> ПриИзмененииНоменклатуры(НоваяСтрока, Истина);<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br>КонецПроцедуры // ОбработкаПодбора()<br>// Заполняет список пунктов подменю "Изменить".<br>// Всем кнопкам назначается одно переданное действие.<br>//<br>// Параметры:<br>// ЭлементМеню - кнопка командной панели формы соответственного подменю.<br>// ОбъектОбработкиВыбора - действие, которое надо выполнить при выборе любого пункта подменю.<br>//<br>Процедура УстановитьПодменюВыбораИзмененияПоТипуЦен(ЭлементМеню, ОбъектОбработкиВыбора) Экспорт<br> Кнопки = ЭлементМеню.Кнопки;<br> Кнопки.Очистить();<br> Для Каждого СтрокаТипаЦен Из ТипыЦен Цикл<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[СтрокаТипаЦен.ТипЦен];<br> Если НомерСоответствияТекущейКолонки = Неопределено Тогда<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен.Количество();<br> мСоответствиеТиповЦен.Вставить(СтрокаТипаЦен.ТипЦен, НомерСоответствияТекущейКолонки);<br> КонецЕсли;<br> Кнопки.Добавить("Кнопка_" + НомерСоответствияТекущейКолонки, ТипКнопкиКоманднойПанели.Действие,<br> СтрокаТипаЦен.ТипЦен.Наименование, ОбъектОбработкиВыбора);<br> КонецЦикла;<br>КонецПроцедуры // УстановитьПодменюВыбораИзмененияПоТипуЦен()<br>////////////////////////////////////////////////////////////////////////////////<br>// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ВНЕШНИМ ВИДОМ ФОРМЫ<br>// Процедура устанавливает видимость колонок в зависимости от параметров документа<br>// и делает недоступной единицу хранения остатков.<br>//<br>Процедура ВидимостьКолонок()<br> БылаНоваяКолонка = Ложь;<br> Для Каждого КолонкаТиповЦен Из мКолонкиТовары Цикл<br> ПризнакКолонки = Лев(КолонкаТиповЦен.Имя, 4);<br> Если Нрег(ПризнакКолонки) = "цена" <br> И НЕ КолонкаТиповЦен.Имя = "ЦенаВРозницеСтарая" Тогда<br> КолонкаТиповЦен.Видимость = ПоказыватьЦену;<br> КолонкаТиповЦен.Положение = мСтруктураПоложенийКолонок.Цена;<br> БылаНоваяКолонка = Истина;<br> ИначеЕсли НРег(ПризнакКолонки) = "един" Тогда<br> КолонкаТиповЦен.Видимость = ПоказыватьЕдиницуИзмерения;<br> КолонкаТиповЦен.Положение = ?(БылаНоваяКолонка, мСтруктураПоложенийКолонок.ЕдиницаИзмерения, ПоложениеКолонки.НоваяКолонка);<br> БылаНоваяКолонка = Истина;<br> КонецЕсли;<br> КонецЦикла;<br>КонецПроцедуры // ВидимостьКолонок()<br>// Процедура устанавливает доступность колонок.<br>//<br>Процедура ДоступностьКолонок()<br> Для Каждого СтрокаТипаЦен Из ТипыЦен Цикл<br> НомерСоответствияТекущейКолонки = мСоответствиеТиповЦен[СтрокаТипаЦен.ТипЦен];<br> ТекКолонка = мКолонкиТовары.Найти("цена" + НомерСоответствияТекущейКолонки);<br> КонецЦикла;<br>КонецПроцедуры // ДоступностьКолонок()<br>Процедура УстановитьВидимостьИнформационнойНадписиВведенныеПараметры()<br> <br> Если ПараметрыНаценки = Неопределено Тогда<br> <br> ЭлементыФормы.ПанельИнформацииОВведенныхПараметрах.Свертка = РежимСверткиЭлементаУправления.Верх;<br> <br> ИначеЕсли ТипЗнч(ПараметрыНаценки) = Тип("Структура") Тогда<br> <br> ЭлементыФормы.ПанельИнформацииОВведенныхПараметрах.Свертка = РежимСверткиЭлементаУправления.Нет;<br> <br> ЗаголовокИнформационнойНадписи = """";<br> <br> Если ПараметрыНаценки.Свойство("Наценка") Тогда<br> <br> ЗаголовокИнформационнойНадписи = ЗаголовокИнформационнойНадписи + "Наценка: " + Формат(ПараметрыНаценки.Наценка,"ЧДЦ=2; ЧН=") + " %";<br> <br> КонецЕсли; <br> <br> Если ПараметрыНаценки.Свойство("ДопустимыйПроцентОтклонения") Тогда<br> <br> Если СтрДлина(ЗаголовокИнформационнойНадписи) > 0 Тогда<br> <br> ЗаголовокИнформационнойНадписи = ЗаголовокИнформационнойНадписи + "; ";<br> <br> КонецЕсли; <br> <br> ЗаголовокИнформационнойНадписи = ЗаголовокИнформационнойНадписи + "Допустимый процент отклонения: " + Формат(ПараметрыНаценки.ДопустимыйПроцентОтклонения,"ЧДЦ=1; ЧН=") + " %";<br> <br> КонецЕсли; <br> <br> Если ПараметрыНаценки.Свойство("Округление") <br> И ЗначениеЗаполнено(ПараметрыНаценки.Округление) Тогда<br> <br> Если СтрДлина(ЗаголовокИнформационнойНадписи) > 0 Тогда<br> <br> ЗаголовокИнформационнойНадписи = ЗаголовокИнформационнойНадписи + "; ";<br> <br> КонецЕсли; <br> <br> СоответствиеЗначений = Новый Соответствие;<br> <br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр0_05, "До 5 копеек");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр0_1 , "До 10 копеек");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр0_5 , "До 50 копеек");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр1 , "До 1 рубля");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр5 , "До 5 рублей");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр10 , "До 10 рублей");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр50 , "До 50 рублей");<br> СоответствиеЗначений.Вставить(Перечисления.ПорядкиОкругления.Окр100 , "До 100 рублей");<br> <br> ЗаголовокИнформационнойНадписи = ЗаголовокИнформационнойНадписи + "Округление: " + СоответствиеЗначений[ПараметрыНаценки.Округление];<br> <br> КонецЕсли; <br> <br> ЭлементыФормы.НадписьВведенныеПараметры.Заголовок = ЗаголовокИнформационнойНадписи;<br> <br> КонецЕсли; <br>КонецПроцедуры <br> <br>////////////////////////////////////////////////////////////////////////////////<br>// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ<br>// Процедура - обработчик события "ПередОткрытием" формы<br>//<br>Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)<br> // Установка кнопок заполнение ТЧ<br> УстановитьКнопкиПодменюЗаполненияТЧ();<br> мПоказыватьКод = ВосстановитьЗначение("УстановкаЦенНоменклатуры_ПоказыватьКод");<br> мПоказыватьАртикул = ВосстановитьЗначение("УстановкаЦенНоменклатуры_ПоказыватьАртикул");<br> ПоказыватьЦену = ВосстановитьЗначение("УстановкаЦенНоменклатуры_ПоказыватьЦену");<br> ПоказыватьЕдиницуИзмерения = ВосстановитьЗначение("УстановкаЦенНоменклатуры_ПоказыватьЕдиницуИзмерения");<br> <br> мПоказыватьКод = ?(мПоказыватьКод = Неопределено, Ложь, мПоказыватьКод);<br> мПоказыватьАртикул = ?(мПоказыватьАртикул = Неопределено, Ложь, мПоказыватьАртикул);<br> ПоказыватьЦену = ?(ПоказыватьЦену = Неопределено, Истина, ПоказыватьЦену);<br> ПоказыватьЕдиницуИзмерения = ?(ПоказыватьЕдиницуИзмерения = Неопределено, Истина, ПоказыватьЕдиницуИзмерения);<br> <br> мСоответствиеТиповЦен = Новый Соответствие;<br> // Сформируем и заполним таблицу цен.<br> Для Каждого СтрокаТипаЦен Из ТипыЦен Цикл<br> НомерСоответствияТекущейКолонки = ТипыЦен.Индекс(СтрокаТипаЦен);<br> мСоответствиеТиповЦен.Вставить(СтрокаТипаЦен.ТипЦен, НомерСоответствияТекущейКолонки);<br> Если ТаблицаЦен.Колонки.Найти("цена" + НомерСоответствияТекущейКолонки) = Неопределено Тогда<br> ТаблицаЦен.Колонки.Добавить("цена" + НомерСоответствияТекущейКолонки, ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2, Истина), СокрЛП(СтрокаТипаЦен.ТипЦен), 10);<br> КонецЕсли;<br> Если ТаблицаЦен.Колонки.Найти("единица" + НомерСоответствияТекущейКоло
"почему бы сюда не выложить весть текст конфигурации? ;)"
Оно там есть но почему-то не отображается, не могу найти что надо исправить в модуле<br> <br>[Прекратите выкладывать тексты конфигураций!]
Ну и зачем было кидать сюда ВЕСЬ текст модуля?ПРИГЛАСИТЕ СПЕЦИАЛИСТА,а то вы там наизменяете сейчас...
Не пробовали в самой программе в документе "Установка цен номенклатуры" на табличной части нажать правую кнопку мыши, выбрать Настройка списка и поставить галку на "Характеристика номенклатуры"?
Читают тему
(гостей: 1)

Быстрый переход