|
счет на оплату. | ☑ | ||
---|---|---|---|---|
0
KukenKvaken
19.04.17
✎
06:48
|
Добрый день.
Есть конфигурация 1с УТ 11.3 в ней есть документ счет на оплату. в счете в разделе товар заполняется номенклатура из поля "НаименованиеПолное" из справочника номенклатура. в справочнике номенклатуры есть еще два поля Производитель и Брэнд вот суть в том что мне нужно автоматически к полному наименованию ИМЕННО в Счете на оплату добавлялась информация из поля производитель. З,Ы, ответу попрошу попроще для дураков т.к. я в программировании 1с полный нуб. если нужны куски кода счета на оплату готов выложить. |
|||
1
catena
19.04.17
✎
07:01
|
Вот мне всегда казалось, что выполнение подобного тз, а так же полноценная лекция для кого-то, кто "в программировании 1с полный нуб" - достаточно трудозатратная работа, которая должна оплачиваться.
|
|||
2
AuneM1
19.04.17
✎
07:51
|
(0) Ищешь строку где написано:
ХХХ.ПолноеНаименование и меняешь на ХХХ.ПолноеНаименование +" " +СокрЛП(Строка(ХХХ.Производитель)) +" " +СокрЛП(Строка(ХХХ.Брэнд)) Или если это в запросе ХХХ.ПолноеНаименование +" " +Выразить(ХХХ.Производитель как строка(100)) +" " +Выразить(ХХХ.Брэнд как строка(100)) |
|||
3
KukenKvaken
19.04.17
✎
08:51
|
(2) Есть такая функция
Функция ДанныеДляПечатныхФормСчетаНаОплатуИзвещения(ПараметрыПечати, МассивОбъектов) в ней есть строки: ВЫБРАТЬ | Товары.Ссылка КАК Ссылка, | | Товары.ВариантПредставленияНабораВПечатныхФормах КАК ВариантПредставленияНабораВПечатныхФормах, | Товары.ВариантРасчетаЦеныНабора КАК ВариантРасчетаЦеныНабора, | | Товары.НоменклатураНабора КАК НоменклатураНабора, | Товары.ХарактеристикаНабора КАК ХарактеристикаНабора, | Товары.ЭтоНабор КАК ЭтоНабор, | Товары.ЭтоКомплектующие КАК ЭтоКомплектующие, | | Товары.НомерСтроки КАК НомерСтроки, | Товары.Номенклатура КАК Номенклатура, | Товары.Номенклатура.Код КАК Код, | Товары.Номенклатура.Артикул КАК Артикул, | Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное, вот вней насколько я понимаю нужно поправить а точнее строку Товары.Номенклатура.НаименованиеПолное |
|||
4
KukenKvaken
19.04.17
✎
08:54
|
(2) в расходной накладной я сделал так:
СтруктураПоиска = Новый Структура; СтруктураПоиска.Вставить("Ссылка", ВыборкаПоСтрокамТЧ.Ссылка); СтруктураПоиска.Вставить("Склад", ВыборкаПоСтрокамТЧ.Склад); СтруктураПоиска.Вставить("Номенклатура", ВыборкаПоСтрокамТЧ.Номенклатура.Производитель+); СтруктураПоиска.Вставить("Характеристика", ВыборкаПоСтрокамТЧ.Характеристика); СтруктураДанныхТовар = Новый Структура("Товар", Товар); ОбластьКолонкаТоваров.Параметры.Заполнить(СтруктураДанныхТовар); ОбластьКолонкаТоваров.Параметры.Товар = Товар +" ("+ ВыборкаПоСтрокамТЧ.Номенклатура.Производитель+")"; СтруктураДанныхТовар = Новый Структура("Товар", Товар); ОбластьКолонкаТоваров.Параметры.Заполнить(СтруктураДанныхТовар); ОбластьКолонкаТоваров.Параметры.Товар = Товар +" ("+ ВыборкаПоСтрокамТЧ.Номенклатура.Производитель+")"; // |
|||
5
KukenKvaken
19.04.17
✎
08:56
|
(1) трудозатраты были бы если б глобально много переделывать.
а так нет не много и большую часть я сам переделал. просто не понимаю как мне этот участок переделать. |
|||
6
catena
19.04.17
✎
09:04
|
(5)трудозатраты в объяснить.
Чем отличается счет от расходной накладной? Почему вариант из (4) не смогли повторить? |
|||
7
KukenKvaken
19.04.17
✎
10:32
|
(6) а что тут объяснять не так много если даже я со своим знанием смог переделать некоторые документы.
расходная накладная выписывается складу для отгрузки. документов. на ней нет реквизитов и всего прочего. потому что не знаю как. реализованы документы по разному |
|||
8
KukenKvaken
19.04.17
✎
11:21
|
по идеи должно быть так
Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное+" " +Выразить(Номенклатура.Производитель как строка(100)) +", тока я не уверен. |
|||
9
AuneM1
19.04.17
✎
12:02
|
ЗАмени строчку
Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное, НА Товары.Номенклатура.ПолноеНаименование +" " +Выразить(Товары.Номенклатура.Производитель как строка(100)) +" " +Выразить(Товары.Номенклатура.Брэнд как строка(100)) КАК НаименованиеПолное, |
|||
10
KukenKvaken
19.04.17
✎
12:25
|
(9) не получилось
|
|||
11
catena
19.04.17
✎
12:29
|
(10)Вот именно поэтому я еще утром сказала, что трудозатратно. Что не получилось? Как не получилось? С какой реакцией не получилось? Ты программист или пациент?
|
|||
12
KukenKvaken
19.04.17
✎
13:07
|
(11) Пациент.
Не добавляет производителя в счет на оплату. апсолютно никакой. |
|||
13
KukenKvaken
19.04.17
✎
13:10
|
модуль с кодом счет нао плату
https://yadi.sk/i/l9ik2qCr3H8QFz расходная накладная что я сделал в столбце товар в скобках берется производитель из заполненной номенклатуры https://yadi.sk/i/dMqwkXTF3H8QKU а вот что получается со счетом https://yadi.sk/i/AJG3mjuc3H8QPs |
|||
14
AlvlSpb
19.04.17
✎
13:20
|
(13) Ваш код в https://yadi.sk/i/dMqwkXTF3H8QKU не читается, аброкадабра. Но, если данные берутся из запроса (3), то сделайте так:
Замените строчку "Товары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное" на строчку: ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное + " Производитель " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Производитель.Наименование, " отсутствует") + " Бренд " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Марка.Наименование, "отсутствует") КАК НаименованиеПолное Обычное соединение строк в запросе. ЕСТЬNULL - нужен, если производитель или бренд не указан |
|||
15
AlvlSpb
19.04.17
✎
13:21
|
В результате получите строку, что-то типа:
КашаМанная Производитель Мама Бренд МояСемья ))) |
|||
16
KukenKvaken
19.04.17
✎
13:29
|
(14) {Документ.СчетНаОплатуКлиенту.МодульМенеджера(1640,58)}: Ожидается символ ';'
| ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное + "<<?>> Производитель " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Производитель.Наименование, " отсутствует") + " Бренд " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Марка.Наименование, "отсутствует") КАК НаименованиеПолное (Проверка: Сервер) {Документ.СчетНаОплатуКлиенту.МодульМенеджера(1640,73)}: Неопознанный оператор | ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное + " Производитель <<?>>" + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Производитель.Наименование, " отсутствует") + " Бренд " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Марка.Наименование, "отсутствует") КАК НаименованиеПолное (Проверка: Сервер) вот такие ошибки |
|||
17
KukenKvaken
19.04.17
✎
13:30
|
(14) модуль с кодом первая ссылка
https://yadi.sk/i/l9ik2qCr3H8QFz |
|||
18
Любопытная
19.04.17
✎
13:31
|
а в предприятии шаблон нельзя поправить?
|
|||
19
catena
19.04.17
✎
13:32
|
(16)Все кавычки замени на двойные. А ведь я просила текст ошибки...
|
|||
20
KukenKvaken
19.04.17
✎
13:33
|
(18) у меня управление торговлей.
формируется в временной таблице. поправив шаблон все равно нужно править код |
|||
21
KukenKvaken
19.04.17
✎
13:34
|
(19) ошибка появилась при проверке на синтаксис
и с вот этим изменением ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное + " Производитель " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Производитель.Наименование, " отсутствует") + " Бренд " + ЕСТЬNULL(ЗаказКлиентаТовары.Номенклатура.Марка.Наименование, "отсутствует") КАК НаименованиеПолное с предыдущим ошибки небыло |
|||
22
catena
19.04.17
✎
13:35
|
(21)Да не могло не быть, в том листинге, который ты выложил текст запроса не читается. Из-за кавычек.
|
|||
23
KukenKvaken
19.04.17
✎
13:37
|
(22) это ошибки на решение из 14 поста.
з.ы. после изменения кавычек ни че не изменилось производитель не добавился |
|||
24
AlvlSpb
19.04.17
✎
13:39
|
(22) Мне кажется, вы ошибаетесь. Двойные кавычки нужны, если в строку добавляем ссылку, а здесь обычное добавление текста. Двойные кавычки вроде не нужны
Проверил. В консоли работает с одинарными, на двойные выдает ошибку |
|||
25
catena
19.04.17
✎
13:41
|
(24)Консоль и текст запроса - немного разные вещи.
|
|||
26
catena
19.04.17
✎
13:42
|
Вот это не строка уже. Там разрыв на каждой кавычке
| Товары.Номенклатура.НаименованиеПолное+" " +Выразить(Товары.Номенклатура.Производитель как строка(100)) +" " +Выразить(Товары.Номенклатура.Брэнд как строка(100)) КАК НаименованиеПолное, |
|||
27
AlvlSpb
19.04.17
✎
14:06
|
(26) Не буду спорить. Открываю сейчас для редактирования демо УТ проверю. Отпишусь. И, не поймите как ответку))), просто, чтобы не вводить в заблуждение автора, в вашем коде ошибка "Выразить(Товары.Номенклатура.Производитель как строка(100))"
не сработает. преобразование типов в запросе не работает. А Производитель - СпправочникСсылка. Брать надо Производитель.Наименование - это строка. Да и ограничивать строку для соединения не обязательно (конечно, если сумма знаков не превысит 1000) |
|||
28
catena
19.04.17
✎
14:10
|
(27)Ну что вы, это не мой код :) Я тут своего кода ни строчки не писала. Это выше насоветовали.
|
|||
29
KukenKvaken
19.04.17
✎
14:20
|
в итоге вот решение
ВЫБОР | КОГДА Товары.Номенклатура.Производитель = ЗНАЧЕНИЕ(Справочник.Производители.ПустаяСсылка) | ТОГДА Товары.Номенклатура.НаименованиеПолное | ИНАЧЕ Товары.Номенклатура.НаименованиеПолное + "" ("" + (ВЫРАЗИТЬ(Товары.Номенклатура.Производитель.Наименование КАК СТРОКА(100))) + "")"" | КОНЕЦ КАК НаименованиеПолное, |
|||
30
AlvlSpb
19.04.17
✎
14:20
|
(23) Проверил на демо базе УТ. Все работает. Только то что вы привели в (3) это четвертый пакет, а результат в макет, видно по коду, выводится из 11 пакета. Заменил там Строку Товар.Наименование.НаименованиеПолное на:
Товары.Номенклатура.НаименованиеПолное +","+ " Производитель: " + ЕСТЬNULL(Товары.Номенклатура.Производитель.Наименование, " отсутствует")+ "," + " Бренд: " + ЕСТЬNULL(Товары.Номенклатура.Марка.Наименование, "отсутствует") Все выводится. http://s013.radikal.ru/i322/1704/13/c1315225e51a.jpg и кавычки нужны одинарные |
|||
31
KukenKvaken
19.04.17
✎
14:22
|
всем спасибо.
много узнал... решение нашли. (30) Ваше решение тоже попробую.... |
|||
32
catena
19.04.17
✎
14:29
|
(30)Хочу скрин кода с текстом запроса с одинарными кавычками.
|
|||
33
AlvlSpb
19.04.17
✎
17:39
|
(32) Уезжал на вызов. Пожалуйста:
Написал верхнюю строчку и пошел в конфигуратор к запросу делать скрин. И.... да, вы абсолютно правы. В конструкторе запроса конфигуратора вносил строчку копированием один в один как в моем сообщении. Сейчас хотел сделать скрин и обнаруживаю, что конструктор сам доставил кавычки. Кавычки ДВОЙНЫЕ. Снимаю шляпу ))) |
|||
34
AlvlSpb
19.04.17
✎
17:41
|
(33) В продолжение. Странно одно. Почему когда я пытался в конструкторе поставить двойные кавычки, конструктор не закрывался выдавая ошибку?
|
|||
35
AlvlSpb
19.04.17
✎
17:47
|
Поле в конструкторе запроса
http://s019.radikal.ru/i641/1704/c6/b1b44d7cf70c.jpg Поле в модуле (в самом запросе) http://s020.radikal.ru/i722/1704/5e/df37185246b5.jpg Все, понял. Т.к. Запрос.Текст - уже сам по себе текст (в кавычках), то в модуле двойные кавычки - вполне логично. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |