В обработке в макет ценника я добавлял реквизит <ПечРассрочка>, но в самом модуле не могу понять откуда происходит эта обработка?
В обработке в макет ценника я добавлял реквизит <ПечРассрочка>, но в самом модуле не могу понять откуда происходит эта обработка?
Если добавить в модуль ПечРассрочка = Справочник.ТипЦен.Рассрочка, он не выдает не чего
Учить программированию на форуме неблагодарное дело, тем более что похоже ты вообще не разбираешься где хранится цена товара!
"тебе реквизиты добавлять в справочник не надо!<br>в списке номенклатуры есть строки типа:<br><pre>ТипЦены = СоздатьОбъект("Справочник.ТипыЦен"); Если ТипЦены.Выбрать("Типы цен",) = 0 Тогда Возврат КонецЕсли; ТипЦены = ТипЦены.ТекущийЭлемент(); ТабТоваров = СоздатьОбъект("ТаблицаЗначений"); ТабТоваров.НоваяКолонка("Товар"); ТабТоваров.НоваяКолонка("Цена","Число"); ТабТоваров.НоваяКолонка("Единица"); ТабТоваров.НоваяКолонка("Валюта"); Если ВыбТовар.ЭтоГруппа() = 0 Тогда ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦены); Иначе СтрТов = СоздатьОбъект("Справочник.Номенклатура"); СтрТов.ИспользоватьРодителя(ВыбТовар); СтрТов.ВключатьПодчиненные(1); СтрТов.ВыбратьЭлементы(); Пока СтрТов.ПолучитьЭлемент() = 1 Цикл ТекТов = СтрТов.ТекущийЭлемент(); Если ТекТов.ЭтоГруппа() = 0 Тогда ДобавитьВтаблицу(ТабТоваров, ТекТов, ТипЦены); КонецЕсли; КонецЦикла; КонецЕсли; // упакуем данные в список ДанныеДляПечати = СоздатьОбъект("СписокЗначений"); Фирма = СокрЛП(глЗначениеПоУмолчанию("ОсновнаяФирма").ЮрЛицо.ПолнНаименование); ДанныеДляПечати.ДобавитьЗначение(Фирма , "Фирма"); ДанныеДляПечати.ДобавитьЗначение(ТипЦены.Валюта , "Валюта"); ДанныеДляПечати.ДобавитьЗначение(ТабТоваров , "Таблица");ОткрытьФормуМодально("Обработка.ПечатьЦенников", ДанныеДляПечати); </pre><br><br> <br>1. тебе надо в таблицу значений добавить новую колонку ценыРассрочки<br>т.е. после<br><pre>ТабТоваров.НоваяКолонка("Цена","Число"); </pre><br><br>добавляешь<br><pre>ТабТоваров.НоваяКолонка("ЦенаРассрочка","Число"); </pre><br><br>2. потом, находишь в справочнике типы цен нужный для рассрочки<br>после<br><pre>ТипЦены = ТипЦены.ТекущийЭлемент(); </pre><br><br>пишешь<br><pre>ТипЦены.НайтиПоНаименованию("Мой Тип Цен Рассрочки",0,1);ТипЦеныРассрочки = ТипЦены.ТекущийЭлемент(); </pre><br><br>3. Потом после строки<br><pre>ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦены); </pre><br><br>добавляешь<br><pre>ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦеныРассрочки ); </pre><br><br>но саму процедуру ДобавитьВтаблицу() правишь, чтобы нужная колонка цены заполнялась в этом случае<br> <br>4.<br>уже в обработке ПечатьЦенников<br>после строки<br><pre>ПечРозн = глФРМ(ТаблицаТоваров.Цена, ТаблицаТоваров.Валюта); </pre><br><br>пишешь<br><pre>ПечРассрочка = глФРМ(ТаблицаТоваров.ЦенаРассрочка, ТаблицаТоваров.Валюта); </pre><br><br> <br>5. на печатной форме ценника тоже не забудь вывести<br>ПечРассрочка<br> <br>Более подробно уже некуда рассказать"
Ну может подскажешь откуда брать цену, я попытаюсь сделать!
"Сделал все как написано<br> <br>ТипЦены = СоздатьОбъект("Справочник.ТипыЦен");<br> Если ТипЦены.Выбрать("Типы цен",) = 0 Тогда Возврат КонецЕсли;<br> ТипЦены = ТипЦены.ТекущийЭлемент();<br> <br> ТабТоваров = СоздатьОбъект("ТаблицаЗначений");<br> ТабТоваров.НоваяКолонка("Товар");<br> ТабТоваров.НоваяКолонка("Цена","Число");<br> ТабТоваров.НоваяКолонка("ЦенаРассрочка","Число");<br> ТабТоваров.НоваяКолонка("Единица");<br> ТабТоваров.НоваяКолонка("Валюта");<br> <br> Если ВыбТовар.ЭтоГруппа() = 0 Тогда<br> ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦены);<br> ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦеныРассрочки);<br> Иначе<br> СтрТов = СоздатьОбъект("Справочник.Номенклатура");<br> СтрТов.ИспользоватьРодителя(ВыбТовар);<br> СтрТов.ВключатьПодчиненные(1);<br> СтрТов.ВыбратьЭлементы();<br> <br> Пока СтрТов.ПолучитьЭлемент() = 1 Цикл<br> ТекТов = СтрТов.ТекущийЭлемент();<br> Если ТекТов.ЭтоГруппа() = 0 Тогда<br> ДобавитьВтаблицу(ТабТоваров, ТекТов, ТипЦены);<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли;<br> <br>Но выдает ошибку<br> <br>ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦеныРассрочки<<?>>);<br>{Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(478)}: Переменная не определена (ТипЦеныРассрочки)<br>При проверке модуля обнаружены синтаксические ошибки!<br> <br>Что я не так сделал?"
"Сделал все как написано<br><br> <br><br>ТипЦены = СоздатьОбъект("Справочник.ТипыЦен");<br> Если ТипЦены.Выбрать("Типы цен",) = 0 Тогда Возврат КонецЕсли;<br> ТипЦены = ТипЦены.ТекущийЭлемент();<br><br> ТабТоваров = СоздатьОбъект("ТаблицаЗначений");<br> ТабТоваров.НоваяКолонка("Товар");<br> ТабТоваров.НоваяКолонка("Цена","Число");<br> ТабТоваров.НоваяКолонка("ЦенаРассрочка","Число");<br> ТабТоваров.НоваяКолонка("Единица");<br> ТабТоваров.НоваяКолонка("Валюта");<br><br> Если ВыбТовар.ЭтоГруппа() = 0 Тогда<br> ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦены);<br> ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦеныРассрочки);<br> Иначе<br> СтрТов = СоздатьОбъект("Справочник.Номенклатура");<br> СтрТов.ИспользоватьРодителя(ВыбТовар);<br> СтрТов.ВключатьПодчиненные(1);<br> СтрТов.ВыбратьЭлементы();<br><br> Пока СтрТов.ПолучитьЭлемент() = 1 Цикл<br> ТекТов = СтрТов.ТекущийЭлемент();<br> Если ТекТов.ЭтоГруппа() = 0 Тогда<br> ДобавитьВтаблицу(ТабТоваров, ТекТов, ТипЦены);<br> КонецЕсли;<br> КонецЦикла;<br> КонецЕсли;<br><br> <br><br>Но выдает ошибку<br><br> <br><br>ДобавитьВтаблицу(ТабТоваров, ВыбТовар, ТипЦеныРассрочки<<?>>);<br>{Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(478)}: Переменная не определена (ТипЦеныРассрочки)<br>При проверке модуля обнаружены синтаксические ошибки!<br><br> <br><br>Что я не так сделал?"
"<pre>ТипЦены.НайтиПоНаименованию("Мой Тип Цен Рассрочки",0,1);<br>ТипЦеныРассрочки = ТипЦены.ТекущийЭлемент(); </pre><br><br><br><pre> </pre><br>а это кто делать будет?"
"Я это делал<br> <br>// загрузим расчетные цены<br> СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен");<br> СпрТипыЦен.ВыбратьЭлементы();<br> <br> Пока СпрТипыЦен.ПолучитьЭлемент() = 1 Цикл<br> ТипЦены = СпрТипыЦен.ТекущийЭлемент();<br> ТипЦены.НайтиПоНаименованию("Мой Тип Цен Рассрочки",0,1);<br> ТипЦеныРассрочки = ТипЦены.ТекущийЭлемент(); <br> <br> Если ТипЦены.Рассчитывается = 1 Тогда<br> <br> // Если цена рассчитывается<br> Если глВернутьЦену(Номенклатура, ТипЦены, ИспользоватьДату(), ЦенаЦены, ЕдЦены, ) = 1 Тогда <br> ТабРасчЦен.НоваяСтрока();<br> <br> ТабРасчЦен.ТипЦены = ТипЦены;<br> ТабРасчЦен.Цена = ЦенаЦены;<br> ТабРасчЦен.Единица = ЕдЦены;<br> ТабРасчЦен.Валюта = ТипЦены.Валюта;<br> ТабРасчЦен.Процент = ТипЦены.Процент;"
"> Я это делал<br>> <br>> // загрузим расчетные цены<br>> СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен");<br>> СпрТипыЦен.ВыбратьЭлементы();<br>> <br>> Пока СпрТипыЦен.ПолучитьЭлемент() = 1 Цикл<br>> ТипЦены = СпрТипыЦен.ТекущийЭлемент();<br>> ТипЦены.НайтиПоНаименованию("Мой Тип Цен Рассрочки",0,1);<br>> ТипЦеныРассрочки = ТипЦены.ТекущийЭлемент(); <br>> <br>> Если ТипЦены.Рассчитывается = 1 Тогда<br>> <br>> // Если цена рассчитывается<br>> Если глВернутьЦену(Номенклатура, ТипЦены, ИспользоватьДату(), ЦенаЦены, ЕдЦены, ) = 1 Тогда <br>> ТабРасчЦен.НоваяСтрока();<br>> <br>> ТабРасчЦен.ТипЦены = ТипЦены;<br>> ТабРасчЦен.Цена = ЦенаЦены;<br>> ТабРасчЦен.Единица = ЕдЦены;<br>> ТабРасчЦен.Валюта = ТипЦены.Валюта;<br>> ТабРасчЦен.Процент = ТипЦены.Процент;<br>Я делал пример на типовой конфигурации ТиС последних релизов<br>А у тебя<br><pre>СпрТипыЦен = СоздатьОбъект("Справочник.ТипыЦен");СпрТипыЦен.ВыбратьЭлементы();Пока СпрТипыЦен.ПолучитьЭлемент() = 1 ЦиклТипЦены = СпрТипыЦен.ТекущийЭлемент(); <br>для чего-то перебираются типы цен, не понятно. Думай. Или обратись к специалисту.<br>И обрати внимание на "Мой Тип Цен Рассрочки" у тебя типа цен с таким наименованием точно нет</pre>"