8.х УТ Добавление цены в накладной на перемещение.

Тема в разделе ""1С:Управление торговлей УТ"", создана пользователем Lukish, 16 июл 2012.

  1. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Всем доброго времени суток! В общем то вопрос прост-как в накладной добавить колонку с ценой? Поясню чуть подробнее: В накладной на перемещение товара есть 2 макета, один включает просто товар и кол-во, другой товар,кол-во и,цену. Но вот я полистал код, и понял что макет с ценой используется тогда, когда выбирается приход товара НТТ...У нас не используют никаких НТТ и поэтому собственно и вопрос =) Вот пара скринов:
    Посмотреть вложение 11590

    Вложения:

    • 2.PNG
      2.PNG
      Размер файла:
      512,8 КБ
      Просмотров:
      347
    • Снимок.PNG
      Снимок.PNG
      Размер файла:
      572,4 КБ
      Просмотров:
      333
  2. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Попробуйте не добавлять колонку с ценой, а использовать существующий макет, в котором уже есть колонка "цена"
  3. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Я над этим сейчас думаю...поступила идея, найти парраметр в котором будет написано что то типа Вывод на печать, если вид склада НЕ НТТ то цена=ложь" и поменять ложь на истину..но обрыл конфу...немогу ничег опохожего найти...
  4. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    А если опять понадобиться без цены?
    Наверно, лучше добавить еще один пункт в подменю печати, в модуле документа должна быть функция:
    Код:
    Функция ПолучитьСтруктуруПечатныхФорм() Экспорт
    СтруктураМакетов = Новый Структура("Ведомость", "Перемещение товаров");
    СтруктураМакетов.Вставить("ТОРГ13",			 "ТОРГ-13 (Накладная на внутреннее перемещение)");
    СтруктураМакетов.Вставить("_1Т",			    "1-Т (Товарно-транспортная накладная)");
    СтруктураМакетов.Вставить("М4",				 "М-4 (Приходный ордер)");
    СтруктураМакетов.Вставить("М11",			    "M-11 (Требование-накладная)");
    СтруктураМакетов.Вставить("БланкОтправитель",   "Бланк товарного наполнения, склад отправитель");
    СтруктураМакетов.Вставить("БланкПолучатель",    "Бланк товарного наполнения, склад получатель");
    СтруктураМакетов.Вставить("Ценники",		    "Ценники на товары");
    СтруктураМакетов.Вставить("Этикетки",		   "Этикетки");
    СтруктураМакетов.Вставить("РасходСРозничныхСкладовВЦенахАТТ", "Расход с розничных складов в ценах АТТ");
    СтруктураМакетов.Вставить("ПриходНаРозничныеСкладыВЦенахАТТ", "Приход на розничные склады в ценах АТТ");
    СтруктураМакетов.Вставить("ЗаписьВRFIDМетки", "Запись в RFID метки");
    Возврат СтруктураМакетов;
    КонецФункции // ПолучитьСтруктуруПечатныхФорм()
    
    Туда добавить еще один элемент структуры, что-то типа СтруктураМакетов.Вставить("ВедомостьСценой", "Перемещение товаров (с ценой)");
    Потом доработать процедуру:
    Код:
    Процедура Печать(ИмяМакета, КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт
    Если ЭтоНовый() Тогда
    Предупреждение("Документ можно распечатать только после его записи");
    Возврат;
    ИначеЕсли Не УправлениеДопПравамиПользователей.РазрешитьПечатьНепроведенныхДокументов(Проведен) Тогда
    Предупреждение("Недостаточно полномочий для печати непроведенного документа!");
    Возврат;
    КонецЕсли;
    Если Не РаботаСДиалогами.ПроверитьМодифицированность(ЭтотОбъект) Тогда
    Возврат;
    КонецЕсли;
    // Получить экземпляр документа на печать
    Если ИмяМакета = "Ведомость" Тогда
    ТабДокумент = ПечатьПеремещениеТоваров();
    ИначеЕсли ИмяМакета = "ВедомостьСценой" тогда
    
    
    Я думаю понятно как.
    Или можно вообще внешнюю печатную форму создать
  5. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Fart,
    Я понял что вы предлогаете..в принципе то же что я и хочу, только ещё советуете для перестраховки сделать 2 вида печатных форм с ценами и ту которая была..Но в любом случае мне нужно для этого найти тот параметр, который следует изменить для того, что бы у меня появилась цена...а вот именно с этим у меня и проблемка... А на счёт ВПФ я не уверен...я их никогда не использовал...Слышал только что их редактировать легче...но по старинке правлю стандартные в конфе...
  6. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Я бы, наверно, смотрел в сторону вот этого (не знаю, есть ли у вас такое, у меня УТ 10.3.11.4)

    Код:
    Если ПараметрыПечати.ВыводитьЦены Тогда
    ИмяШапки  = "ШапкаТаблицыСЦенами";
    ИмяСтроки = "СтрокаСЦенами";
    Иначе
    ИмяШапки  = "ШапкаТаблицы";
    ИмяСтроки = "Строка";
    КонецЕсли;
    
  7. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Да у меня есть такое условие...Но ,как я понял, оно добавляет (показывает) куда писать параметры цены, если цена ввыводится....т.е. где то есть параметр типа Выводить либо не выводить цены :) Уже пару часов его ищу....эх...
  8. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    :)))))))))))))))))))))))))))

    параметр типа Выводить либо не выводить цены ---- Если ПараметрыПечати.ВыводитьЦены Тогда

    Код:
    Функция ПолучитьДанныеДляПечатиПеремещенияТоваров() Экспорт
    ....
    ПараметрыПечати.Вставить("ВыводитьЦены", СкладОтправитель.ВидСклада = Перечисления.ВидыСкладов.НТТ ИЛИ СкладПолучатель.ВидСклада = Перечисления.ВидыСкладов.НТТ);
    ....
  9. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Ну блин..поковырял обе строчки...не выводится цена ..аррр((
  10. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Ну как?
    ПараметрыПечати.ВыводитьЦены у вас равно истина или нет (отладчиком посмотрите)? Если да, тогда должна цена выводиться.
  11. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Да блин...не могу вкурить...как сделать равно истине...Вот та запись:
    Код:
    // Вывести табличную часть
    Если ПараметрыПечати.ВыводитьЦены Тогда
    ИмяШапки  = "ШапкаТаблицыСЦенами";
    ИмяСтроки = "СтрокаСЦенами";
    Иначе
    ИмяШапки  = "ШапкаТаблицы";
    ИмяСтроки = "Строка";
    КонецЕсли;
    
    Из неё следует что цена будет ,если она будет выбранна..вот тут :
    Код:
    ПараметрыПечати.Вставить("ВыводитьЦены", СкладОтправитель.ВидСклада = Перечисления.ВидыСкладов.НТТ ИЛИ СкладПолучатель.ВидСклада = Перечисления.ВидыСкладов.НТТ ИЛИ СкладОтправитель.ВидСклада = Перечисления.ВидыСкладов ИЛИ СкладПолучатель.ВидСклада = Перечисления.ВидыСкладов);
    ПараметрыПечати.Вставить("ФлагПечатиМест", (Товары.Итог("КоличествоМест") > 1));
    
    вот так я сделал..т.к. мне НТТ нафиг эта не нужна...Я ж не гуоу программист)0Я конфигурацию только вторую неделю юзаю) И не могу осознать чтож тут надо бы подписать...
  12. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Да ёпт ...
    Ты хочешь, что бы там цена всегда показывалась? Тогда
    Код:
    // Вывести табличную часть
    //Если ПараметрыПечати.ВыводитьЦены Тогда
    ИмяШапки  = "ШапкаТаблицыСЦенами";
    ИмяСтроки = "СтрокаСЦенами";
    //Иначе
    //  ИмяШапки  = "ШапкаТаблицы";
    //  ИмяСтроки = "Строка";
    //КонецЕсли;
    Или хочешь создать еще один пункт в печати "Перемещение товаров (с ценой)"?
  13. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Если же просто в лоб заменяю вот на это:
    Код:
    // Вывести табличную часть
    Если ПараметрыПечати.ВыводитьЦены Тогда
    ИмяШапки  = "ШапкаТаблицыСЦенами";
    ИмяСтроки = "СтрокаСЦенами";
    Иначе
    ИмяШапки  = "ШапкаТаблицыСЦенами";
    ИмяСтроки = "СтрокаСЦенами";
    КонецЕсли;
    , то место под цену появляется. но оно не заполняется((с..делаю вывод что раньше условие "Если ПараметрыПечати.ВыводитьЦены" не выполнялось... как сделать его выполняемым?

    Да по идее цена всегда нужна будет
  14. Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    688
    Симпатии:
    8
    Баллы:
    29
    Глупый вопрос - реквизит цена заполнен в документе?

    Функиция ПечатьПеремещениеТоваров ()

    цикл

    Код:
    Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл
    Если НЕ ЗначениеЗаполнено(ПараметрыПозиции.Номенклатура) Тогда
    Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
    Продолжить;
    КонецЕсли;
    Посмотри отладчиком ПараметрыПозиции.Цена чему равно?
  15. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Да печаль то в том и заключается..что при формировании Перемещения товаров, нет пункта с ценой...Хотя сам товар в номенклатуре с ценой!!
    Посмотреть вложение 11596

    Вложения:

  16. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Сейчас мне дико стыдно и неудобно, но я не умею пользоваться отладчиком :)
  17. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    надо встать на интерисующую строку, поставить точку останова (F9), запустить отладчик(F5), как только выполнение кода дойдет до указанной строки - вас выбросит в конфигуратор, тогда вы сможете посмотреть интерисующее вас значение в режиме отладчика (ну это если кратко изложить суть дела)
  18. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Значение чего и где смотреть? :) Вот выкидывает меня в конфигуратор опять..красная точка становится со стрелочкой..а что дальше?
  19. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну вам же надо определенные переменные посмотреть, в приципе если на них навести, то значение отобразиться. можно посмотреть через табло (на панели инструментов вверху есть кнопочка, посмотрите. Откроете табло, поместите туда свою переменную - табло покажет значение переменной на текущий момент)
  20. TopicStarter Overlay
    Lukish
    Offline

    Lukish Опытный в 1С

    Регистрация:
    2 июл 2012
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Навожу на "ПараметрыПозиции" , всплывает "Структура"

Поделиться этой страницей