"Вы всё сломали!". Разбираемся, кто прав, кто виноват

Публикация № 1125118

Разработка - Практика программирования

Практика анализ исправление баг фича БСП

О том, как "всё испортил" программист, а на самом деле виноват заказчик.

Друзья и уважаемые мэтры 1С!

Скажу сразу: не судите меня строго... я плохо знаю БСП. Мой двухлетний опыт работы программистом пока не дал полностью ознакомиться с этим зверем. Но активно им пользуюсь. Не может пройти ни одной задачи, где я не использую модуль ОбщегоНазначения. Процедура ЗначениеРеквизитаОбъекта() и подобные - самые частоиспользуемые в моей практике. За то, что познакомили меня с этой библиотекой большое спасибо программистам-сеньорам, с которыми я работаю.

Статья, как и первая, имеет элементы художественного произведения, но и без технической части, конечно же, никак. Ладно, поехали.

Пришел как-то заказ сделать внешний отчет для УТ 11.4. Отчет не сложный: смотрит продажи, смотрит остатки, высчитывает среднее количество продаж за рабочий день, прогнозирует необходимое количество товара к заказу. Ну ок, сделал, в тест отдал. Через пару дней приходит письмо счастья: "Вы всё сломали!". На вопрос о том, что же сломалось, ответ меня, мягко говоря, удивил. Суть заключается в том, мой отчет сломал другой внешний отчет. Подключившись, я обнаружил картину Репина: нажимаю

 

 

А открывается:

 

 

То есть, схема компоновки - явно моего отчета, а вариант - от другого!

 

 

Ну что тут сказать, неожиданно... Отступление: если вы сразу поняли, в чем проблема, и если сейчас подумали, какой я нуб, то, в качестве оправдания, сошлюсь на первый абзац своего сочинения.

Итак, для начала я воспользовался первым законом программиста, который я выучил на первом месте работы (во франче): в любой непонятной ситуации чисти кэш. Неее, это было бы слишком легко:) Потом стал думать на хранилище вариантов настроек. Ещё и заказчик сказал, что в тестовой базе всё отлично работает. С хранилищем я тоже сильно не знаком, поэтому решил, что, если ничего больше не поможет, то приступлю к нему. В общем, приступил я к своему самому любимому методу поиска проблем - методу тыка:) Почему любимого? Потому что так очень много чего нового узнаешь.

Ладно, решил я найти старый доп. отчет, который полетел. Ищу, найти не могу. Спрашиваю заказчика - он тоже не знает. Ну ок, что поделать... Теперь ищу этот отчет в дереве отчетов, который можно открыть в любой подсистеме, к примеру в продажах, в меню "продажи/отчеты по продажам/ещё/все отчеты". Нахожу интересную ситуацию:

 

 

Очень любопытно... Пробую снять пометку удаления у неизвестного мне отчета "Ведомость по товарам" - нельзя. Элемент предопределенный.

Здесь я хочу объявить о новой рубрике: "Вопросы мэтрам". Итак, описываю ситуацию:

Хочу заставить принудительно снять пометку удаления. В настройках отладки ставлю остановку по ошибке. Останавливаюсь на команде ВызватьИсключение в обработчике ПередЗаписью. Ставлю точку останова на строке условия, из-за которого проваливаюсь в исключение. Дальше делаю так:

 

 

Теперь вопрос: можно ли так делать? То есть меня значения переменных прямо во время отладки. Штука-то удобная очень, в 8.2 такого нет.

Короче, получилось у меня снять пометку удаления, вышло следующее: появился третий вариант отчета) Только схема компоновки и настройки полностью совпадают с моим новым отчетом. А заголовок - от старого... Облом. Пробую зайти к проблеме с другого конца. Смотрим, что происходит при записи элемента справочника ДополнительныеОтчетыИОбработки. Отладкой проваливаемся в общий модуль ВариантыОтчетов, в процедуру ПриЗаписиДополнительногоОтчета. И вот оно! Тот самый запрос, который, показывает, где собака зарыта!

 

 

Справочник, Карл! В БСП есть справочник вариантов отчетов! Открываю форму список элементов через все функции (синоним этого справочника - "Отчеты"). После увиденного, все пазлы сошлись, но лучше от этого не стало. Вот она - форма списка справочника ВариантыОтчетов в пользовательском режиме:

 

 

Просветление!:) Только такой список никак не информативный... Ладно, пишу внешнюю обработку, вывожу на форму динамический список с колонками "Наименование" и "Отчет". Результат:

 

 

Нашел! Осталось всего-ничего - переопределить у вариантов отчетов "Ведомость по товарам" и "Ведомость по товарам и тому подобное" свойство Отчет на тот, которому эти варианты по факту принадлежат. Здесь мне пригодилась тестовая база заказчика, в которой всё было хорошо. Открыл свою обработку с динамическим списком, смотрим, что там есть:

 

 

Этот вариант принадлежал доп. отчету Ведомость по товарам. А теперь угадайте дальнейший расклад?:) Да, в тестовой базе отчет есть, а в рабочей - нету. Испарился чудесным образом (*сарказм*)! Оказалось, что заказчик случайно накатил на отчет Ведомость по товарам мой новый отчет. Отчет-то изменился, схема компоновки новая, а вот старые привязанные элементы справочника вариантов отчета пометились на удаление. Заказчик снял пометку удаления из варианта отчета, и это вылилось в то, что вы видели выше. В итоге осталось всего-ничего: Стащить из тестовой базы старый отчет, перезалить его в рабочую базу, переопределить пользовательский вариант отчета, удалить безвозвратно ненужный вариант. Всё это сделалось с помощью ещё одного реквизита формы и двух команд:

 

 

Код модуля формы:

 

&НаКлиенте
Процедура Переопределить(Команда)
	ВариантОтчета = Элементы.ВариантыОтчетов.ТекущаяСтрока;
	ПереопределитьНаСервере(ВариантОтчета, Отчет);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПереопределитьНаСервере(ВариантОтчета, Отчет)
	УстановитьПривилегированныйРежим(Истина);
	ВариантОбъект = ВариантОтчета.ПолучитьОбъект();
	ВариантОбъект.Отчет = Отчет;
	ВариантОбъект.Записать();
	УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

&НаКлиенте
Процедура УдалитьБезВозвратно(Команда)
	ВариантОтчета = Элементы.ВариантыОтчетов.ТекущаяСтрока;
	УдалитьБезВозвратноНаСервере(ВариантОтчета);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура УдалитьБезВозвратноНаСервере(ВариантОтчета)
	УстановитьПривилегированныйРежим(Истина);
	ВариантОтчета.ПолучитьОбъект().Удалить();
	УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры

Готово. Вот так оказалось, что "сломал" я, а виноват заказчик. Вывод: не перезаливайте отчет другим отчетом! Можно перезалить только более свежую версию текущего. Можно, конечно, попробовать написать какую-нибудь защиту, чтобы не давать перезаливать отчет, в котором отличаются идентификаторы вариантов. В связи с этим у меня вопрос к вам, уважаемые мэтры: эта ситуация - баг или фича?

Эту статью я писал по памяти, так как случилось эта ситуация достаточно давно. И снова прошу: не судите меня строго. Да, я не знаток 1С, я только учусь:)

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. alex-l19041 8 20.09.19 08:54 Сейчас в теме
Оказалось, что заказчик случайно накатил на отчет ...
- да уж, лучше не давать заказчику это делать самостоятельно...
2. RomanCrow13 97 20.09.19 08:57 Сейчас в теме +2 $m
3. Sintson 366 20.09.19 09:54 Сейчас в теме
Заказчик оплатил затраченное на разбор время?
4. RomanCrow13 97 20.09.19 10:05 Сейчас в теме
8. Sintson 366 20.09.19 10:46 Сейчас в теме
(4)
...И опыт, сын ошибок трудных,
И гений, парадоксов друг...
user811769; user958854; Tangram; AlenaR; RomanCrow13; +5 Ответить
25. mrd_84 25.09.19 17:52 Сейчас в теме
(4)

Не в деньгах счастье. Зато опыта нажил, нас научил)))
27. &rew 24 22.06.20 10:48 Сейчас в теме
(25)Я так гастрит заработал.
5. AlX0id 20.09.19 10:07 Сейчас в теме
А надо ли было вообще все это расследовать?
Если вопрос стоит как: "Вы все сломали!", то наверное стоило взять бэкап, когда все работало, самому накатить изменения - и сказать, что заказчик криворукий семичлен.
rovenko.n; Raskad; sergathome; +3 Ответить
6. RomanCrow13 97 20.09.19 10:14 Сейчас в теме
(5) Возможно. Вопрос только в том, оплатил бы он тогда работу. Что с меня было взять: фрилансер, не юр. лицо, без предоплаты. Работал за ролтон)
7. AlX0id 20.09.19 10:17 Сейчас в теме
(6)
Ну так работы-то было бы на порядок меньше.. Развернуть бэкап - делается силами заказчика, накатить обработку - 10 минут максимум.. Убедиться в различии результатов - 5 минут..

Я, конечно, понимаю, что знал бы где упасть - соломки бы постелил.. Но все же..
9. akim2040 20 20.09.19 10:54 Сейчас в теме
Я тоже часто наступал на грабли с внешними отчетами.

По поводу обнаруженного Вами справочника, можно было бы без всяких запросов. просто отобразить все поля формы. где сразу бы увидели и имена отчетов, и ключи вариантов
Прикрепленные файлы:
CratosX; A_Max; Raskad; +3 Ответить
10. RomanCrow13 97 20.09.19 10:57 Сейчас в теме
(9) Ну да, моя решение совсем не лаконичное)
11. MikhailDr 20.09.19 12:33 Сейчас в теме
Ну тут и косяк разработчика, что не сделал все сам до конца, а дал залить отчет заказчику.
12. RomanCrow13 97 20.09.19 12:37 Сейчас в теме
(11) Дак у них есть свой штатный программист! Причём это он выступал контактным лицом заказчика. Конечно, были подозрения, что что-то не ладно. Мол, почему бы сам не сделал. Но подумал, что у самого много работы. Кто ж подумал, что так выйдет...
FilimonVl; acanta; +2 Ответить
13. MikhailDr 20.09.19 12:49 Сейчас в теме
14. qwed557 30 20.09.19 13:56 Сейчас в теме
Надо самому до конца выполнять работу. А может сам залил в чужой отчет а тут написал что все сломал сам заказчик ))))
16. RomanCrow13 97 20.09.19 14:08 Сейчас в теме
(14) может быть)) но доказывать точно ничего не буду.
С тем, что нужно самому до конца доводить - согласен. Если работаешь с программистом, которого не знаешь, то доверять ему нельзя.
В любом случае, это был полезный опыт. И интересно было узнать фичу БСП)
17. Fox-trot 118 20.09.19 14:47 Сейчас в теме
(16) погляди еще на параметр запуска "ЗапуститьОбновлениеИнформационнойБазы""
15. _MavR_ 20.09.19 14:01 Сейчас в теме
Ну "штатному программисту" руки оторвать неплохо было бы, а потом пришить на более приличествующее им место :-)
Хотя конечно всякое в жизни бывает и не так еще можно накосячить по запарке.
RomanCrow13; +1 Ответить
18. bulpi 177 21.09.19 20:47 Сейчас в теме
Люди, которые работают с типовыми конфигурациями, с системой отчетов БСП и всем этим - глубоко несчастные люди. Даже если они этого не понимают.
19. severnyj 22.09.19 09:54 Сейчас в теме
(18)Типовые конфигурации придуманы для того чтобы в итоге перейти на нетиповые )
triviumfan; +1 Ответить
22. AlX0id 23.09.19 14:14 Сейчас в теме
(18)
Да - найти спонсора который будет оплачивать время, которое тратится на очередную нетленку - это определенно счастье в наше время.
RomanCrow13; acanta; +2 Ответить
23. bulpi 177 23.09.19 20:36 Сейчас в теме
20. qwinter 627 23.09.19 12:25 Сейчас в теме
Столько проблем, а всего то надо было нажать кнопочку отключить и загрузить заново.
r.zdorkin; +1 Ответить
21. CratosX 108 23.09.19 12:32 Сейчас в теме
Меня тоже как-то подвело неудачное наименование команд "Загрузить" и "Создать". Создать - создаёт новый внешний отчет/обработку, а вот Загрузить - загружает в уже существующий элемент, на котором стоит активность в списке. Как-то затёр предыдущий отчёт, хорошо что было откуда его восстановить :)

Вовсе не фича, а один из многочисленных багов
24. olbir 25.09.19 15:47 Сейчас в теме
Зато опыт приобрел ) Это ценно
26. Abyss17 26.09.19 17:34 Сейчас в теме
История стара как мир, программист виноват ВО ВСЕМ априори.

Заказчик светел и прекрасен и не может быть ни в чем виноват, потому что душа его девственна и не знает пороков, ибо он как ребенок чист и невинен в своих желаниях. Заказчик хочет чтобы ему было комфортно, но, как большинство маленьких детей, сформулировать свои желания не умеет. Поэтому сабж, не владея понятной аргументацией, использует то, что ему доступно - эмоции.
С другой стороны, программисты - зачастую весьма прагматичные люди, и не каждый способен разглядеть рациональное звено в невнятных выкриках "инфанта".

P.S. На всякий случай уточню, что вышеуказанная история про ПРОГРАММИСТОВ, а не про ...кодеров, которые в своей работе используют "древнеиндусский" метод перебора всех возможных вариантов, пока не будет достигнут более менее приемлемый.
Оставьте свое сообщение

См. также

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    37572    unichkin    74    

Использование флажков в динамических списках

Практика программирования Работа с интерфейсом v8::УФ Бесплатно (free)

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

04.08.2020    3118    nekit_rdx    23    

Использование ПоказатьВопрос() в событии НачалоВыбора()

Практика программирования v8 v8::УФ Бесплатно (free)

На ИТС описано, как избегать использования модальности в событиях ПередЗаписью() и ПередЗакрытием() (можно ознакомиться по ссылке http://its.1c.ru/docs/v8nonmodal/). А что делать, если нужно задать вопрос пользователю в событии НачалоВыбора(). В данной статье приведу пример реализации с использованием асинхронного вызова ПоказатьВопрос(). Статья предназначена в основном для начинающих программистов, недавно столкнувшихся с управляемыми формами.

20.07.2020    1421    biimmap    2    

Открытие управляемой формы 1С 8.3 с измененным несохраненным объектом

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

Как загрузить в управляемую форму программно изменённый несохранённый документ (или элемент справочника).

13.07.2020    3075    plainer    11    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    30589    tormozit    100    

Серверные вызовы, которые нельзя вызывать

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    6354    SeiOkami    31    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    21945    user5300    16    

Как ограничить поля отбора в динамическом списке и ничего не сломать

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

С чем разработчик может столкнуться при попытке установки ограничений в динамическом списке.

06.05.2020    5018    SeiOkami    3    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    78222    tormozit    131    

5 шагов по изменению резервирования товаров в УТ 11.4

Оптовая торговля Практика программирования v8::ОУ v8::УФ УТ11 Россия УУ Бесплатно (free)

Планируйте, меняйте подходы, делайте качественно и регулярно, и получите результат.

19.03.2020    4608    Igorro82IT    16    

Об обновлениях

Практика программирования v8 v8::УФ Бесплатно (free)

Рассматриваются вопросы комментирования доработок стандартных конфигураций, необходимых для облегчения работы при обновлении конфигурации.

12.02.2020    2634    ipoloskov    27    

Детектор завершения согласования для 1С: Документооборот КОРП

Практика программирования Документооборот и делопроизводство v8::УФ ДО УУ Бесплатно (free)

Детектор, обнаруживающий завершение согласования и создающий соответствующее бизнес-событие, на которое можно настроить обработчик или автозапуск процесса.

04.02.2020    3025    shiaju    3    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    48697    tormozit    41    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    28091    ids79    26    

Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4

Практика программирования v8::УФ УТ11 Россия УУ Бесплатно (free)

Всем привет, долго ломал голову, но с помощью тыка и подсказок более опытных программистов, вот что мне удалось достичь и как это я сделал. Открываем конфигуратор - заходим в Документы-Заказ-Клиенту-Формы-ФормаДокумента, все будем делать только здесь, снизу формы две вкладки, в общем сама форма и модуль (как открыть, смотри рисунок - открыть форму).

16.01.2020    4199    VID1234    6    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    24760    John_d    22    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    45045    tormozit    74    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Практика программирования Инструментарий разработчика v8::УФ Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    12853    TitanLuchs    23    

Изменение макета в карточке номенклатуры(УТ 11, КА 2)

Практика программирования Работа с интерфейсом v8::УФ ERP2 УТ11 КА2 Бесплатно (free)

Краткая памятка по выведению добавленного реквизита в справочнике Номенклатура в стандартную карточку номенклатуры в УТ 11, КА 2, ERP 2.

24.10.2019    4493    darkultro37    4    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    34197    Yashazz    50    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16130    m-rv    2    

СКД. Отчеты с картинками

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    21736    YPermitin    40    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    17250    feva    41    

[Шпаргалка] Программное создание элементов формы

Практика программирования Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    51993    rpgshnik    63    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    20389    m-rv    17    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    50568    ids79    54    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    15152    ids79    8    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    85573    ids79    49    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    30892    m-rv    21    

Кодовое создание документа на 8.3, управляемые формы (на примере)

Практика программирования Разработка v8::УФ 1cv8.cf Бесплатно (free)

В своё время мне нужен был код создания документа через обработку, пол дня потерял пока нашёл гайд по решению данной задачи. Поэтому просто решил поделиться данным решением. Подойдёт только новичкам, опытные программисты могут даже не читать =)

07.08.2019    6047    Nefilimus    16    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    61806    ids79    11    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    53685    ids79    25    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    28356    itriot11    34    

Вставка гиперссылки в форматированный документ

Практика программирования Разработка v8::УФ Бесплатно (free)

Да, форматированный документ это умеет и сам, но возможности можно расширить!

03.06.2019    6382    Yashazz    0    

Добавление внешних отчетов / обработок в собственные подсистемы

Практика программирования Разработка v8::УФ Россия Бесплатно (free)

Краткая инструкция по добавлению функционала доп обработок/отчетов в собственную подсистему.

24.05.2019    11099    login1020    7    

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free)

В данной статье рассмотрим механизм работы с расшифровкой отчета, созданного при помощи системы компоновки данных, в управляемом приложении. Показывать буду на примере реальной задачи. Условие: использовать имеющиеся в конфигурации механизмы БСП, с минимальными и "правильными" изменениями. Расшифровка должны быть двух видов на каждом поле: 1. Открывать ссылочный объект 2. Открывать новую форму с детализацией табличной части документа. Собственно ради второго пункта и писалась статья, в основном для себя, чтобы не забыть.

14.05.2019    20020    Viktor_Ermakov    8    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    76701    Serginio    108    

Оперативная доработка отчетов без обновления конфигурации или расширения

Практика программирования Разработка v8::УФ 1cv8.cf Россия Бесплатно (free)

В статье рассматривается вариант оперативной доработки отчетов при помощи механизма дополнительных отчетов и обработок и небольшой модификации конфигурации.

12.05.2019    4606    samvani    0    

Автоматизация печатной формы (автоформирование табличного документа на основе любой таблицы значений)

Практика программирования Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Автоматическое формирование табличного документа из выбранной таблицы значений. Пример как можно рутинные действия по оформлению внешнего вида печатной формы переложить на программу. Статья предназначена в первую очередь для тех, кто не сильно владеет СКД (как я, например), но которым не хочется тратить свое время на формирование разных макетов, если вывести документ нужно в стандартном виде. Код полностью открыт, пользуйтесь на здоровье. :)

18.04.2019    3666    NeSPEC    0    

Этюды по программированию. Хитрости создания расширений для конфигураций на БСП. Часть 2

Практика программирования Разработка v8::УФ Бесплатно (free)

Некоторые нюансы, если вы захотите создавать свои расширения. Продолжение первой части.

16.04.2019    11123    milkers    9    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35205    ids79    40    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    35745    ellavs    126    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

Практика программирования v8 Бесплатно (free)

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    27610    ellavs    90    

Выбор периода на управляемой форме почти как на обычных формах

Практика программирования Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Простой механизм выбора периода на управляемой форме максимально похожий на аналог в обычных формах, тестировалось на платформах 8.3.8.ХХХ и выше.

26.03.2019    8351    independ    8    

Тестер: частые вопросы Промо

Практика программирования v8 Бесплатно (free)

Ошибкам бой - тесты норма жизни!

25.07.2018    29386    grumagargler    28    

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4

Практика программирования Универсальные функции Разработка v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free)

Различные варианты корректировки типовых механизмов проведения документов, без корректировки основной конфигурации. Использование расширений, подписок на событие и механизма локализации типовых документов.

22.03.2019    18037    ids79    16    

Иерархия групп и элементов в форме списка справочника как в проводнике. УФ

Практика программирования Разработка v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Если в форме списке надо выводить группы и элементы в разных таблицах, так как, например, в проводнике - слева группы, справа элементы, то для тех кто не знал или забыл, представлена инструкция, как это сделать.

20.03.2019    11952    rebuzx    12    

Добавление отчетов в типовые конфигурации 1С

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8::УФ v8::СКД 1cv8.cf Бесплатно (free)

Описание различных способов добавления общих и контекстных отчетов в конфигурации 1С, построенные на базе БСП. Основные моменты и нюансы.

07.03.2019    55099    ids79    46    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Практика программирования v8 Бесплатно (free)

По роду своей деятельности, мне часто приходится обсуждать с программистами детали реализации той или иной функциональности. Очень часто, разговаривая даже с квалифицированными специалистами я сталкиваюсь с незнанием сути платформенной функциональности Повторного использования возвращаемых значений общих модулей. В данной статье я постараюсь дать краткий обзор и основные особенности этой функциональности.

04.09.2017    53081    m-rv    61    

Программное изменение управляемых форм

Практика программирования Разработка v8::УФ Бесплатно (free)

При адаптации типовых конфигураций 1С часто приходится изменять в 1С 8 управляемые формы. Такие адаптации сложно потом поддерживать при обновлении. Такие изменения приходится вносить вручную заново, перепроверять корректность изменений в каждом обновлении. И если таких изменений множество, то каждое обновление может представлять серьезные трудозатраты. Есть несколько решений, которые позволяют упростить поддержку и обновление измененных систем 1С. Одно из них – это программное изменение форм. Вести разработку в таком режиме получается немного дольше, чем прямое изменение формы. Но это хорошо компенсируется в дальнейшем при поддержке и обновлении системы 1С. На самом деле ничего сложного в этом нет, просто нужно привыкнуть. Рассмотрим на примерах, как делать доработку управляемых форм кодом в 1С.

05.03.2019    10175    user759624    10    

Функциональные опции 1С 8.3 – все возможные варианты использования

Практика программирования Разработка v8::УФ 1cv8.cf Бесплатно (free)

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

22.02.2019    35551    ids79    14