Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 15:15

Не установить Страну Происхождения в ценнике!!!

Автор Ольга Николаева, 16 дек 2011, 16:58

0 Пользователей и 1 гость просматривают эту тему.

Ольга Николаева

Хелп!!!
При выводе ценника на печать у меня не указывается Страна Происхождения.
Наверное, надо что-то исправить в Модуле. Только что - я не понимаю!!! Помогите, а то уже мозг вырывает!!!! :dfbsdfbsdf: :dfbsdfbsdf: :dfbsdfbsdf:
 
Что-то страшное пишет:
Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, Объект, ПечЕдиница, ПечРозн, Столбик, Ряд, <<?>>)
{Обработка.ПечатьЦенников.Форма.Модуль(18)}: Ожидается имя формального параметра
Если Ряд <<?>>> 3 Тогда
{Обработка.ПечатьЦенников.Форма.Модуль(23)}: Переменная не определена (Ряд)
Таб<<?>>.НоваяСтраница();
{Обработка.ПечатьЦенников.Форма.Модуль(24)}: Переменная не определена (Таб)
Код = Объект<<?>>.Код;
{Обработка.ПечатьЦенников.Форма.Модуль(28)}: Переменная не определена (Объект)
Страна=Объект<<?>>.СтранаПроисхождения;
{Обработка.ПечатьЦенников.Форма.Модуль(29)}: Переменная не определена (Объект)
Если Столбик <<?>>= 0 Тогда
{Обработка.ПечатьЦенников.Форма.Модуль(31)}: Переменная не определена (Столбик)
Таб<<?>>.ВывестиСекцию("Товар|Ценник");
{Обработка.ПечатьЦенников.Форма.Модуль(32)}: Переменная не определена (Таб)
Таб<<?>>.ПрисоединитьСекцию("Товар|Ценник");
{Обработка.ПечатьЦенников.Форма.Модуль(34)}: Переменная не определена (Таб)
КонецЕсли;<<?>>
{Обработка.ПечатьЦенников.Форма.Модуль(35)}: Обнаружено логическое завершение исходного текста модуля

volodya1122

Научитесь правильно задавать вопрос, тогда и ответят Вам. Что за конфигурация, что в ней изменяли до того как работало, откуда печатаете ценник..... и т.д.

Ольга Николаева

Конфигурация Торговля+Склад, редакция 9,2
Например: Справочник номенклатуры - наименование - печать ценника. Там два вида печати: просто печать (выдаёт вышеуказанную ошибку) и печать ценника внешняя (печатает, но без страны происхождения).
Неделю назад пришел "Мастер" и переделал модуль. Раньше Страна не печаталась, но и ошибку не выдавала. Теперь этого "Мастера" не найти. И пытаюсь сама что-нибудь сделать.

volodya1122

В стандартной (9.2)  нет внешней печатной формы. (Или я не ту конфу смотрю). В той что я смотртю (Торговля+Склад, редакция 9,2 вер 7.70.954) в справочнике есть кнопка "ценик" и также дублирование того же ценника по кнопке выбора (кнопка с треугольником). Те же самые кнопки есть когда откроешь любой елемент справочника для редактирования.
Правда ценник то печатается один и тот самый, но вызывать его нужно из разных процедур (в конфигураторе). Естественно нужно исправлять и тот и другой. (или только тот которым пользуетесь).

sergejK74

найди в ветке Обработки - ПечатьЦенников. Попробуй убрать запятую после Ряд
Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, Объект, ПечЕдиница, ПечРозн, Столбик, Ряд, <<?>>) =>
Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, Объект, ПечЕдиница, ПечРозн, Столбик, Ряд)
В стандартной обработке параметра Объект нет - видимо у вас чего-то здесь дорабатывали
Кнопочка Спасибо - слева!

AndreyNag

Здравствуйте.
Есть самописная конфигурация. В ней есть обработка печать ценников. Но страна происхождения не печатается. Решил сам дописать, но книжки и синтакс-помошник не помогает. Есть навыки программирования на Pascal и ObjectPascal.
При разборе в отладчике выяснил, что объект "ТаблицаТоваров" имеет в себе только наименование, цену и валюту. Пытаюсь сделать поиск в номенклатуре по наименованию товара "ТаблицаТоваров.Товар", он не находит. Объект "Тов" типа "Номенклатура", созданный мною выдает первый элемент номенклатуры, а именно группу товаров.
По тексту видно, что "ТаблицаТоваров = ДанныеДляПечати.Получить("Таблица");" таблица присутствует, однако в упор не могу понять где задается структура объекта "ТаблицаТоваров". И как туда заносятся значения. В других модулях она определяется, но там другая структура. ПО всей видимости это разные объекты.
ЗАДАЧА: в переменную "СтранаП" внести значение реквизита "СтранаПроисхождения" из текущего объекта номенклатуры. Далее я её внесу в таблицу для вывода на печать.
Спасибо за внимание.
//******************************************************************************
// ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)
//
// Параметры:
//  Таб             - таблица, в которую выполняется вывод ценника
//  ПечНаименование - наименование товара
//  ПечЕдиница      - единица измерения товара
//  ПечРозн         - цена товара
//  Столбик         - номер столбика.
//  Ряд             - номер ряда
//
// Описание:
//  Добавляет ценник в таблицу
//
Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, СтранаП, Столбик, Ряд) Экспорт
//Процедура ДобавитьЦенник(Таб, Фирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд) Экспорт
Столбик = ?(Столбик = 0,1,0);
Ряд = ?(Столбик = 0,Ряд+1,Ряд);
Если Ряд > 3 Тогда
Таб.НоваяСтраница(); Ряд = 1;
КонецЕсли;

Если Столбик = 0 Тогда Таб.ВывестиСекцию("Товар|Ценник");
Иначе Таб.ПрисоединитьСекцию("Товар|Ценник");
КонецЕсли;
КонецПроцедуры
//--------/
Процедура Сформировать(ТаблицаТоваров,Фирма)
//  Создание Таблицы для выходного отчета
Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); 
Тов = СоздатьОбъект("Справочник.Номенклатура");
Тов.ИспользоватьДату(РабочаяДата());
//Тов.ВыбратьЭлементы(0);
//ВыбТовар = Тов.ТекущийЭлемент();

Столбик = 1; Ряд = 0;

ТаблицаТоваров.ВыбратьСтроки();

Пока ТаблицаТоваров.ПолучитьСтроку() = 1 Цикл
Если ПустоеЗначение(ТаблицаТоваров.Цена) = 1 Тогда
Сообщить("У товара """ + ТаблицаТоваров.Товар + """ отсутствует цена.");
Иначе
ПечРозн = ФРМ(ТаблицаТоваров.Цена,ТаблицаТоваров.Валюта,2);

СтранаП = Тов.СтранаПроисхождения;

ПечНаименование = ТаблицаТоваров.Товар;
ДобавитьЦенник(Таб, Фирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, СтранаП, Столбик, Ряд);
//ДобавитьЦенник(Таб, Фирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, Столбик, Ряд);
КонецЕсли;
КонецЦикла;

Если Тов.НайтиПоНаименованию(СокрЛП(ТаблицаТоваров.Товар),1) = 0
Тогда Сообщить(ТаблицаТоваров.Товар + ". Товар не найден!!!");
Иначе Сообщить(ТаблицаТоваров.Товар + ". Товар НАЙДЕН!!!");
КонецЕсли;

//Вызов выходного отчета в окно просмотра и редактирования.
Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников");
Таб.ТолькоПросмотр(1);
Таб.Показать("Товарные ценники","");
КонецПроцедуры
//--------/
Процедура ПриОткрытии()
СтатусВозврата(0);
ДанныеДляПечати = Форма.Параметр;
Если ТипЗначенияСтр(ДанныеДляПечати) <> "СписокЗначений" Тогда
Возврат;
КонецЕсли;
Фирма          = ДанныеДляПечати.Получить("Фирма");
ТаблицаТоваров = ДанныеДляПечати.Получить("Таблица");
Сформировать(ТаблицаТоваров, Фирма);
КонецПроцедуры // ПриОткрытии()

sergejK74

Выполни глобальный поиск по имени обработки. Перед вызовом обработки и будет определена структура Таблицы товаров.
Делать поиск по наименованию, наверное, не стоит. Наименование вполне может быть не уникальным.
Кнопочка Спасибо - слева!

AndreyNag

Цитата: sergejK74 от 27 июн 2012, 13:10
Выполни глобальный поиск по имени обработки. Перед вызовом обработки и будет определена структура Таблицы товаров.
Делать поиск по наименованию, наверное, не стоит. Наименование вполне может быть не уникальным.
Спасибо. Нашел в глобальном модуле где формируется "Таблица" и добавил туда нужный реквизит. :-)
А потом оформил вывод "страны происхождения" на ценник.

Теги:

Похожие темы (3)

Рейтинг@Mail.ru

Поиск