"Прелести" БСП. Часть 1 - Дополнительные реквизиты / сведения

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

Разработка - Адаптация типовых решений

БСП Дополнительные реквизиты

История небольшого расследования - сломались дополнительные реквизиты, или как НЕ НАДО использовать УИД в программном коде.

TLDR: Нашел в типовой интересный код. По-моему это грубая ошибка и нарушение стандартов. Подробности ниже.

Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_ВнешниеПользователи";
	Набор.Идентификатор = Новый УникальныйИдентификатор("d9c30d48-a72a-498a-9faa-c078bf652776");
	Набор.Используется  = ПолучитьФункциональнуюОпцию("ИспользоватьВнешнихПользователей");
	
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_Пользователи";
	Набор.Идентификатор = Новый УникальныйИдентификатор("2bf06771-775a-406a-a5dc-45a10e98914f");
КонецПроцедуры

 

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

 

Но недавно, создавая клиенту (УТ 11.4.8.73) нового пользователя, я заметил, что вкладка "Дополнительные реквизиты" даже не появляется, хотя у списка пользователей их должно быть 5. Зайдя в существующих пользователей, я обнаружил, что у них вкладка присутствует, но там находятся только уже заполненные допреквизиты, причем они зачеркнуты и в режиме "Только чтение". Обычно подобные эффекты возникают, если дополнительный реквизит помечен на удаление, но в данном случае все было на месте.

 

Поскольку "пользовательский" анализ не помогал, пришло время открывать Конфигуратор. Достаточно общеизвестно, что дополнительные реквизиты инициализируются в процедуре "ПриСозданииНаСервере" модулей форм соответствующих объектов метаданных. В данной версии за это отвечает следующий код:

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

Позволю себе прокомментировать не вполне очевидную конструкцию:

МодульУправлениеСвойствами = ОбщегоНазначения.ОбщийМодуль("УправлениеСвойствами");
МодульУправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);

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

УправлениеСвойствами.ПриСозданииНаСервере(ЭтотОбъект, ДополнительныеПараметры);

Но на самом деле у более сложной записи есть преимущество - она будет компилироваться даже если в системе не будет общего модуля "УправлениеСвойствами". Поскольку БСП позиционируется как модульная система, подобный трюк там стандартен и часто используется.

 

В самой процедуре меня поджидал сюрприз:

Если Контекст.ОтложеннаяИнициализация Тогда

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

 

Пришлось более пристально взглянуть на то, как именно 1С получает список дополнительных реквизитов. В процедуре УправлениеСвойствамиСлужебный.ЗначенияСвойств() нашелся следующий запрос:

ВЫБРАТЬ
	НаборыСвойств.Набор КАК Набор,
	НаборыСвойств.ПорядокНабора КАК ПорядокНабора
ПОМЕСТИТЬ НаборыСвойств
ИЗ
	&НаборыСвойств КАК НаборыСвойств
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	НаборыСвойств.Набор КАК Набор,
	НаборыСвойств.ПорядокНабора КАК ПорядокНабора,
	СвойстваНаборов.Свойство КАК Свойство,
	СвойстваНаборов.ПометкаУдаления КАК ПометкаУдаления,
	СвойстваНаборов.НомерСтроки КАК ПорядокСвойства
ПОМЕСТИТЬ СвойстваНаборов
ИЗ
	НаборыСвойств КАК НаборыСвойств
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК СвойстваНаборов
		ПО (СвойстваНаборов.Ссылка = НаборыСвойств.Набор)
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
		ПО (СвойстваНаборов.Свойство = Свойства.Ссылка)
ГДЕ
	НЕ СвойстваНаборов.ПометкаУдаления
	И НЕ Свойства.ПометкаУдаления
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Свойства.Ссылка КАК Свойство
ПОМЕСТИТЬ ЗаполненныеСвойства
ИЗ
	ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК Свойства
ГДЕ
	Свойства.Ссылка В(&Свойства)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	СвойстваНаборов.Набор КАК Набор,
	СвойстваНаборов.ПорядокНабора КАК ПорядокНабора,
	СвойстваНаборов.Свойство КАК Свойство,
	СвойстваНаборов.ПорядокСвойства КАК ПорядокСвойства,
	СвойстваНаборов.ПометкаУдаления КАК Удалено
ПОМЕСТИТЬ ВсеСвойства
ИЗ
	СвойстваНаборов КАК СвойстваНаборов

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ЗНАЧЕНИЕ(Справочник.НаборыДополнительныхРеквизитовИСведений.ПустаяСсылка),
	0,
	ЗаполненныеСвойства.Свойство,
	0,
	ИСТИНА
ИЗ
	ЗаполненныеСвойства КАК ЗаполненныеСвойства
		ЛЕВОЕ СОЕДИНЕНИЕ СвойстваНаборов КАК СвойстваНаборов
		ПО ЗаполненныеСвойства.Свойство = СвойстваНаборов.Свойство
ГДЕ
	СвойстваНаборов.Свойство ЕСТЬ NULL
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВсеСвойства.Набор КАК Набор,
	ВсеСвойства.Свойство КАК Свойство,
	ДополнительныеРеквизитыИСведения.ВладелецДополнительныхЗначений КАК ВладелецДополнительныхЗначений,
	ДополнительныеРеквизитыИСведения.ЗаполнятьОбязательно КАК ЗаполнятьОбязательно,
	ВЫБОР
		КОГДА &ЭтоОсновнойЯзык
			ТОГДА ДополнительныеРеквизитыИСведения.Заголовок
		ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Заголовок, ДополнительныеРеквизитыИСведения.Заголовок) КАК СТРОКА(150))
	КОНЕЦ КАК Наименование,
	ДополнительныеРеквизитыИСведения.ТипЗначения КАК ТипЗначения,
	ДополнительныеРеквизитыИСведения.ФорматСвойства КАК ФорматСвойства,
	ДополнительныеРеквизитыИСведения.МногострочноеПолеВвода КАК МногострочноеПолеВвода,
	ВсеСвойства.Удалено КАК Удалено,
	ДополнительныеРеквизитыИСведения.Доступен КАК Доступен,
	ДополнительныеРеквизитыИСведения.Виден КАК Виден,
	ВЫБОР
		КОГДА &ЭтоОсновнойЯзык
			ТОГДА ДополнительныеРеквизитыИСведения.Подсказка
		ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(СвойстваПредставления.Подсказка, ДополнительныеРеквизитыИСведения.Подсказка) КАК СТРОКА(150))
	КОНЕЦ КАК Подсказка,
	ДополнительныеРеквизитыИСведения.ВыводитьВВидеГиперссылки КАК ВыводитьВВидеГиперссылки,
	ДополнительныеРеквизитыИСведения.ЗависимостиДополнительныхРеквизитов.(
		ЗависимоеСвойство КАК ЗависимоеСвойство,
		Реквизит КАК Реквизит,
		Условие КАК Условие,
		Значение КАК Значение
	) КАК ЗависимостиДополнительныхРеквизитов
ИЗ
	ВсеСвойства КАК ВсеСвойства
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
		ПО ВсеСвойства.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Представления КАК СвойстваПредставления
		ПО (СвойстваПредставления.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка)
			И (СвойстваПредставления.КодЯзыка = &КодЯзыка)

УПОРЯДОЧИТЬ ПО
	Удалено,
	ВсеСвойства.ПорядокНабора,
	ВсеСвойства.ПорядокСвойства

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

 

Создалось впечатление, что каким-то образом появился дубль, и система находит не тот элемент. Недолго думая, я решил попробовать удалить НЕ предопределенный элемент "Пользователи". Но удалить не получилось (ошибка, как выяснилось, была не только с пользователями):

Попытка удаления 

Я склонен воспринимать это сообщение как баг системы. Я четко вижу, что удаляю НЕ ПРЕДОПРЕДЕЛЕННЫЙ элемент, но система пытается убедить меня в обратном. У неё не получилось - я отловил место, в котором возникает это сообщение, и переопределил его в расширении на что-то пустое. После этого "предопределенный элемент" удалился.

 

Но после этого неожиданно перестала открываться форма справочника "Пользователи". Это меня, мягко говоря, удивило. Удивление выросло, когда я прошелся отладчиком и обнаружил, что в ходе процедуры открытия система получает "битую ссылку" на удаленный элемент справочника. Напоминаю, что элемент был удален "Удалением помеченных объектов", ссылок на него в системе не было. Я копнул чуть глубже, и обнаружил замечательную процедуру:

Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_ВнешниеПользователи";
	Набор.Идентификатор = Новый УникальныйИдентификатор("d9c30d48-a72a-498a-9faa-c078bf652776");
	Набор.Используется  = ПолучитьФункциональнуюОпцию("ИспользоватьВнешнихПользователей");
	
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_Пользователи";
	Набор.Идентификатор = Новый УникальныйИдентификатор("2bf06771-775a-406a-a5dc-45a10e98914f");
КонецПроцедуры

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

1. Есть механизм предопределенных элементов, который, казалось бы, ПРЕДНАЗНАЧЕН для того чтобы не делать таких вещей.

2. Ломается обработка удаления - она не видит этой "неявной ссылки" на объект.

3. Ломается визуальный интерфейс предопределенных элементов.

Так или иначе, процедура была отрефакторена к чему-то, больше похожему на разумный программный код:

&Вместо("ПриПолученииПредопределенныхНаборовСвойств")
Процедура А1_ПриПолученииПредопределенныхНаборовСвойств(Наборы)
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_ВнешниеПользователи";
	//Набор.Идентификатор = Новый УникальныйИдентификатор("d9c30d48-a72a-498a-9faa-c078bf652776");
	Набор.Идентификатор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_ВнешниеПользователи.УникальныйИдентификатор();
	Набор.Используется  = ПолучитьФункциональнуюОпцию("ИспользоватьВнешнихПользователей");
	
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_Пользователи";
	//Набор.Идентификатор = Новый УникальныйИдентификатор("2bf06771-775a-406a-a5dc-45a10e98914f");
	Набор.Идентификатор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Пользователи.УникальныйИдентификатор();
КонецПроцедуры

На этом история заканчивается - после исправления формы открываются и дополнительные реквизиты показываются. Ждем следующих интересных решений от фирмы "1С".

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

Комментарии
Избранное Подписка Сортировка: Древо
1. riposte 271 04.07.19 15:44 Сейчас в теме
Может ТиУ исправило бы ситуацию? Пробовали?
Просмотрел сейчас две конфигурации на наличие функции ПриПолученииПредопределенныхНаборовСвойств - ничего нет. Обе используют БСП разной степени свежести. Скорее всего это является следствием или чей-то доработки, или спецификой конкретно этой конфигурации.
3. Enigma 36 04.07.19 16:31 Сейчас в теме
(1) , (2) - БСП 3.0.2.300. Конфигурация практически типовая (УТ), БСП определенно никто не трогал. По поводу сломается - благодарю за информацию, надо будет аккуратно проверить все при обновлении. В любом случае, предопределенные элементы добавлены в расширение, обновить "забыв" про них не получится.

Но вообще - кто-нибудь может объяснить, зачем 1С-ники пихают УИДы в код конфигурации?
4. riposte 271 04.07.19 16:42 Сейчас в теме
(3)
Сложно сказать. Скорее всего, попало в обновление по запарке.
Тут как бы никто не спорит, что это чьи-то левые гуиды прилетели и таких объектов в базе не будет.
В чем был сакральный смысл добавлять их так, учитывая, что это все предопределенные элементы - останется тайной.
Иногда тоже уже на износе пишешь какой-то код и откровенно засыпаешь. Потом просыпаешься, читаешь что написал и волосы дыбом встают.
2. SlavaKron 04.07.19 16:23 Сейчас в теме
Проверил в БСП 3.0.3.17.
Процедура ПриПолученииПредопределенныхНаборовСвойств есть в том виде, как у автора.
А вот предопределенные элементы:
Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_ВнешниеПользователи
Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Пользователи.УникальныйИдентификатор
отсутствуют. Есть УдалитьСправочник_ВнешниеПользователи и УдалитьСправочник_Пользователи.
Автор, уточните какая версия БСП у вас, потому что ваше исправление поломается на версии 3.0.3.
5. Erne100 251 05.07.19 07:56 Сейчас в теме
Но недавно, создавая клиенту (УТ 11.4.9.73) нового пользователя
Опечатка с не вышедшим релизом отвлекала меня от смысла статьи... Может Вы имели в виду релиз 11.4.8.73? ...содержание +
7. Enigma 36 05.07.19 09:46 Сейчас в теме
(5) Действительно опечатка. Поправлю.
6. dhurricane 05.07.19 08:45 Сейчас в теме
Есть подозрение, что некорректно была обновлена конфигурация УТ. Да, действительно в свежих версиях БСП разраотчики перешли от "предопределенных в объекте" к "предопределенным в коде". Чтобы этот переход был корректным и не задублировал уже существующие элементы справочников, был реализован механизм подмены старых предопределенных на новые во время выполнения обработчиков обновления. Сопоставляются они по имени предопределенного. При этом очень важно, чтобы имена предопределенных в конфигурации получили префикс "Удалить". Судя по приведенному Вами коду, этого не случилось, у Вас имена предопределенных старые: "Справочник_ВнешниеПользователи" и "Справочник_Пользователи".

Это к вопросу, как могло все поломаться.

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

Но все это мои догадки, к сожалению ничем не подкрепленные.
serg_gres; CSiER; A_Max; acanta; +4 Ответить
12. qwinter 618 05.07.19 18:17 Сейчас в теме
(6)
Что касается вопроса, зачем разработчики БСП все это затеяли, то к моему сожалению, никакой информацией я не располагаю.
Это уже не секрет. 1С своим разработчикам платит за количество кода, вот некоторые редиски и плодят такой код ради кода. Меня на днях вывело из себя появление в ЗУПе в регистре "Данные для подбора сотрудников" второго измерения "Наименование" (ранее было одно "Сотрудник") которое используется в одном единственном месте, в списке сотрудников где по нему идет соединение с наименованием сотрудника. В итоге пользователи получили тормоза и исчезнувших из списка сотрудников, а программисты лишний геморрой.
8. Dmitryiv 126 05.07.19 10:17 Сейчас в теме
О сколько нам открытий чудных
Готовят просвещенья дух
И Опыт, сын ошибок трудных,
И Гений, парадоксов друг,
И Случай, бог изобретатель...

Пушкин А.С., 1829
9. SlavaKron 05.07.19 11:41 Сейчас в теме
Покопался я в демо УТ 11.4.8.73. В общем зря вы удалили этот элемент. Он нужен был разработчикам и поэтому они поставили заглушку на его удаление. Да, в типовой должно быть 2 элемента справочника НаборыДополнительныхРеквизитовИСведений "Пользователи": один предопределённый, другой – нет. У непредопределённого УИД – "2bf06771-775a-406a-a5dc-45a10e98914f". И все доп. реквизиты работают именно с непредопределённым. Добавление доп. реквизитов в предопределенный набор "Пользователи" не имеет результата. Стало быть, у разработчиков на него были планы. Скорее всего, предопределенные будут удалены в следующих релизах.
Прикрепленные файлы:
IntellXeon; user774630; +2 Ответить
10. Enigma 36 05.07.19 11:50 Сейчас в теме
(9) Я потом понял, что возможно у меня были неправильно назначены наборы реквизитов (как это получилось - другой вопрос, обновление было штатным). Правда, я припоминаю, что вроде как я пытался это исправить, но это не дало результатов.

В любом случае, "предопределять" объект в коде и потом смущать администраторов считаю дурным тоном. Пока что у меня все работает, причем ИМО более правильно. Эту УТ обновляем не очень часто, поэтому вопрос откладывается.
11. jONES1979 05.07.19 16:42 Сейчас в теме
Cпасибо за пост!
Расследования - это самые интересные темы!
13. ellavs 679 14.07.19 21:48 Сейчас в теме
Как раз прикручиваю в конфигурации механизм допреквизитов.
В ИТС по БСП (использую версию 3.0.3) так и написано:
7. В процедуре ПриПолученииПредопределенныхНаборовСвойств общего модуля УправлениеСвойствамиПереопределяемый описать предопределенную группу с именем Справочник_<ИмяОбъекта>, если объект – справочник; Документ_<ИмяОбъекта>, если объект – документ, и т. д. Например, для справочника Номенклатура создана предопределенная группа Справочник_Номенклатура:

Набор = Наборы.Строки.Добавить();
Набор.Имя = "Справочник_Номенклатура";
Набор.ЭтоГруппа = Истина;
Набор.Идентификатор = Новый УникальныйИдентификатор("c7cd91d8-6f8a-4d10-82bf-c6fba8475a98");


В демо базе БСП они используют этот же код.

В поисках того, какой же идентификатор мне нужно написать для своего документа, попалась эта публикация.
Решение, к сожалению, не подошло.
Так и не понятно, какой всё-таки идентификатор нужно использовать? Любой (т.е. придумать GUID самому) или какой-то конкретный?
Прикрепленные файлы:
14. ellavs 679 15.07.19 13:27 Сейчас в теме
(13) упс, не тот скрин приложила (в этом ошибка, которую я потом исправила, но всё равно не работало).
В итоге еще и баг БСП нашла, который некорректно обрабатывал добавляемый предопределенный элемент в справочник Наборов, если это группа (т.е. задано Набор.ЭтоГруппа = Истина;), которая используется для случая, описанного в ИТС как "Особые случаи настройки наборов свойств. Настройка объектов с разными наборами свойств у разных групп объектов". Настроила всё в точности по инструкции, но элемент записывался в справочник наборов упорно не как группа, в итоге при попытке добавить дочерний элемент (из спец.справочника на базе которого формировались наборы реквизитов) выходила ошибка на строке в модуле БСП "УправлениеСвойствами" "НаборСвойствОбъект.Записать(); по причине: Значение поля "Входит в группу" должно быть группой".

Для исправления ищем Общий модуль БСП УправлениеСвойствамиСлужебный, процедура СоздатьНаборСвойств:
Заменяем строку:
Если СвойстваНабора.ДочерниеНаборы = Неопределено Или СвойстваНабора.ДочерниеНаборы.Количество() = 0 Тогда
НА
Если (СвойстваНабора.ДочерниеНаборы = Неопределено Или СвойстваНабора.ДочерниеНаборы.Количество() = 0) И Не СвойстваНабора.ЭтоГруппа Тогда

День убила на поиск этой ошибки.
15. dhurricane 15.07.19 13:43 Сейчас в теме
(13)
придумать GUID самому
Да, самому. Я обычно пользуюсь для этих целей различными онлайн-генераторами.
Оставьте свое сообщение

См. также

Выбираем конфигурацию 1С 8 для Украины в зависимости от сферы деятельности предприятия

Статья no Нет файла v8 1cv8.cf Украина Бесплатно (free) Адаптация типовых решений

Как правильно выбрать конфигурацию 1С, учитывая особенности деятельности предприятия.

19.02.2020    386    user1364809    8       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

Локализация интерфейсов конфигураций. Практика и инструментарий 1Ci

Статья Программист Нет файла v8 Бесплатно (free) Работа с интерфейсом Локализация решений

В последнее время компания 1С International все увереннее заявляет о себе на международном рынке. Но для успешного продвижения в этом направлении необходима локализация интерфейсов конфигураций 1С. О том, как выглядит процесс перевода, какие инструменты для этого есть, где брать переводчиков и как проверять их работу, на конференции Infostart Event 2018 Education рассказал руководитель группы локализации компании 1Ci Сергей Поликарпов.

05.11.2019    2492    user1069006    0       

Итеративная ошибка почтового сервиса в 1С "Комплексная автоматизация" 2.4.8

Статья Системный администратор Программист Пользователь Нет файла v8 КА2 Россия Бесплатно (free) Адаптация типовых решений

После обновления на релиз 2.4.8.79 возникла конфликтная ситуация на уровне генерального директора, а именно: клиенты, которым отправлялись письма из 1С, начали регулярно получать одни и те же письма, то есть что-то вроде вирусной атаки (многократная отправка одного и того же письма).

02.07.2019    2461    pas    4       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Не открывается оборотно-сальдовая ведомость или "variable not found in subplan target lists"

Статья Программист Нет файла v8 v8::БУ УПП1 БУ Оборотно-сальдовая ведомость, Анализ счета Бесплатно (free) Адаптация типовых решений

При попытке открыть Оборотно-сальдовую ведомость программа выдает ошибку "Ошибка СУБД: ERROR: variable not found in subplan target lists" и либо закрывается, либо ее нужно перезапускать. Описан частный случай решения проблемы.

02.04.2019    4042    Max777    7       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Подключение дополнительных обработок - Розница для Украины

Статья Программист Нет файла v8 1cv8.cf Украина Бесплатно (free) Адаптация типовых решений

Внешние подключаемые обработки - замечательный механизм! Но почему же он не работает для простых пользователей?

22.03.2019    2871    kalyuzhny    9       

Неверный расчет СЗВ-СТАЖ. ЗУП 3.1

Статья Программист Нет файла v8 v8::СПР ЗУП3.x БУ Зарплата Управление персоналом (HRM) ФОМС, ПФ, ФСС Бесплатно (free) Адаптация типовых решений

При заполнении отчета СЗВ-СТАЖ на последних релизах ЗУП (ошибка не исправлена и в релизе 3.1.9.107) выявлены ошибки при расчете периодов, а также неверное выделение стажа ДЛОТПУСК.

01.03.2019    4944    dbachinsky    2       

Базовый курс по управлению ИТ-проектами. Курс проходит с 26 февраля по 22 апреля 2020 года. Промо

Отличительная черта курса - органичное сочетание трех вещей: 1.Теория проектного управления (PMI®+Agile Alliance+Российские ГОСТ+Методологии от 1С); 2. Опыт внедрения продуктов 1С (опыт франчайзи и успешных компаний + тренды Infostart Event и Agile Days); 3. Разбор реальных проблем и рекомендации экспертов по проектам слушателей. Мы будем фиксироваться на тех инструментах, которые реально оказываются полезными в практике руководителей проектов внедрения. Ведущая курса - Мария Темчина.

от 11000 рублей

Исправление отрицательных остатков по организациям в УТ 11.4, КА 2.4, ЕРП 2.4. Интеркампани, механизм формирования резервов

Статья Программист Нет файла v8 v8::УФ ERP2 УТ11 КА2 УУ Учет ТМЦ Бесплатно (free) Практика программирования Адаптация типовых решений

Подробно рассмотрены два способа исправления отрицательных остатков по организациям без использования подсистемы Интеркампани и с использованием. Описан механизм формирования резервов на уровне процедур общего модуля. Доработки механизма и исправление ошибок.

29.01.2019    19726    ids79    30       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Пропал фокус (активность) элемента формы, ошибка при переходе на платформу 1С:Предприятие 8.3 (8.3.12.1790)

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Адаптация типовых решений

После перехода на платформу 8.3.12.1790 обнаружилась проблема. При подборе товара в форме подбора номенклатуры на поле ввода количество пропал фокус (активность).

09.01.2019    6054    rhtr    20       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Некорректно заполняются значения по умолчанию при создании документа. 1С: УТ

Статья Программист Нет файла v8 v8::ОУ УТ11 Россия Бесплатно (free) Адаптация типовых решений

Столкнулся у клиента с такой проблемой: при смене банковского счета организации, 1С настойчиво подставляет в документы, при их создании, старый счет.

21.11.2018    5020    yupi71    11       

Разные хм... неожиданности при работе с УТ 11 и платформой

Статья Системный администратор Программист Нет файла v8 v8::ОУ УТ11 УУ Бесплатно (free) Практика программирования Адаптация типовых решений

По мере обнаружения буду писать сюда тонкости работы с УТ 11 и платформой, больше для себя, но, может, кому-то еще пригодится... Для нескольких вопросов предложены варианты обхода.

09.08.2018    14185    Kutuzov    27       

Готовые переносы данных из различных конфигураций 1C Промо

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

ЗУП 3.1: долгое открытие ряда документов (больничный, отпуск, командировка), начиная с релиза 3.1.6.6 - исправление ошибки с кодом 30161250

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Россия БУ УУ Зарплата Бесплатно (free) Адаптация типовых решений

В релизе 3.1.6.6 разработчиками была допущена ошибка, заключающаяся в написании крайне неоптимального запроса к базе данных. Конкретно на моей базе, где учет ведется всего пару месяцев, запрос выполнялся около 10 секунд, что уже напрягало. В данной публикации я укажу на расположение данного запроса и выложу текст нового запроса, опубликованного разработчиками в версии для тестирования 3.1.7.67.

21.06.2018    7157    Bene_Valete    12       

Ошибка печати чека на ККМ Атол FPrint22. ПоследующаяОплата (Кредит) вместо Электронными. Розница 2

Статья Системный администратор Программист Нет файла v8 Розница Россия Кассовые операции Розничная торговля Бесплатно (free) Адаптация типовых решений ККМ

При печати чека на FPrint22 неожиданно выяснилось, что вместо Электронными (пробивали по платежной карте) в чеке вставало на вид оплат ПоследущаяОплата (Кредит).

22.01.2018    25384    ah7777777    15       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Ошибка "Запись не верна! Набор записей, принадлежащий менеджеру, должен содержать ровно 1 запись" в Альфа-Авто 5 и методы ее устранения

Статья Системный администратор Программист Нет файла v8 1cv8.cf Автомобили, автосервисы Россия PostgreSQL Бесплатно (free) Адаптация типовых решений

Сегодня посреди рабочего дня база отказалась впускать пользователей. При попытке запуска вываливалась ошибка "Запись не верна! Набор записей, принадлежащий менеджеру, должен содержать ровно 1 запись". При этом активные сеансы работали без проблем. Саму ошибку можно было увидеть не всегда, чаще всего она пряталась за баннером с машинками.

28.12.2017    10818    MrsMastersan    6       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Исправление ошибки типового релиза ЗУП 2.5.118.1 в регламентированном отчёте "Расчет по страховым взносам"

Статья Программист Нет файла v8::СПР ЗУП2.5 Россия БУ Зарплата ФОМС, ПФ, ФСС Бесплатно (free) Практика программирования Адаптация типовых решений

В ЗУП 2.5.118.1 ошибка в регламентированном отчёте "Расчет по страховым взносам" за 1 квартал 2017. Коротко об ошибке: В отчёт не попадают сотрудники, уволенные до 2017 года, а попадать они обязаны,т.к. начисления по ним очень часто встречаются, например "Сохраняемый заработок на время трудоустройства" - это как раз выплата уже после увольнения сотрудника.

21.04.2017    17434    human_new    12       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Ошибка при заполнении строки 070 раздела 1 формы 6-НДФЛ

Статья Программист Нет файла v8::БУ КА1 Россия НУ Зарплата НДФЛ Бесплатно (free) Практика программирования Адаптация типовых решений

Комплексная автоматизация, редакция 1.1 (1.1.82.1). Возможно, в ЗУП 2.5.114.1 присутствует также. После очередного обновления КА, бухгалтер по заработной плате пожаловался на неправильное заполнение 070 строки раздела 1 отчета 6-НДФЛ.

08.02.2017    14150    dima_home    3       

Ошибка 2-НДФЛ ЗУП (3.0.25.150) {ОбщийМодуль.ЗарплатаКадры.Модуль(5279)}: Индекс находится за границами массива

Статья Программист Нет файла v8 ЗУП3.x Россия БУ Зарплата НДФЛ Бесплатно (free) Практика программирования Адаптация типовых решений

Ошибка при выполнении обработчика - 'ПриЗаписи' по причине: {ОбщийМодуль.ЗарплатаКадры.Модуль(5279)}: Индекс находится за границами массива ИмяПоля = УзелФормата.ДочерниеУзлы[3].ТекстовоеСодержимое;

01.02.2017    17974    sergey512    3       

Подборка программ для взаимодействия с ЕГАИС Промо

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

Ошибка при загрузке курсов валют. Комплексная автоматизация 2.2 (ошибка в типовой)

Статья Программист Нет файла v8::ОУ КА2 Россия Бесплатно (free) Практика программирования Адаптация типовых решений

При вызове обработки "Загрузить курсы валют" в конфигурации "Комплексная автоматизация 2.2" рел. 2.2.2.157 программа выдавала ошибку

17.01.2017    15066    serg1c    7       

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

Проблемы web-клиента 1С: Предприятие. Исправляем ошибку в 1С: Договорчики 8

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Адаптация типовых решений

Описывается способ обхода ошибки, возникающей в web-клиенте при программном изменении видимости элементов формы в процессе записи и закрытия. Ошибка была выявлена в типовой конфигурации 1С: Договорчики 8, но, вполне вероятно, может встречаться и в иных ситуациях. Предложен способ обхода с использованием механизма расширений 1С: Предприятие 8.3, что позволяет не вносить изменения в типовую конфигурацию.

06.07.2016    16262    Sergey1CSpb    3       

Розница 8. Аптека, поиск номенклатуры по штрихкоду

Статья Программист Нет файла v8 Розница Фармацевтика, аптеки Windows Бесплатно (free) Практика программирования Адаптация типовых решений

В конфигурации Розница 8. Аптека, редакция 2.1 (2.1.9.12) возникает ситуация, когда при чтении штрихкода выводится вся номенклатура, у которой совпадает прочтенный штрихкод независимо от остатков на текущем складе рабочего места, что при недостаточном контроле со стороны кассира приводит к списанию номенклатуры с другого склада. Для избежания данной ситуации предлагается в запрос типовой конфигурации добавлять условия по складу и положительным остаткам с изменением типовой конфигурации.

30.06.2016    13161    its_33    3