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

Добавить дополнительное поле в отчет "Ведомость по остаткам ТМЦ"

Автор Гусейн, 23 ноя 2011, 12:37

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

Гусейн

1С: Предприятие 7.7 (7.70.025)
Конфигурация: комплексная.

Здравствуйте!

Зовут меня Гусейн. Недавно начал пользоваться вышеупомянутым продуктом.
С 1С программированием не сталкивался ранее, но некоторые навыки в программировании есть.

Теперь собственно суть проблемы. Руководитель требует, чтобы в отчете "Ведомость по остаткам ТМЦ" можно было проследить КУДА был отдан товар, т.е. адрес в городе. Наиболее эффективным полагаю вписывать данную информацию в момент выдачи товара в поле "Комментарии" блока Реализация. И как цель задачи - реализовать вывод этого поля в отчете. Прилагаю иллюстрацию задачи.
Т.к. навыком работы ни с конструктором, ни с 1с программированием не обладаю, то прошу описать решение как можно детальнее.
Заранее благодарю.

С уважением, Гусейн Каландаров!

1Cnastroika

Адрес нужно брать из реквизитов контрагента. Приблизительно так: Реализация.Контрагент.Адрес, и записать это нужно в ячейку таблицы с комментарием.

Гусейн

Думаю, вы не совсем поняли задачу... Адрес у одного и того же контрагента будет меняться. Контрагент - наш сотрудник... он будет сегодня брать коммутатор со склада на один адрес, завтра - роутер какая-нибудь на другой адрес... Поэтому несомненно будет необходимость регулярно указывать где-то адрес, куда берут ТМЦ со склада. А другого поля, кроме "Комментарии" я не увидел...

sergejK74

Через конфигуратор открываешь отчет ВедомостьПоОстаткамТМЦ
Ищешь строку
ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "",ТекОстК,ТекОстР)
заменяешь на
ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "",ТекОстК,ТекОстР,Комментарий = "")


Процедура ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "")
на
Процедура ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "",Комментарий= "")


Далее ищешь
Иначе
Если НазваниеГруппировки = "Документ" Тогда
Если (Запрос.Внутреннее = 0)
или (Запрос.КоличествоПриход <> Запрос.КоличествоРасход) Тогда 
ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка,ТекОстК,ТекОстР);   
КонецЕсли;
Иначе
ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка);
КонецЕсли;
КонецЕсли;

заменяем на
Иначе
Если НазваниеГруппировки = "Документ" Тогда
Если (Запрос.Внутреннее = 0)
или (Запрос.КоличествоПриход <> Запрос.КоличествоРасход) Тогда 
ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка,ТекОстК,ТекОстР,Запрос.Документ.Комментарий);   
КонецЕсли;
Иначе
ПечатьСтроки(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка);
КонецЕсли;
КонецЕсли;

Переходим в таблицу
Там в ячейку вставляем выражение Комментарий (в какой строке из 10? - ставь во все 10).
Лучше конечно для опытов сохранить отчет как внешний, и тренироваться на нем.
Код брал из Торговли и Склад - в комплексной вроде аналогичный.

Кнопочка Спасибо - слева!

Гусейн

Спасибо за помощь. Но возникли небольшие сложности.
Вот такое error-сообщение выдает программа:
ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка,ТекОстК,ТекОстР,<<?>>Запрос.Документ.Комментарий);
{Отчет.ВедомостьПоОстаткамТМЦ.Форма.Модуль(482)}: слишком много фактических параметров

И просмотрите, пожалуйста, все ли верно я поместил в таблицу.
Еще раз спасибо Вам.

Гусейн

P.S. Error-сообщение появляется не в окне конструктора, а при запуске отчета из приложения.

sergejK74

в таблице все верно
по ошибке пропустил самую первую замену Процедура ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "",ТекОстК,ТекОстР)
заменяешь на
Процедура ПечатьСтрокиДокумента(Запрос,Ном,НазваниеСекции,ПечТекстСтроки,ТекРасшифровка = "",ТекОстК,ТекОстР,Комментарий = "")
Нашел объявление такой процедуры в модуле?
Кнопочка Спасибо - слева!

Гусейн

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

Гусейн

Сергей, большое Вам спасибо! Вы мне очень помогли ))
Немного поправил форматы вывода текста и рамки и получил требуемый результат! Ура!

Гусейн


Теги:

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

Рейтинг@Mail.ru

Поиск