Найти нужную часть кода (процедуру/функцию) которая отвечает за то или иное действие в 1С достаточно сложно, особенно если в этом деле нет опыта. Такие трудности в основном возникают у начинающих 1С программистом. Так же все зависит и от самой конфигурации, в типовых все более менее понятно, хоть там и кода очень много, так как они пишутся по стандартам, а вот если взять самописную, которую разработал человек с нестандартным складом ума, который могу затолкать скажем процедуру печати в общий модуль и туда же положить сам макет а еще и по извращаться с названия, можно как говориться голову сломать. Стандартным вариантом поиска кода является Отладка. Я же сегодня хочу поделиться еще одним, которым в свое время пользовался достаточно часто, особенно если не знал где расположенная нужная часть кода или целая процедуру/функцию.
Как в конфигураторе быстро найти код для нужно мне объекта
Поиск будем проводить в типовой конфигурации «Бухгалтерия государственного учреждения, редакция 2.0». Допустим нам нужно найти процедуру которая отвечает за формирование печатной формы документа «Счет на оплату» а именно то условие где вбирается макет «Счет на оплату» и «Счет на оплату с QR кодом».
Для того чтобы посмотреть какие процедуры и функции а так же какая часть кода выполняется в момент выбора той или иной печатной формы нужно сделать следующие. Запускаем конфигуратор и 1С в пользовательском режиме, открываем интересующий нас документ «Счет на оплату», после чего переходим в конфигуратор и выбираем «Отладка» и нажимаем «Замер производительности».
После этого возвращаемся в пользовательский режим и жмем печать «Счет на оплату».
После того как печатная форма откроется, снова возвращаемся в конфигуратор и отжимаем пункт «Замер производительности».
Когда Вы это сделается откроется окно в котором будут отображены все модули и конкретные строчки кода которые использовались для формирования печатная формы. Для удобства поиска произведем сортировку по полю «Номер строки». Видим что началось все с модуля менеджера и условия «Если Управление печатью …». Для того чтобы открыть данный модуль просто кликаем два раза мышкой.
В итоге откроется процедура «Печать» и то самое условие, тут достаточно наглядно можно понять какая часть кода выполнялась во время формирования печатной формы документа.
В правой части данного условия можно увидеть название используемого макета. Если повторить все тоже самое но выбрать печать «Счет на оплату с QR кодом» то вы увидите что будет использоваться другое условие с другим макетом.
Кстати подобным образом можно найти макет который используется во время печати, так как не всегда они хранятся в самом документе как в нашем случае. Очень части макеты сохраняют в общих макетах.
Так же данный поиск может пригодиться когда на форму программно добавляются различные элементы. Этот вариант хоть и не стандартный но имеет место быть и им обязательно стоит пользоваться. Но лучше хорошенько изучить Отладку.
|
|||
Аштитипи
09.03.06 – 09:35 |
Ситуация например следующая:В модуле объекта вызывается процедура: Процедура1(Параметры…),сама процедура находиться в одном из общих модулей.Так вот как быстро найти эту процедру в ветке общие модули,не глобальным же поиском(например в УПП).Или по названию общего модуля надо смотреть должна ли она там присутствовать? |
||
ТелепатБот
1 – 09.03.06 – 09:35 |
Доступ к глобальным переменным, процедурам и функциям из общих модулей |
||
Директор PR отдела
2 – 09.03.06 – 09:36 |
ТелепатБот и вправду Бот-телепат? |
||
Аштитипи
3 – 09.03.06 – 09:36 |
(1) мимо:) |
||
Vozhd
4 – 09.03.06 – 09:36 |
(0) Я для таких целей пользуюсь глобальным поиском. Чтобы он долго не искал ему можно ограничить область поиска в настройках или прервать по Ctrl+Break. |
||
Аштитипи
5 – 09.03.06 – 09:38 |
(4) В 7-ке проще было |
||
PaulBC
6 – 09.03.06 – 09:44 |
Перейти к определению (F12) |
||
Аштитипи
7 – 09.03.06 – 09:45 |
(6)Сэнкс |
||
Vozhd 8 – 09.03.06 – 09:46 |
(5) А что в 7-ке было проще? |
Уважаемые коллеги, прошу помочь.
В пользовательском режиме есть произвольная форма, как эту конкретную форму найти в конфигураторе?
- Вопрос задан более года назад
- 561 просмотр
Попробуйте следующий метод:
1. Запускаете клиент в режиме отладки.
2. В режиме 1С Предприяте находите команду, действие, событие, либо что там у вас, после выполнения которого открывается ваша форма.
3. В режиме 1С Конфигуратор указываете следующее Отладка — > Остановить
4. В режиме предприятия выполняете действие открывающее вашу форму.
После проделанного отладчик останавливается на событие, далее идете по строчкам и ищите следующий код, что то вроде ОткрытьФорму(“Форма.ВашаФорма”);
Либо, если форма уже открыта, то выполняете тоже самое, но непосредственно из формы (выполняете любую команду, событие прямо из вашей искомой формы в пользовательском режиме) и отладчик вас остановит в модуле вашей формы
В большинстве своем делаю именно так. Гораздо быстрее, чем использовать глобальный поиск.
В этой статье мы научимся создавать внешнюю печатную форму для управляемого приложения 1С 8.3, которое написано на БСП («1С: Бухгалтерия предприятия 3.0», «1С: Управление торговлей 11»). Причем создавать с нуля, не используя так называемые шаблоны. Вы сами научитесь создавать шаблоны внешних печатных форм.
Все это делается довольно просто))
И так, создадим новую обработку.
Мы будем создавать внешний счет на оплату покупателю, поэтому обработку так и назовем: «СчетНаОплатуВнешний».
Сохраним ее на жесткий диск.
Регистрация внешней обработки или отчета в базе 1С осуществляется на основании сведений, которые поставляет сама обработка. Поэтому эти сведения должны быть описаны в обработке. Осуществляется это с помощью структуры, которая имеет определенный набор полей, и которая возвращается экспортной функций СведенияОВнешнейОбработке.
Зайдем в модуль обработки, и создадим экспортную функцию СведенияОВнешнейОбработке.
Внутри этой функции создадим структуру ПараметрыРегистрации, которая будет содержать определенный список полей. Каждое поле мы разберем в отдельности.
Создадим первый элемент структуры, он будет иметь ключ с название «Вид».
Значением данной связки КлючИЗначение идет одна из строк:
- «ДополнительнаяОбработка»
- «ДополнительныйОтчет»
- «ЗаполнениеОбъекта»
- «Отчет»
- «ПечатнаяФорма»
- «СозданиеСвязанныхОбъектов»
В нашем случае должна быть строка «ПечатнаяФорма».
Следующий элемент структуры должен иметь ключ с названием Назначение.
В качестве значения данного элемента должен выступать массив, где перечислены будут все документы или справочники, в которых будет выходить данная печатная форма.
Они должны иметь тип строка, и быть в следующем формате:
Документ.»НазваниеДокумента»
Справочник.»НазваниеСправочника»
У нас этот массив будет возвращать отдельная функция ПолучитьНазначениеОбработки.
Допишем созданный последним элемент структуры.
Создадим новый элемент структуры, ключ которого будет называться «Наименование», а в значении будет содержаться наименование обработки, которое будет отображаться в справочнике «Дополнительные внешние печатные формы».
Следующий элемент структуры будет иметь название «Версия», значением данного элемента будет версия обработки. Задается программистом на его усмотрение.
Следующий элемент имеет название «Информация», который содержит краткую информацию по обработке.
Следующий элемент имеет название «БезопасныйРежим», его необходим устанавливать в значение истина или ложь, в зависимости от того необходимо устанавливать или отключать безопасный режим во время выполнения обработки. Мы установим значение Истина.
И в последнем параметре необходимо добавить команды, которые будут поставляться обработкой. Для этого нам необходимо создать и заполнить таблицу команд. Разработаем функцию, которая создает и возвращает таблицу с определенным набором полей. Делать это будем в функции ПолучитьТаблицуКоманд.
Создадим функцию и таблицу значений внутри нее.
Теперь создадим пять колонок этой таблицы.
И первая колонка – Представление (тип строка).
Эта колонка – представление команды в пользовательском интерфейсе, т.е. то, что пользователь увидит при нажатии меню»Печать» в документе или справочнике.
Вторая колонка – Идентификатор.
Это может быть любая текстовая строка, уникальная в пределах данной обработки.
Третья колонка – Использование.
Параметр данной колонки типа строка, должен принимать одно из четырех значений –
- ОткрытиеФормы – Открывает форму обработки.
- ВызовКлиентскогоМетода – будет вызвана клиентская процедура из модуля формы обработки.
- ВызовСерверногоМетода — будет вызвана серверная процедура из модуля обработки.
- СценарийВБезопасномРежиме – тоже будет вызвана серверная процедура из модуля обработки в безопасном режиме.
Конкретно мы будем использовать вызов серверного метода.
Следующая колонка – показывать оповещение. Принимает значение истина или ложь, в зависимости от того надо показывать оповещение или нет.
И последняя колонка – модификатор. Это дополнительный модификатор команды. В нашем случае будет иметь название ПечатьXML.
Теперь создадим процедуру, которая будет заполнять данную таблицу значений.
В данном коде все понятно.
В функции СведенияОВнешнейОбработке создадим команду и заполним ее.
Создаем таблицу значений:
Теперь заполним ее.
Еще раз пройдемся по параметрам.
- Первый параметр, непосредственно таблица команд вновь созданная.
- Второй параметр, как будет отображаться команда пользователю на форме (документа, справочника).
- Третий – уникальный идентификатор команды, запомните его, он нам еще пригодится!
- Четвертый параметр – использование, что вызовет Ваша команда.
- Пятый параметр – показывать оповещение, мы не будем это делать.
- Шестой параметр – модификатор, в нашем случае он всегда один ПечатьXML.
Теперь передадим вновь созданную таблицу команд в структуру ПараметрыРегистрации.
И пусть наша функция СведенияОВнешнейОбработке возвращает данную структуру.
Все теперь наша обработка будет передавать нужные параметры регистрации, которые будут необходимы при создании элемента справочника дополнительные печатные формы и обработки. Обращаю ваше внимание, что название всех полей в структуре Параметры регистрации, а также название и типы всех колонок в таблице команд, должны быть те которые приведены в примере, иначе Ваша обработка не зарегистрируется.
Теперь в модуле объекта создадим процедуру Печать. Это процедура с четырьмя параметрами: МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода.
И вот начинается самое интересное, теперь вам необходимо войти в аналогичную процедуру в менеджере объекта счет на оплату покупателю, или в обработке, которая, по сути, является менеджером печати.
Как узнать, где находится нужная нам функция?
Откроем модуль менеджера документа Счет на оплату покупателю.
И найдем процедуру ДобавитьКомандыПечати, которая заполняет список команд .
В этой процедуре найдем код, где добавляется команда для нужной нам печатной формы (список команд добавляется в таблицу значений КомандыПечати). И обратим внимание на свойство МенеджерПечати. Если этому свойству присваивается какое-нибудь значение — это путь к объекту метаданных, как правило к обработке, то значит при выводе нужной печатной формы будет отработан код в процедуре Печать, которая находится в модуле менеджере этого объекта (в обработке). А если это свойство в принципе не фигурирует при заполнении команды печати, то значит будет отработан код в процедуре Печать, которая находится в модуле менеджера нашего основного объекта (в нашем случае это документ СчетНаОплатуПокупателю)
Посмотрим на процедуру ДобавитьКомандыПечати в модуле менеджера документа «Счет на оплату покупателя».
оскольку мы делаем внешнюю печатную форму счета на оплату, то нас интересует первое добавление в таблицу значений (см. свойство Представление), и мы видим, что в этом случае заполнено свойство МенеджерПечати, где указан объект Обработка.ПечатьСчетаНаОплату. Это значит, что нам нужно найти процедуру Печать в модуле менеджера обработки ПечатьСчетаНаОплату.
А если бы мы решили сделать внешнюю печатную форму договора счета на оплату (второе добавление в таблицу значений КомандыПечати), то нам нужно было бы найти процедуру Печать в модуле менеджера документа СчетНаОплатуПокупателя.
Откроем модуль менеджера обработки ПечатьСчетаНаОплату.
И раскроем процедуру Печать.
Нас интересует второе условие (где фигурирует строка «СчетЗаказ», см. идентификатор нужной команды в процедуре ДобавитьКомандыПечати модуля менеджера документа), скопируем это условие в процедуру Печать нашей внешней обработки.
Внимание! Копировать напрямую процедуру Печать из модуля менеджера (без разницы обработка это, документ или справочник) не следует. Поскольку у них отличается количество параметров, в последствие это приводит к ошибкам при работе.
Так же из модуля менеджера обработки скопируем процедуру СформироватьПечатнуюФорм
В этом коде есть строка, где заполняется таблица сведений счета на оплату.
Эта таблица получается при помощи процедуры модуля менеджера объекта (в нашем случае это документ СчетНаОплатуПокупателю). Найдем эту процедуру в модуле менеджера документа СчетНаОплатуПокупателю.
И скопируем её в модель нашей внешней обработки.
А сам код процедуры СформироватьПечатнуюФорму в модуле внешней обработки исправим, убрав все не нужное от туда.
Если мы сейчас сделаем проверку модуля внешней обработки, то выйдет две ошибки. Первая, что не определена переменная ПараметрыПечати в процедуре Печать, и, что не найдена функция ПолучитьТекстЗапросаДляФормированияТаблицыСведенийСчетаНаОплату в функции ПолучитьТаблицуСведенийСчетаНаОплату.
Создадим переменную ПараметрыПечати в процедуре Печать. Это будет простая структура.
А потом найдем функцию ПолучитьТекстЗапросаДляФормированияТаблицыСведенийСчетаНаОплату в модуле менеджера документа СчетНаОплатуПокупателю и скопируем её в модуль внешней обработки.
Должен получится следующий состав процедур и функций модуля внешней обработки (для удобства я разделил их на две области).
Еще раз делаем проверку модуля. Ошибок не обнаружено.
Продолжаем, теперь нам необходимо, что бы брался наш макет, и печатался по нашей команде.
Нас интересует процедура СформироватьПечатнуюФорму, а в ней мы уделим внимание методу ПечатьСчетаНаОплату общего модуля ПечатьТорговыхДокументов.
Очевидно, она непосредственно формирует табличный документ. Перейдем в этот общий модуль, и скопируем функцию ПечатьСчетаНаОплату в модуль нашей внешней обработки.
Делаем проверку модуля внешней обработки. Ругается на несуществующие методы ВывестиЗаголовокПредупреждение и НомерСчетаНаОплату.
Переходим в общий модуль, от куда мы взяли функцию ПечатьСчетаНаОплату, находим процедуру ВывестиЗаголовокПредупреждение , и копируем ее в модуль внешней обработки.
А функция НомерСчетаНаОплату в общем модуле ПечатьТорговыхДокументов экспортная, поэтому мы просто исправим код в процедуре ПечатьСчетаНаОплату, где используется проблемная функция, сделав вызов этой функции из вышеупомянутого общего модуля.
Проверяем еще раз ошибки. Все нормально.
Не забудем в процедуре СформироватьПечатнуюФорму убрать вызов метода ПечатьСчетаНаОплату из общего модуля.
Теперь зайдем в скопированную функцию ПечатьСчетаНаОплату, и посмотрим, где в ней подтягивается макет.
Находим данный макет в общих макетах и копируем его в макеты нашей обработки.
Исправляем выделенный код, где подтягивается макет, следующий образом.
Теперь зайдем в наш скопированный макет, и сделаем какое-нибудь изменение, чтобы вы видели, что команда подтянула именно макет из внешней обработки.
Вернемся обратно в процедуру Печать нашей внешней обработки.
И теперь осталась одна небольшая хитрость, без которой ваш внешний отчет не будет работать. Необходимо текст «СчетЗаказ» (это идентификатор типовой печатной формы).
Заменить на название идентификатора команды («СчетНаОплатуВнешний»).
Все, сохраняем данную обработку. И запускаем «1С: Предприятие» из конфигуратора 1С.
Идем в администрирование. В дополнительные отчеты и обработки.
Нажимаем на кнопку «Добавить из файла» и выбираем нашу созданную обработку.
Записываем. И смотрим, как выходит наша печатная форма.
Ссылка на дубль статьи на Инфостарте. В конце этой статьи приведены примеры внешних печатных форм счета на оплату, ТОРГ 12, ПКО , М11 и Требование накладная в одной обработке (документ Требование накладная). Все внешние печатные формы сделаны для конфигурации «1С: Бухгалтерия предприятия» (релиз 3.0.67.67).
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Искал в:
1. Конфигураторе — общие таблицы
2. Документы — Форма документа(там никаких таблиц нету. есть кнопка выбора печатной формы. но в модуле непонятно (для меня) как и где программа эту форму ищет и выбирает.
3. Вручную переоткрывал (в конфигураторе) почти все файлы — *.ert, *.mxl и т.д. и т.п. — там тоже нужной формы (таблицы) не нашел.
И куда ж ее вообще могли запрятать?
Ищу форму Накладной документа “Реализация” в конфигурации 1С: Предприниматель . Конфигурация стандартная — никто в ней ничего не менял.
Где и как ее теперь еще искать, кто может что-подсказать, посоветовать, помочь?
———————
Необходимые дополнения: в самой конфигурации я менять ничего не собираюсь. мне нужно только в саму форму Ф.И.О. в одном месте проставить — то что бухгалтеры каждый раз делают вручную. Вобщем, анекдот про сына программиста мне ХОРОШО знаком ))))
А кому незнаком или кто подзабыл — напоминаю )))
===========
Подходит сын программиста к отцу, который сидит уставившись компьютер и щелкает увлеченно по клавиатуре:
— Папа, а почему солнце всегда встает на восходе, а садится на западе?
Отец, не отрываясь от компа:
— Сынок, ты это проверял?
— Проверял!
— Это всегда так работает?
— Всегда..
— Сбоев ни разу не было?
— Ни разу.
— РАДИ БОГА, Сынок. Ничего не меня! Ничего не трогай!
))))))))))))))))))))))))
Содержание:
1. Как можно обратиться к процедуре текущего модуля
Как можно обратиться к списку процедур текущего модуля?
Для чего вообще нужны процедуры?
В отдельные процедуры следует выносить повторяющийся код из различных модулей. Таким образом появляется возможность избежать постоянного повторения программного кода, а когда потребуется внести любые правки, то не придется вспоминать где находятся нужные фрагменты и править каждый из них. То есть повышается читаемость кода. В добавок к этому станет проще увидеть, что конкретно выполняет программный код, особенно если вызовы процедур 1С имеют логичные названия.
1. Обращение к процедуре 1С программно
2. Кнопка «PROC»
3. Диалоговое окно на панели инструментов
2. Как обратиться к процедуре 1С программно
Программно обратиться к процедуре довольно просто. Для этого нужно иметь саму отдельную процедуру и написанный рабочий код внутри нее.
Для того, чтобы вызвать нужную процедуру, в этом же модуле, необходимо просто написать ее имя.
Вызвать нужную процедуру
В результате подобных действий получим следующий итог:
Следующий шаг, номенклатура
Как видно, процедура «Приветствие» выполняется из другой процедуры «ПриОткрытии».
Допустим, у нас есть некий модуль с несколькими процедурами в нем.
Некий модуль с несколькими процедурами
3. Как обратиться к процедуре с помощью кнопки «PROC»
В режиме конфигуратора доступна кнопка с именем «PROC», при нажатии на которую открывается диалог выбора доступных процедур и функций 1С.
Выбор доступных процедур и функций в 1С
Это же окно можно открыть сочетанием клавиш «Ctrl + Alt + P». Из окна диалога можно обратиться к нужной процедуре, при этом стоит обратить внимание, что все процедуры и функции 1С в окне расположены в алфавитном порядке. За это отвечает флаг «Сортировка».
Флаг «Сортировка»
Если его отключить, то все процедуры и функции, в этом модуле, будут располагаться в порядке следования.
Расположение в порядке следования
То есть первой в окне будет процедура «АдресКартинкиНажатие», а последней процедура «ПриОткрытии», в точности также, как они располагаются в модуле. Также, следует отметить, что в разных модулях будут доступны разные стандартные обработчики.
Стандартные обработчики в 1С
Это сделано для вашего удобства, так как удобно создавать обработчик, просто выбрав то или другое событие. Например, если меня будет интересовать событие «ПриОткрытии»,
Событие «ПриОткрытии»
я могу выбрать двойным кликом одноименный обработчик и прописать в нем свой программный код.
Одноименный обработчик в 1С
4. Как обратиться к процедуре через диалоговое окно на панели инструментов 1С
Немного другие функции несет диалоговое окно, расположенное правее кнопки «PROC» на панели инструментов.
Функции диалоговое окно в 1С
Здесь можно выбрать редактируемую функцию или процедуру, или увидеть название текущей процедуры.
Редактируемая процедуру или функцию в 1С
Это достаточно удобно в том случае, если в 1С процедура и функция содержат большое количество строк и нужно понять, в какой части кода мы, в данный момент, находимся. При отладке конфигурации c сервера 1С такое свойство этого окна будет очень полезным.
В заключении хотелось бы напомнить о нескольких важных мелочах.
Процедура – это не функция. Она не имеет в 1C возвращаемого значения.
В имени процедуры не стоит использовать зарезервированные слова.
После заключительного слова «КонецПроцедуры» не стоит ставить знак «;».
Тело процедуры может состоять из любого количества операторов.
Специалист компании “Кодерлайн”
Ярослав Копытов
17.03.2021
При разработке универсальных расширений и обработок 1С сталкиваемся с ситуацией, когда разработчики изменяют название общих модулей или переносят процедуры или функции из одного модуля в другой. Таким образом, чтобы обработка работала и в старых и в новых конфигурациях требуется дополнительная проверка.
Как проверить существование общего модуля?
Если разработчики добавили новый модуль и туда перенесли нужную процедуру, то можно добавить проверку на существование общего модуля. Сделать это можно с помощью следующего кода:
&НаКлиенте Процедура v8PRO_МояПроцедура() Экспорт // Если работаем на сервере, то нужно заменить ОбщегоНазначенияКлиент на ОбщегоНазначения ОМ_СкидкиНаценки = ОбщегоНазначенияКлиент.ОбщийМодуль(v8PRO_ПолучитьИмяМодульСкидкиНаценки()); ОМ_СкидкиНаценки.СброситьФлагСкидкиРассчитаны(ЭтотОбъект); КонецПроцедуры &НаСервере Функция v8PRO_ПолучитьИмяМодульСкидкиНаценки() ИмяОбщегоМодуля = "СкидкиНаценкиЗаполнениеКлиент"; // Появился в КА 2.5.6 ОМ_Метаданные = Метаданные.ОбщиеМодули.Найти(ИмяОбщегоМодуля); Если ОМ_Метаданные = Неопределено Тогда ИмяОбщегоМодуля = "СкидкиНаценкиКлиент"; КонецЕсли; Возврат ИмяОбщегоМодуля; КонецФункции
В дальнейшем к нужному модулю можно будет обратиться, если его присвоить некой переменной.
Как проверить существование процедуры или функции общего модуля?
Бывают ситуации когда оба модуля существуют и в старой и в новой конфигурации, но нужная процедура в старой конфигурации находится в модуле “СкидкиНаценкиКлиент”, а в новой конфигурации она уже в модуле “СкидкиНаценкиЗаполнениеКлиент”. В этом случае можно воспользоваться попыткой, но эту попытку нужно обернуть в метод “Выполнить” иначе наш модуль не пройдет синтаксический контроль.
Выполнить(" |Попытка | // Для совместимости с УТ 11.4 | СкидкиНаценкиКлиент.СброситьФлагСкидкиРассчитаны(ЭтотОбъект); |Исключение | // В версии КА 2.5.6 поменялось имя общего модула | СкидкиНаценкиЗаполнениеКлиент.СброситьФлагСкидкиРассчитаны(ЭтотОбъект); |КонецПопытки;");
Канал про 1С появился в telegram
Следите за выходом отчетов и расширений для 1С на новом Telegram-канале здесь. Нас уже более 700 человек!