Имя: Пароль:
1C
1С v8
Доработка кода ввода на основании (расширение)
0 anton54575
 
13.11.21
15:15
Делаю расширение ввод на основании счета от поставщика

Создал общий модуль

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
СтрДанные = Новый Структура("Основание", ПараметрКоманды);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", СтрДанные);
ОткрытьФорму("Документ.СчетНаОплатуПоставщика.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);

КонецПроцедуры

Создал процедуру в документе

&После("ОбработкаЗаполнения")
Процедура ЕВ_ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
        Если ДанныеЗаполнения.Свойство("Основание") Тогда
            Если ТипЗнч(ДанныеЗаполнения.Основание) = Тип("ДокументСсылка.СчетНаОплатуПокупателю") Тогда
                ЗаполнитьПоСчетуПокупателю(ДанныеЗаполнения.Основание);
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

Собственно все работает, но вопрос вот в чем.

Вопрос:

При автоматическом подставлении реквизитов при вводе на основании мне нужно значение подставления реквизита "Цена" заменить значением добавленного в СчетНаОплатуПоставщика реквизита "ЦенаПоставщика".

В конструкторе запросов все делается и выглядит это следующим образом и работает.

НоваяСтрока.Цена = ТекСтрокаТовары.ЦенаПоставщика;

Но в расширениях конструкторы запросов не работают и хотелось бы узнать как это прописать в процедуре.

Как сделать это в написанной здесь ОбработкеЗаполнения? Что нужно прописать?
1 Droning1C
 
13.11.21
15:18
Но в расширениях конструкторы запросов не работают и хотелось бы узнать как это прописать в процедуре.  - конструктор запросов в расширении работает, но видит только контекст расширения.
2 Droning1C
 
13.11.21
15:19
Если нужно изменить запрос в расширении и не хочется заимствовать из конфигурации лишнего, то открой в пользовательском режиме консоль, напиши запрос там и перенеси текст запроса в код расширения.
3 hhhh
 
13.11.21
15:20
(0) руками пропиши в запросе, или в коде. Это же одна строка, вот нафига тебе, чтобы добавить одну строчку, нужен конструктор?
4 Droning1C
 
13.11.21
15:20
ЗаполнитьПоСчетуПокупателю(ДанныеЗаполнения.Основание);  - ты это скопировал из уже существующей обработки заполнения того же документа?
5 Droning1C
 
13.11.21
15:21
(3) про это я даже говорить не стал))
6 серый КТУЛХУ
 
13.11.21
15:23
(2): консоль дает не код, а текст для конструктора. а конструктор в конфигураторе на такой текст даст ошибку и не сохранит.
или как ты имел ввиду? копирнуть в код и потом тупо вертикальные черточки самому расставлять? а ты видел ерп-шеые запросы по нескольку сотен строк?
7 серый КТУЛХУ
 
13.11.21
15:24
*даст ошибку и не перенесет в код
8 Мимохожий Однако
 
13.11.21
17:25
(6) Да. Вставляешь текст и потом чёрточки. Но уже есть консоли, в которых можно текст запроса скопировать в память и при вставке чёрточки уже на месте.
9 серый КТУЛХУ
 
13.11.21
18:17
(8): не видел таких консолей.
а с табуляциями+черточками уже приходилось намахаться - не фонтан это при наличии несколькосотстрочных запросов...
10 Droning1C
 
13.11.21
20:42
(9) То что ты их не видел, не значит, что их нет   https://www.youtube.com/watch?v=EHX7NZS8zAI
11 Ненавижу 1С
 
гуру
13.11.21
21:02
Пишу текст запроса с помощью конструктора во внешней обработки. Вставляю готовый в расширение
12 серый КТУЛХУ
 
13.11.21
21:06
(10): по твоей ссылке такой консоли тоже нет.
(11): и махаешься с добавлением табуляций и вертикальных черточек? так об этом уже сказано выше.
13 Ненавижу 1С
 
гуру
13.11.21
21:21
(12) зачем махаюсь? Вот у меня получилась в модуле внешней обработки строковая константа - текст запроса. С кавычками и вертикальными черточками. Вот её в нужное место и переношу.
14 Droning1C
 
13.11.21
22:14
15 Droning1C
 
13.11.21
22:15
16 Droning1C
 
13.11.21
22:16
(12) а при желании можно любую удобную лично тебе консоль доработать таким образом
17 AlvlSpb
 
13.11.21
22:22
(9) Правильно сказали, если нет у тебя не значит что нет вообще
https://a.radikal.ru/a39/2111/67/f948a6cfe5f1.jpg
https://d.radikal.ru/d38/2111/b2/9a05447bcd67.jpg
18 серый КТУЛХУ
 
13.11.21
22:32
(17): не значит, я в курсе. за картинки - спасибо, но они в смысле ответа - совершенно бесполезны.
(14): о, ИР = Ок, спасибо
(15): см нету.
19 Droning1C
 
13.11.21
22:41
(18) https://ibb.co/y0Pzb6f есть
20 Droning1C
 
13.11.21
22:46
21 серый КТУЛХУ
 
13.11.21
23:00
(19),(20): еще раз. по слогам.
см(!!!!!) нету
(расшифровка: у меня на скачивание по приведенной тобой ссылке).
22 acht
 
13.11.21
23:21
(9) https://ibb.co/xgVB6Mr
Стандартная кнопка конфигуратора
23 серый КТУЛХУ
 
13.11.21
23:36
(22): о она не дефолтная добавлять надо. спасибо.
(а есть еще дефолтная на ту же тему - запрос из конструктора в код загнать - чтобы кавычки заменить на парные в тексте в коде?)))
24 серый КТУЛХУ
 
13.11.21
23:41
(23)+: "не дефолтная" - в смысле https://ibb.co/y6rjkxw
25 acht
 
13.11.21
23:42
26 серый КТУЛХУ
 
13.11.21
23:45
(26): о, точно, забыл что там "в блоке" можно ограничить.
(костыли - они такие костыли, да. но палюбэ - спасибо!)
27 Droning1C
 
14.11.21
00:05
(26) тяжелый ты человек, однако. По итогу автору поста(явно новичку) мы толком не помогли, зато в 20ти ответах рассказали человеку, зареганному на сайте 14 лет то, что он уже давно должен был знать.
28 серый КТУЛХУ
 
14.11.21
00:31
(27): я тебя удивлю. я семерочник. с самого е начала ещё. даже с шестерки.
в восьмерке начал ковыряться немногим более полутора лет назад - и полтора года назад получил неслабый тормоз в этом, поймав тяжелый инфаркт (с хронической сердечной недостаточностью вследствие).
а так-то я еще больше 14-ти лет, с т1с еще (если ты помнишь что это такое).
ну и по итогам. мне - "человеку, который" (и т.д) - не "рассказали... что уже давно должен знать". но показали один костыль(!) о котором я не знал (спасибо, acht) и напомнив о втором костыле(!) (спасибо, acht). ну и от тебя одно напоминание (про ир, спасибо), и одна бесполезная для меня ссылка (см. (18)+(21)).
29 acht
 
14.11.21
00:37
(28) Беееедненький...
30 Droning1C
 
14.11.21
00:48
(28) пошли отдыхать. ну ее, эту 1ску.
31 hhhh
 
14.11.21
01:18
(28) все-таки прикинь, добавить вертикальные черточки хоть в 1000 хоть в 10000 строчек можно, нажав 2-3 кнопки.
32 серый КТУЛХУ
 
14.11.21
01:37
(29): и?
(30): та да, пошли, ну её до завтра.
(31): одна кнопка, см.(22), уже выяснили про этот костыль.
33 hhhh
 
14.11.21
01:49
(32) почему новый1? что за хрень? Не понял, что в (22). Просто в тексте модуля или тексте запроса нажимаешь Текст-Блок и там есть Добавить комментарий, убрать комментарий, добавить перенос строки, убрать перенос строки.
34 ДедМорроз
 
14.11.21
12:44
Если вам и консоль не помогает и вручную не пишется.
То,открываем внешнюю обработку и пишем код с запросом в ней,а потом переносим в рамширение.

Только нужно понимать,что расширение специально показывает то,что в нем есть для того,стобы при изменении заимствованного сразу сказать,что расширение неприменимо,чем потом ловить ошибки.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн