Имя: Пароль:
1C
 
Как сделать такую замену расширением (директива препроцессора)?
0 Гений 1С
 
гуру
25.05.22
18:32
#Удаление
    #Если ВебКлиент Тогда
#КонецУдаления
#Вставка
    #Если ВебКлиент или Клиент Тогда
#КонецВставки
1 mikecool
 
25.05.22
18:39
не работает? ))
2 Конструктор1С
 
25.05.22
18:50
Про что костыль изобретаешь?
3 Выпрь
 
25.05.22
18:51
можно просто добавить
#Вставка
    #Если НЕ ВебКлиент или Клиент Тогда
... тут весь код который ВебКлиент
#КонецВставки
4 Гений 1С
 
гуру
25.05.22
20:05
(3) в итоге я так и сделал, благо там код небольшой был, но все же...
(1) ага, контроль синтаксиса сразу не проходит
5 Гений 1С
 
гуру
25.05.22
20:05
(2) УТ обновляю доработанную, там до меня доработали, что-то про получение файлов.
6 Ненавижу 1С
 
гуру
26.05.22
10:06
(3) дублирование кода? ОК (сарказм)
7 Выпрь
 
26.05.22
10:17
(6) ну раз в 1с пишут так позорно, что приходится дублировать.
О том чтобы писать расширяемый код в 1с речи не ведут
8 Гений 1С
 
гуру
26.05.22
10:24
(7) (6) вот-вот, на практике порой дублирование кода лучше, когда речь идиёт об 1с
9 Гений 1С
 
гуру
26.05.22
17:22
Вы будете смеяться, но вот так работает (другой случай). ггг...
#Вставка
                        Если Чек.ТипОперацииККМ = "Возврат" Тогда
                            ВозвратТоваровККМ.Чеки.Добавить(ЧекККМ);
                        Иначе
#КонецВставки
                        ОтчетОПродажахККМ.Чеки.Добавить(ЧекККМ);
#Вставка
                        КонецЕсли;
#КонецВставки
10 Галахад
 
гуру
26.05.22
17:26
Сколько лет уже этому всему...
11 Ненавижу 1С
 
гуру
26.05.22
18:13
(9) не смешно. Тут просто код, а не директивы. Ты надеюсь знаешь, что директивы выполняются до "компиляции"
12 Выпрь
 
26.05.22
18:17
(11) директивы бывают не только директивами компиляции
13 Ненавижу 1С
 
гуру
26.05.22
19:02
(12) терминология она такая
14 Ненавижу 1С
 
гуру
27.05.22
10:54
15 Гений 1С
 
гуру
27.05.22
18:34
Кстати, забавно, так тоже не поддерживается...
    ТекстЗапроса =
    "ВЫБРАТЬ
#Вставка
    " + ?(ТаблицаТоваров.Колонки.Найти("КодКассира") = Неопределено, "", "

    |    Товары.КодКассира КАК КодКассира,
    |    Товары.НомерЧека КАК НомерЧека,
    |    //Номер смены в УТ 11.5 поддерживаемся
    |    //Товары.НомерСмены КАК НомерСмены,") + "
#КонецВставки
16 Ненавижу 1С
 
гуру
30.05.22
12:24
(15) разрыв строковых констант? оригинально...
17 Гений 1С
 
гуру
30.05.22
12:34
Кстати, вот так не работает:

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

        ОповещениеНачатьПомещениеФайла = Новый ОписаниеОповещения("ПолучитьСодержаниеТекстовыхФайловЗавершение", ЭтотОбъект, ДополнительныеПараметры);
        НачатьПомещениеФайлов(ОповещениеНачатьПомещениеФайла, ПомещаемыеФайлы,, Ложь);
    #КонецЕсли
#КонецВставки
    #Если ВебКлиент Тогда


....

Пишет:

Доработки (2020-12-07): Обычная: Ошибка применения модуля "Доработки ОбщийМодуль.МенеджерОфлайнОборудованияКлиент.Модуль". Текст модуля для метода "ПолучитьСодержаниеТекстовыхФайлов" изменился

Ну я поправил, убрал условие Клиент, т.к. там и так клиентский модуль. Не знаю, зачем его ставили.
18 Гений 1С
 
гуру
30.05.22
12:41
Хотя нет, здесь причина в другом:

Процедура ПолучитьСодержаниеТекстовыхФайлов(ИменаФайлов, ОписаниеОповещенияПриЗавершении, Кодировка = Неопределено) Экспорт

&ИзменениеИКонтроль("ПолучитьСодержаниеТекстовыхФайлов")
Процедура дор_ПолучитьСодержаниеТекстовыхФайлов(ИменаФайлов, ОписаниеОповещенияПриЗавершении, Кодировка) Экспорт

1С не отловила проверкой что поменялись параметры, вот же сволочь.
19 Пулья в зубах
 
30.05.22
12:46
(18) Гениталий, я вчера твоей жене на клык дал
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший