Недопустимое значение параметра параметр номер 1 как исправить

Недопустимое значение параметра (параметр 1). 1С Честный знак

Рейтинг: 3.3/5 – 14
голосов

Ошибки при сканирование новых кодов маркировки Data Matrix которые пришли от поставщика.

Когда возникает данная ошибка? Вы купили 2-хмерный сканер штрих-кодов который производит чтение кодов типа data matrix, обновили вашу 1с Розницу или Управление торговлей до появления раздела Настройка интеграции с ИС МП, прошили онлайн кассу и заключили договор с ОФД об отправки кодов маркировки в честный знак, и вроде бы всё хорошо, марки клеятся на коробки с обувью. Маркированная продукция списывается, на чеке пишется заветная буковка (М) означающая отправку в честный знак и списание обувной или табачной продукции, но тут Ваш поставщик присылает новую партию обуви и при чтении 2D сканером появляется ошибка «Недопустимое значение параметра (параметр номер ‘1’)».

В каких программах возникает данная ошибка?

  • 1С Розница редакция 2.3
  • 1С Управление торговлей 11.4
  • 1С Далион
  • 1С Управление нашей фирмой
  • 1С Штрих-М Кассир

Причины появления ошибки в 1С Недопустимое значение параметра (параметр номер ‘1’)

Ранее данная тема уже обсуждалась на популярных сайтах и форумах, например, вот здесь:

https://forum.infostart.ru/forum81/topic236817/

Решения данной проблемы так и не последовало. Вся проблема в том, что до пандемии короновируса, в марте, апреле и ранее множество продавцом обуви и табака спешили перевести программу товароучета на более новую и синхронизировать с системой маркировки «Честный знак». 1С в свою очередь выпустила обновления и учла далеко не все параметры чтения QR кода.

Решением данной проблемы является обновления 1С до последней версии релиза. После обновления 1С ошибка Недопустимое значение параметра (параметр номер ‘1’) – исчезнет. Но при этом появятся другие недочеты 1с, но это уже отдельная тема.

Важно заметить, что коды, которые вы печатали ранее читает без проблем, проблема только со «свежими кодами маркировки».

Удачи Вам в решении ваших задач, если будут вопросы, обращайтесь!

Возможно вас так же заинтересует:

  • Настройка обмена 1С розница и честный знак без подключения к СУЗ
  • Настройка обмена 1С Управленеи торгволей без подключения к СУЗ

Приложение

Здравствуйте, Лидия!
Это ошибка разработчиков в обновлении 3.0.109. Что неприятно — она еще не зарегистрирована, поэтому нужно написать на горячую линию 1С о ней и дожидаться исправления в ближайшем обновлении.

Работа над вашим вопросом была проведена с анализом программного кода.
Вы не указали свою платформу, но судя по совместимости 8.3.16 — это, скорее всего, 8.3.20.
Я все тестируемые действия выполняла на платформе 8.3.20.1590

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

Afinogen, Функция СведенияОВнешнейОбработке() Экспорт
   СписокНазначений = Новый Массив();
   СписокНазначений.Добавить(“Справочники.Номенклатура”);

      СписокКоманд = Новый ТаблицаЗначений;
   СписокКоманд.Колонки.Добавить(“Представление”);
   СписокКоманд.Колонки.Добавить(“Идентификатор”);
   СписокКоманд.Колонки.Добавить(“Использование”);
   СписокКоманд.Колонки.Добавить(“ПоказыватьОповещение”);
   СписокКоманд.Колонки.Добавить(“Модификатор”);

      НоваяСтрока = СписокКоманд.Добавить();
   НоваяСтрока.Представление = “Распечатать карточку номенклатуры”;
   НоваяСтрока.Идентификатор = “РаспечататьКарточку”;
   НоваяСтрока.Использование = “ВызовСерверногоМетода”;
   НоваяСтрока.ПоказыватьОповещение = Ложь;
   НоваяСтрока.Модификатор = “ПечатьMXL”;

         Сведения = Новый Структура();
   Сведения.Вставить(“Наименование”, “Карточка номенклатуры”);
   Сведения.Вставить(“Назначение”, СписокНазначений);
   Сведения.Вставить(“Информация”, “Это наша обработка”);
   Сведения.Вставить(“Вид”, “ПечатнаяФорма”);
   Сведения.Вставить(“Версия”, “Версия 1.0”);
   Сведения.Вставить(“БезопасныйРежим”, Ложь);
   Сведения.Вставить(“Команды”, СписокКоманд);

      Возврат Сведения;

   КонецФункции   

Процедура Печать(МассивОбъектов,  КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода) Экспорт

            УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
                                                “РаспечататьКарточку”,
                                                “Распечатать карточку номенклатуры”,
                                                ПечатьКарточкиНоменклатуры(МассивОбъектов[0],ОбъектыПечати));

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

Функция ПечатьКарточкиНоменклатуры (Ном, ОбъектыПечати)
ТаблДок = Новый ТабличныйДокумент ();
Макет = ПолучитьМакет(“Карточканоменклатуры”);
ОбластьШапки = Макет.ПолучитьОбласть(“Шапка”); 
ОбластьИнформации  = Макет.ПолучитьОбласть(“Информация”);   

//Заполнение параметров
ОбластьШапки.Параметры.Номенклатура =Ном.Наименование;       
ОбластьИнформации.Параметры.Номенклатура =Ном.ВидНоменклатуры;
ОбластьИнформации.Параметры.Номенклатура =Ном.Наименование; 
ОбластьИнформации.Параметры.Номенклатура =Ном.Артикул;
ОбластьИнформации.Параметры.Номенклатура =Ном.ЕдиницаИзмерения;
ТаблДок.Вывести(ОбластьШапки); 
ТаблДок.Вывести(ОбластьИнформации);

      Конецфункции

Ошибка при обновлении 1С 8 КА 2 с подредакции 2.5.8 на 2.5.9: Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции). {РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(41)}:ЗаполнитьСловарьСопоставленияН

Описание ошибки:
“Проблема с обработчиками” была встречена при выполнении обработчиков обновления базы Комплексная автоматизация с релиза подредакции 2.5.8.287 на релиз подредакции 2.5.9.119. “Не все процедуры удалось выполнить” из дополнительных процедур обработки данных. Стандартный способ решения, предлагаемый разработчиками, не помог.

Найденные решения:

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

1C 8 при обновлении проблемы с обработчиками, не все процедуры удалось выполнить
Рис. 1. Частный пример “проблемы с обработчиками”, “не все процедуры удалось выполнить”.

Общая рекомендация от 1С как подсказка в форме рекомендует открыть список дополнительных процедур обработки данных, перейдя по соответствующей ссылке и нажать в открывшемся окне на кнопку “Запустить”, чтобы процесс принудительно снова выполнился.

1С 8, результат обновления программы с проблемой обработчиков
Рис. 2. Общая рекомендация о том, как исправить “проблемы с обработчиками” при обновлении в 1С 8.

В соответствии с рекомендацией – переходим по ссылке “Не все процедуры удалось выполнить” открываем форму списка “Дополнительные процедуры обработки данных”. Находим копку “Запустить” и ожидаем.

Нажатие на изображении увеличит его
1С 8 ошибка, как исправить, решить, руководство, не все процедуры удалось выполнить
Рис. 3.  Форма списка “Дополнительные процедуры обработки данных” при обновлении в 1С 8

Если ошибка при дополнительной обработке носит не технический характер, то, возможно, что такой запуск избавит от ее. Но в обсуждаемом примере ошибка носила именно технический характер. И хоть сколько запускай – результат будет один и тот же. В частности, проблема была в участке кода:

Подробный текст ошибки:

Процедура “РегистрыСведений.СловарьСопоставленияНоменклатурыБЭД.ОбработатьДанныеДляПереходаНаНовуюВерсию” обработки данных завершилась с ошибкой:

Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)

Технические подробности:
Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 10be6416-8958-4124-b61f-023b79cfb16f по причине
Ошибка при вызове метода контекста (ВыгрузитьКолонку)
{РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(246)}:Порция = ОбновляемыеДанные.ВыгрузитьКолонку(“СсылкаНаОбъект”);
{РегистрСведений.СловарьСопоставленияНоменклатурыБЭД.МодульМенеджера(41)}:ЗаполнитьСловарьСопоставленияНоменклатурыБЭД(Параметры);
{(1)}:РегистрыСведений.СловарьСопоставленияНоменклатурыБЭД.ОбработатьДанныеДляПереходаНаНовуюВерсию(Параметры[0])

Нажатие на изображении увеличит его
1С 8 ошибка при обновлении базы, при выполнении дополнительных процедур
Рис. 4. Ошибка при обновлении базы “Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)”.

Так как разрешить подобные “проблемы с обработчиками обновления данных” при обновлении баз 1С 8? Такая ошибка может поджидать не только в данном примере. Можно рассматривать два варианта – первый сразу пробовать исправлять код разработчиков, чтобы обработчик отработал после исправления. Второй – попробовать изменить порядок обновления. Еще раз отметим, что в данном примере выполнялось обновление с подредакции Комплексной автоматизации 2.5.8 на подредакцию 2.5.9, а значит, возможно может быть и в других конфигурациях, “построенных” на БСП (Библиотека стандартных подсистем), таких, как Управление торговлей ред. 11, ERP 2. И, скорее всего, переход с релиза …5.8.287 на релиз …5.9.119 во всех этих конфигурациях может сопровождаться такой ошибкой.

Итак, если имеется архив базы, созданный перед началом обновления, то можно попробовать другую комбинацию, другой порядок обновляемых релизов, предварительно восстановив базу. В данном же примере было еще выполнено обновление до релиза 2.5.8.303, потом обновление до подредакции 2.5.9.125. И при обновлении, при выполнении дополнительных процедур обработки данных все прошло без проблем и ошибок. Т.е. ошибка, которая содержалась, скорее всего, в коде релиза 5.9.119, была устранена в релизе 5.9.125. Можно, конечно, проверить по истории регистрации и исправления ошибок на сайте 1С. Но на это не было времени. И выбранный подход в обходе проблемы помог.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

05-12-2022

Журавлев А.С.
(Сайт azhur-c.ru)

   Лис Локи

02.02.12 – 07:46

Здравствуйте. При настройке 1С “Предприятие” возникла следующая проблема: при попытке “Обмена данными” (Обмен даннымиВыгрузка счетов на оплатуЗагрузка взаиморасчетов с клиентам) появляется вот такое сообщение:

Недопустимое значение параметра (параметр номер ‘1’)

Процедура СформироватьТекстЗапросаИПолучитьЗагруженныеОбороты()

                       
   СКД = ПолучитьИзВременногоХранилища(АдресСКД);    // Отладчик ругается на эту строку.

   УстановитьПоляОтбораПоСКД(СКД);

   
   КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));

   КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);

   КомпоновщикНастроек.Восстановить();

   
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

   МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД,

          КомпоновщикНастроек.ПолучитьНастройки(), , ,

          Тип(“ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений”));

   
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

   ТаблицаРезультатаКомпановки = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

   
   ПостроительЗапроса = Новый ПостроительЗапроса();

   Источник = Новый ОписаниеИсточникаДанных(ТаблицаРезультатаКомпановки);

   ПостроительЗапроса.ИсточникДанных = Источник;

   ПостроительЗапроса.Выполнить();

   
   РезультатЗапроса = ПостроительЗапроса.Результат.Выбрать();

   
   Если НЕ СохранятьИзмененияПользователя Тогда

       Объект.Реализация.Очистить();

       Объект.Оплата.Очистить();

   Иначе

       мТаблицаОплат = Объект.Оплата.Выгрузить();

       Объект.Оплата.Очистить();

   КонецЕсли;

   
   Пока РезультатЗапроса.Следующий() Цикл

       
       Если НЕ СохранятьИзмененияПользователя Тогда

           Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Приход Тогда

               НоваяСтрока = Объект.Реализация.Добавить();

           ИначеЕсли РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда

               НоваяСтрока = Объект.Оплата.Добавить();

           КонецЕсли;

           ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса);

           ДобавитьСвязанныеДокументы(РезультатЗапроса, РезультатЗапроса.ВидыДвиженийПриходРасход);

       Иначе // Скорректируем ТЧ Оплаты, т.к. в реализации было удаление строки

           Если РезультатЗапроса.ВидыДвиженийПриходРасход = Перечисления.CRM_ВидыДвиженийПриходРасход.Расход Тогда

               НоваяСтрока = Объект.Оплата.Добавить();

               ЗаполнитьЗначенияСвойств(НоваяСтрока, РезультатЗапроса);

               
               МассивСтрок = мТаблицаОплат.НайтиСтроки(Новый Структура(“ИдентификаторДокумента, ИдентификаторКорДокумента”,РезультатЗапроса.ИдентификаторДокумента,РезультатЗапроса.ИдентификаторКорДокумента));

               Если НЕ МассивСтрок.Количество() = 0 Тогда

                   НоваяСтрока.Счет = МассивСтрок[0].Счет;

               КонецЕсли;

           КонецЕсли;

       КонецЕсли;

       
   КонецЦикла;

   
   Если НЕ мВремТаблицаРеализации.Количество() = 0 Тогда

       Для Каждого СтрокаРеализации ИЗ Объект.Реализация Цикл

           СтрокаТЗ = мВремТаблицаРеализации.Найти(СтрокаРеализации.ИдентификаторДокумента, “ИдентификаторДокумента”);

           Если НЕ СтрокаТЗ = Неопределено Тогда

               СтрокаРеализации.Счет = СтрокаТЗ.Счет;

           КонецЕсли;

       КонецЦикла;

   КонецЕсли;

   
   Если НЕ мВремТаблицаОплаты.Количество() = 0 Тогда

       Для Каждого СтрокаОплаты ИЗ Объект.Оплата Цикл

           МасивСтрок = мВремТаблицаОплаты.НайтиСтроки(Новый Структура(“ИдентификаторДокумента, ИдентификаторКорДокумента”, СтрокаОплаты.ИдентификаторДокумента, СтрокаОплаты.ИдентификаторКорДокумента));

           Если НЕ МасивСтрок.Количество() = 0 Тогда

               СтрокаОплаты.Счет = МасивСтрок[0].Счет;

           КонецЕсли;

       КонецЦикла;

   КонецЕсли;

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

Служебные сообщения:

{Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения(154)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища)

   СКД = ПолучитьИзВременногоХранилища(АдресСКД);    

Недопустимое значение параметра (параметр номер ‘1’)

Прошу, помогите как можно скорее. Сам я в 1С лишь скромный эникейщик.

   Рэйв

1 – 02.02.12 – 07:51

АдресСКД – не строка.

   Лис Локи

2 – 02.02.12 – 07:52

Ну, на этот кусок. В общем курсор он там останавливает.

   Рэйв

3 – 02.02.12 – 07:54

(2)Я тебе сказал почему ошибка. А почему АдресСКД  не строка это только отлажчиком на месте определишь.

   Лис Локи

4 – 02.02.12 – 07:56

О, понял. Мда, глупо получилось.

Как это поглядеть примерно?

   dva1c

5 – 02.02.12 – 08:03

(4) На строке “СКД = ПолучитьИзВременногоХранилища(АдресСКД)” в конфигураторе, делаешь точку останова (F9 и “красная” точка). Потом в предприятии запускаешь. Когда доходит до этого места происходит переключение в конфигуратор на точку останова. Выделяешь “АдресСКД” и нажимаешь Shift+F9.

В результате видишь табло, где все показано.

Анализируешь, поправляешь и пытаешь снова, пока не исправишь.

   dva1c

6 – 02.02.12 – 08:09

*(5) пытаешься

   Лис Локи

7 – 02.02.12 – 08:11

Результат:

Свойство

АдресСКД

Значение

“”

Тип

Строка

Шарады какие-то.

   Рэйв

8 – 02.02.12 – 08:14

(7)Ну значит пустое значение у него тоже считается недопустимым параметром. Что в принципе логично

   Лис Локи

9 – 02.02.12 – 08:19

Слава богу, “” – не является очередным извращением языка, а то я уже испугался.

Ок, как посмотреть, где оно задается? (код не мой, естественно).

   Гефест

10 – 02.02.12 – 08:20

(9) Вот в коде и смотри, где ей присваивается значение

   Лис Локи

11 – 02.02.12 – 08:23

То ли это я сродни дереву, то ли в коде выше оно просто не упоминается ни разу.

   Гефест

12 – 02.02.12 – 08:25

(11) Может быть это реквизит обработки?

   Лис Локи

13 – 02.02.12 – 08:32

Т.е.?

Вообще, связанная с СКД в коде выше только эта процедура:

Процедура УстановитьПоляОтбораПоСКД(СКД)

   
   ПолеОрганизация                    = Новый ПолеКомпоновкиДанных(“Организация”);

   ПолеКонтрагент                    = Новый ПолеКомпоновкиДанных(“Контрагент”);

   ПолеОсновнойМенеджерПокупателя    = Новый ПолеКомпоновкиДанных(“ОсновнойМенеджерПокупателя”);

   
   Организация                    = Справочники.Организации.ПустаяСсылка();

   Контрагент                    = Справочники.Контрагенты.ПустаяСсылка();

   ОсновнойМенеджерПокупателя    = Справочники.Пользователи.ПустаяСсылка();

   
       
   Для Каждого Отбор Из СКД.НастройкиПоУмолчанию.Отбор.Элементы Цикл

       Если (Отбор.ЛевоеЗначение = ПолеОрганизация) И Отбор.Использование Тогда

           Организация = Отбор.ПравоеЗначение;

       ИначеЕсли (Отбор.ЛевоеЗначение = ПолеКонтрагент) И Отбор.Использование Тогда

           Контрагент = Отбор.ПравоеЗначение;

       ИначеЕсли (Отбор.ЛевоеЗначение = ПолеОсновнойМенеджерПокупателя) И Отбор.Использование Тогда

           ОсновнойМенеджерПокупателя = Отбор.ПравоеЗначение;

       КонецЕсли;

   КонецЦикла;

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

   Гефест

14 – 02.02.12 – 08:35

(13) В обработке на закладке Данные есть АдресСКД или нет?

   Гефест

15 – 02.02.12 – 08:35

Среди реквизитов то есть?

   Лис Локи

16 – 02.02.12 – 08:38

В “Обработке”, которая в окне “Конфигурация” – вроде нет.

   dva1c

17 – 02.02.12 – 08:41

(16) Т.е. хочешь сказать: Обработки -> “Твоя обработка” -> реквизиты – пусто?

Значит надо добавлять реквизит, который надо заполнять.

   Галахад

18 – 02.02.12 – 08:42

(17) А чего туда писать?

   Лис Локи

19 – 02.02.12 – 08:43

Собственно да, предугадал вопрос.

   Fish

20 – 02.02.12 – 08:44

(16) А может это реквизит формы?

   dva1c

21 – 02.02.12 – 08:45

(18) Исходишь из логики: для чего нужна обработка? Что нужно получить для построения отчета? Пытаешься понять для чего нужен этот “АдресСКД”?

   dva1c

22 – 02.02.12 – 08:46

(21) -> (19)

(20) Верно построенное предположение. +1

   Лис Локи

23 – 02.02.12 – 08:50

Да вроде и там (Общиеобщие формы) ничего такого не наблюдается.

Мда. Отчет-обработка.

> для чего нужен этот “АдресСКД”?

Понятия не имею, честно говоря.

Я имею ввиду, я даже не предполагаю, как он ДОЛЖЕН выглядеть.

   dva1c

24 – 02.02.12 – 08:54

(23) Отчет готовый есть? Что он должен формировать? Неужели не знаешь?

   Лис Локи

25 – 02.02.12 – 08:57

По идее это должен был быть импорт взаиморасчетов с клиентами.

(Ведомость и остатки). Есть пример, да.

   dva1c

26 – 02.02.12 – 09:01

(25) Уже не так все плохо. Копай дальше. )

   Fish

27 – 02.02.12 – 09:03

(23) А глобальный поиск по конфе твоего “АдресСКД” делал?

   Лис Локи

28 – 02.02.12 – 09:05

>А глобальный поиск по конфе твоего “АдресСКД” делал?

Нет, конечно, ибо 1С изучал “давно и не правда”. Как?

   dva1c

29 – 02.02.12 – 09:06

(28) )) Иконку “Папка с биноклем” видишь? Если – да, то это “Глобальный поиск”.

   Лис Локи

30 – 02.02.12 – 09:10

“Есть папка с увеличительным стеклом”, жмакнул, вот что нашло:

Поиск строки “АдресСКД”…

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(154, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1095, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1139, 2) : АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1148, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1175, 2) : АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1274, 21) : Новый Структура(“АдресСКД”,АдресСКД));

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1274, 31) : Новый Структура(“АдресСКД”,АдресСКД));

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 3) : АдресСКД = Результат.АдресСКД;

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 24) : АдресСКД = Результат.АдресСКД;

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(270, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(277, 2) : АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(290, 2) : АдресСКД = Параметры.АдресСКД;

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(290, 23) : АдресСКД = Параметры.АдресСКД;

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(292, 38) : СКД = ПолучитьИзВременногоХранилища(АдресСКД);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(296, 52) : Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД)

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(313, 30) : СтруктураВозврата.Вставить(“АдресСКД”, АдресСКД);

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки.Форма.Модуль(313, 41) : СтруктураВозврата.Вставить(“АдресСКД”, АдресСКД);

Найдено вхождений: 17

   dva1c

31 – 02.02.12 – 09:12

(30) Лениво анализировать то, что ты тут постишь. Самому очень тяжело?

   Fish

32 – 02.02.12 – 09:13

(30) Ну вот же:

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 3) : АдресСКД = Результат.АдресСКД;

Основная конфигурация Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаРаспределения.Форма.Модуль(1277, 24) : АдресСКД = Результат.АдресСКД;

Вот и смотри там, как этот АдресСКД получается, и для чего нужен :)))

   Лис Локи

33 – 02.02.12 – 09:14

Проблема в том, что для меня это в основном китайские иероглифы.

Точнее русские, но от этого только грустнее.

Ок, посмотрим-с.

   Fish

34 – 02.02.12 – 09:15

(33) Тогда может тебе стоит забить на это, и позвать уже специалиста? :))))

   Лис Локи

35 – 02.02.12 – 09:15

Процедура Настройки(Команда)

   
   Результат = ОткрытьФормуМодально(

       “Обработка.CRM_ОбменДаннымиС1СБухгалтерия.Форма.ФормаНастройки”,

           Новый Структура(“АдресСКД”,АдресСКД));

   
   Если Результат <> Неопределено Тогда

       АдресСКД = Результат.АдресСКД;

       СформироватьТекстЗапросаИПолучитьЗагруженныеОбороты();

       Модифицированность = Истина;

   КонецЕсли;

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

   Лис Локи

36 – 02.02.12 – 09:17

Цитируя мою начальницу “Я всё равно бы тыкалась по интернету, как и ты, а так хотя бы время свободное будет”.

Собственно, сам-то я не сильно пряморукий писатель сайтов, но лучше у них просто нет.

   dva1c

37 – 02.02.12 – 09:25

(34)+100500 ))

   Лис Локи

38 – 02.02.12 – 09:32

>Если Результат <> Неопределено Тогда

Это вообще норма?

   alxxsssar

39 – 02.02.12 – 09:33

Если адрес хранилища, то скорее всего это путь к файлам. Посмотри на форме обработки нет ли реквизита с выбором файла или чего подобного?

   Лис Локи

40 – 02.02.12 – 09:35

Хм, кажется в общих формах формы “CRM_ОбменДаннымиС1СБухгалтерия” просто нет.

   alxxsssar

41 – 02.02.12 – 09:43

Где-то должен быть такой реквизит.

   Лис Локи

42 – 02.02.12 – 09:45

Есть поиск по ним?

   extrim-style

43 – 02.02.12 – 09:45

(40) это не в общих формах – это в обработках

   Лис Локи

44 – 02.02.12 – 09:48

Ага, нашел.

Нет, у неё только реквизиты НачалоПериода, КонецПериода, УниверсальныйОбменДанными, ИмяФайлаОбмена, ДатаВыгрузкиДанных.

   extrim-style

45 – 02.02.12 – 09:53

(44) есть реквизиты обработки, которую ты открываешь, а есть реквизиты формы – открываешь в этой обработке ФормуНастройки и переходишь на вкладку реквизиты.

   extrim-style

46 – 02.02.12 – 09:54

(0) интересно, какого характера была “настройка”. Может проще оттуда топать?

   Лис Локи

47 – 02.02.12 – 09:56

Ага, открыл. Есть.

   Лис Локи

48 – 02.02.12 – 09:57

Между объектом и компоновщиком настроек, тип “Строка”.

   Лис Локи

49 – 02.02.12 – 10:12

И куда дальше тыкаться, добрые люди?

   dva1c

50 – 02.02.12 – 10:16

(49) Все ушли на обед. Я тоже скоро ухожу. )

   extrim-style

51 – 02.02.12 – 10:16

(49) в (0) в реквизитах формы есть АдресСКД?

   Лис Локи

52 – 02.02.12 – 10:18

Да, есть!

offtop: Что ли самому потом пойти?

   extrim-style

53 – 02.02.12 – 10:22

(52) открой модуль этой формы. Встань в самое начало и по Ctrl+F поищи АдресСКД. Место, где АдресСКД присваивается значение – “АдресСКД = …”

   alxxsssar

54 – 02.02.12 – 10:24

в пользовательской открой и посмотри, он заполнен?

   Лис Локи

55 – 02.02.12 – 10:25

> открой модуль этой формы

Как, добрая душа?

   Лис Локи

56 – 02.02.12 – 10:30

>открой модуль этой формы

Ага, нашел, затупил, простите.

   Лис Локи

57 – 02.02.12 – 10:32

АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);

Вот это?

   extrim-style

58 – 02.02.12 – 10:36

(57) поставь точку останова на этой строчке и посмотри заполнение параметра СКД.

   Лис Локи

59 – 02.02.12 – 10:39

> поставь точку останова на этой строчке

*тык F9* done!

>посмотри заполнение параметра СКД

Эм, поясни пожалуйста.

   extrim-style

60 – 02.02.12 – 10:47

(59) смотри (5)

   Лис Локи

61 – 02.02.12 – 10:56

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

И табло не вызывается по шифт+f9 теперь.

   extrim-style

62 – 02.02.12 – 11:11

(61) варианты – конфигуратор закрыт. Если открыт – переоткрой всё снова, и поставь точку в этой строке. Если не заходит, поставь точку выше. Возможно (57) находится в другой процедуре и нужно поискать другое присвоение АдресСКД и там уже ставить точку и смотреть. Если ни то, ни другое – курить, почему не заходит в эту процедуру.

   Лис Локи

63 – 02.02.12 – 11:18

> Если ни то, ни другое – курить, почему не заходит в эту процедуру.

А возможно ли это закомментить и написать свое, аналогичное? Я имею ввиду, насколько там большая простыня должна быть?

   extrim-style

64 – 02.02.12 – 11:26

(63) прежде чем что-то писать, нужно знать что писать.

лучше вспомнить, что в (0) настраивали

   Лис Локи

65 – 02.02.12 – 11:29

По идее – форму для “Загрузки взаиморасчетов с клиентам”.

   extrim-style

66 – 02.02.12 – 11:38

(65) Если больше присвоения АдресСКД в форме нет, то тогда в (57) смотри присвоение СКД, т.к. скорей всего что-то не присваивается. В какой процедуре находится?

   Лис Локи

67 – 02.02.12 – 11:44

(57) находится в “Сохранить настройки”:

Процедура СохранитьНастройки()

   КомпоновщикНастроек.Восстановить();

   СКД = ПолучитьИзВременногоХранилища(АдресСКД);

   НастройкиСКД          = СКД.НастройкиПоУмолчанию;

   НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки();

   ОчиститьНастройкиКомпоновкиДанных(НастройкиСКД);

   СкопироватьНастройкиКомпоновкиДанных(НастройкиСКД, НастройкиКомпоновщика);

   АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);

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

   extrim-style

68 – 02.02.12 – 11:53

(68) по Ctrl+F сделай поиск в модуле СохранитьНастройки – посмотри, в каких процедурах/функциях вызывается.

   Лис Локи

69 – 02.02.12 – 11:57

Вот здесь только:

Процедура ЗавершитьРедактирование(Команда)

   СохранитьНастройки();

   
   СтруктураВозврата = Новый Структура;

   СтруктураВозврата.Вставить(“АдресСКД”, АдресСКД);

   
   Закрыть(СтруктураВозврата);

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

   extrim-style

70 – 02.02.12 – 12:03

В пользовательском режиме открой обработку Обработка.CRM_ОбменДаннымиС1СБухгалтерия (называется как в поле Синоним), посмотри, может что прояснится, какие-то параметры не установлены может.

   Лис Локи

71 – 02.02.12 – 12:07

>В пользовательском режиме

Т.е. не из конструктора?

   alxxsssar

72 – 02.02.12 – 12:09

просто 1с предприятие открой, открой эту обработку, найди какую-нибудь закладку, кнопку или что-нибудь с надписью “Настройки” и посмотри что там у тебя заполнено

   dva1c

73 – 02.02.12 – 12:14

*Вернулся с попкорном.

   alxxsssar

74 – 02.02.12 – 12:17

(73) отсыпь, я голодный)))

   Лис Локи

75 – 02.02.12 – 12:49

Так, нашел кнопку с надписью “настройки”. Большую такую. И там до фига, но ничего про СКД что-то нема.

А сама обработка же не запускается, даже форма не появляется, тупо “Недопустимое значение параметра (параметр номер ‘1’) “.

   Лис Локи

76 – 02.02.12 – 12:50

Кстати, господа, через 2 часа мой раочий день кончается, но завтра цирк продолжится.

   Лис Локи

77 – 02.02.12 – 12:50

*рабочий

   extrim-style

78 – 02.02.12 – 12:55

(75) попробуй покурить правильное заполнение и сохранение настроек этой обработки

   Лис Локи

79 – 02.02.12 – 12:58

В этом проблема. Я по этой 1С CRM Стандарт мануалов вообще не нашел в инете. Может я что-то не так ищу? Или не знаю правильного названия?

   extrim-style

80 – 02.02.12 – 13:00

(79) а, ну теперь понятно, откуда “настройка” из (0) пошла =)

   Лис Локи

81 – 02.02.12 – 13:09

Так объясните мне пожалуйста, в чем развязка этого детектива с 1С?)

   alxxsssar

82 – 02.02.12 – 13:37

так может на форме она имеет другое название. посмотри что-нибудь похожее или выложи ссыль на скан формы

   alxxsssar

83 – 02.02.12 – 13:38

+(82) формы настроек

   alxxsssar

84 – 02.02.12 – 13:38

+(81) или в конфигураторе полазай по полям формы настроек и через их свойства (ПКМ) смотри имя реквизита

   Лис Локи

85 – 02.02.12 – 13:57

И если что-то такое найду, что на что исправить?

   alxxsssar

86 – 02.02.12 – 13:58

если он в пользовательской пустой, то заполни. что вводить – уж извини, тебе лучше знать

   Лис Локи

87 – 02.02.12 – 14:06

Так, в пользовательской я его не нашел.

В реквизитах:

Имя: АдресСКД

Заголовок: Адрес СКД

Тип: Строка

Длина: 0

Основной реквизит – не выбрано.

Сохраняемые данные – не выбрано.

Функциональных опций – нет.

Проверка заполнения – не проверять.

   extrim-style

88 – 02.02.12 – 14:07

(81) в (67) только пересохранение настроек. Должно быть где-то еще присвоение АдресСКД. Посмотри в процедурах ПриОткрытии и ПередОткрытием, и еще, кроме модуля формы, есть модуль объекта. ПКМ на обработку в дереве метаданных – открыть модуль объекта – там поищи присвоение АдресСКД.

   Лис Локи

89 – 02.02.12 – 14:11

Обработке я выбрал “Обмен данными 1С и т.п.”, правой клавишей, модуль объекта – и девственно чистый лист распахнул свои объятья. Видимо опять не туда.

>процедурах ПриОткрытии и ПередОткрытием

А они-то где, добрый человек?

   extrim-style

90 – 02.02.12 – 14:14

(89) вот в этой пусто? – Обработка.CRM_ОбменДаннымиС1СБухгалтерия?

ПриОткрытии и ПередОткрытием в модуле формы, но может и не быть.

   alxxsssar

91 – 02.02.12 – 14:17

отсылаю к (84) полазай по самой форме настроек, по свойствам всех полей найди эту долбаную “АдресСРМ” и глянь, какая надпись около него стоит на форме.

   Лис Локи

92 – 02.02.12 – 14:17

Да, оно пусто.

   Лис Локи

93 – 02.02.12 – 14:18

Процедура СкопироватьЭлементы(ПриемникЗначения, ИсточникЗначения, ПроверятьДоступность = Ложь, ОчищатьПриемник = Истина)

   
   Если ТипЗнч(ИсточникЗначения) = Тип(“УсловноеОформлениеКомпоновкиДанных”)

       Или ТипЗнч(ИсточникЗначения) = Тип(“ВариантыПользовательскогоПоляВыборКомпоновкиДанных”)

       Или ТипЗнч(ИсточникЗначения) = Тип(“ОформляемыеПоляКомпоновкиДанных”)

       Или ТипЗнч(ИсточникЗначения) = Тип(“ЗначенияПараметровДанныхКомпоновкиДанных”) Тогда

       
       СоздаватьПоТипу = Ложь;

       
   Иначе

       
       СоздаватьПоТипу = Истина;

       
   КонецЕсли;

   
   ПриемникЭлементов = ПриемникЗначения.Элементы;

   ИсточникЭлементов = ИсточникЗначения.Элементы;

   Если ОчищатьПриемник Тогда

       ПриемникЭлементов.Очистить();

   КонецЕсли;

   
   Для каждого ЭлементИсточник Из ИсточникЭлементов Цикл

       
       Если ТипЗнч(ЭлементИсточник) = Тип(“ЭлементПорядкаКомпоновкиДанных”) Тогда

           
           // Элементы порядка добавляем в начало

           Индекс = ИсточникЭлементов.Индекс(ЭлементИсточник);

           ЭлементПриемник = ПриемникЭлементов.Вставить(Индекс, ТипЗнч(ЭлементИсточник));

           
       Иначе

           
           Если СоздаватьПоТипу Тогда

               ЭлементПриемник = ПриемникЭлементов.Добавить(ТипЗнч(ЭлементИсточник));

           Иначе

               ЭлементПриемник = ПриемникЭлементов.Добавить();

           КонецЕсли;

           
       КонецЕсли;

       
       ЗаполнитьЗначенияСвойств(ЭлементПриемник, ЭлементИсточник);

       // В некоторых коллекциях необходимо заполнить другие коллекции

       Если ТипЗнч(ИсточникЭлементов) = Тип(“КоллекцияЭлементовУсловногоОформленияКомпоновкиДанных”) Тогда

           
           СкопироватьЭлементы(ЭлементПриемник.Поля, ЭлементИсточник.Поля);

           СкопироватьЭлементы(ЭлементПриемник.Отбор, ЭлементИсточник.Отбор);

           ЗаполнитьЭлементы(ЭлементПриемник.Оформление, ЭлементИсточник.Оформление);

           
       ИначеЕсли ТипЗнч(ИсточникЭлементов)    = Тип(“КоллекцияВариантовПользовательскогоПоляВыборКомпоновкиДанных”) Тогда

           
           СкопироватьЭлементы(ЭлементПриемник.Отбор, ЭлементИсточник.Отбор);

           
       КонецЕсли;

       
       // В некоторых элементах коллекции необходимо заполнить другие коллекции

       Если ТипЗнч(ЭлементИсточник) = Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”) Тогда

           
           СкопироватьЭлементы(ЭлементПриемник, ЭлементИсточник);

           
       ИначеЕсли ТипЗнч(ЭлементИсточник) = Тип(“ГруппаВыбранныхПолейКомпоновкиДанных”) Тогда

           
           СкопироватьЭлементы(ЭлементПриемник, ЭлементИсточник);

           
       ИначеЕсли ТипЗнч(ЭлементИсточник) = Тип(“ПользовательскоеПолеВыборКомпоновкиДанных”) Тогда

           
           СкопироватьЭлементы(ЭлементПриемник.Варианты, ЭлементИсточник.Варианты);

           
       ИначеЕсли ТипЗнч(ЭлементИсточник) = Тип(“ПользовательскоеПолеВыражениеКомпоновкиДанных”) Тогда

           
           ЭлементПриемник.УстановитьВыражениеДетальныхЗаписей (ЭлементИсточник.ПолучитьВыражениеДетальныхЗаписей());

           ЭлементПриемник.УстановитьВыражениеИтоговыхЗаписей(ЭлементИсточник.ПолучитьВыражениеИтоговыхЗаписей());

           ЭлементПриемник.УстановитьПредставлениеВыраженияДетальныхЗаписей(ЭлементИсточник.ПолучитьПредставлениеВыраженияДетальныхЗаписей ());

           ЭлементПриемник.УстановитьПредставлениеВыраженияИтоговыхЗаписей(ЭлементИсточник.ПолучитьПредставлениеВыраженияИтоговыхЗаписей ());

           
       КонецЕсли;

       
   КонецЦикла;

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

&НаСервере

Процедура ЗаполнитьЭлементы(ПриемникЗначения, ИсточникЗначения, ПервыйУровень = Неопределено)

   
   Если ТипЗнч(ПриемникЗначения) = Тип(“КоллекцияЗначенийПараметровКомпоновкиДанных”) Тогда

       КоллекцияЗначений = ИсточникЗначения;

   Иначе

       КоллекцияЗначений = ИсточникЗначения.Элементы;

   КонецЕсли;

   
   Для каждого ЭлементИсточник Из КоллекцияЗначений Цикл

       
       Если ПервыйУровень = Неопределено Тогда

           ЭлементПриемник = ПриемникЗначения.НайтиЗначениеПараметра(ЭлементИсточник.Параметр);

       Иначе

           ЭлементПриемник = ПервыйУровень.НайтиЗначениеПараметра(ЭлементИсточник.Параметр);

       КонецЕсли;

       
       Если ЭлементПриемник = Неопределено Тогда

           Продолжить;

       КонецЕсли;

       
       ЗаполнитьЗначенияСвойств(ЭлементПриемник, ЭлементИсточник);

       Если ТипЗнч(ЭлементИсточник) = Тип(“ЗначениеПараметраКомпоновкиДанных”) Тогда

           
           Если ЭлементИсточник.ЗначенияВложенныхПараметров.Количество() <> 0 Тогда

               ЗаполнитьЭлементы(ЭлементПриемник.ЗначенияВложенныхПараметров, ЭлементИсточник.ЗначенияВложенныхПараметров, ПриемникЗначения);

           КонецЕсли;

           
       КонецЕсли;

       
   КонецЦикла;

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

&НаСервере

// Процедура удаляет все элементы настройки компоновки данных из объекта

//

Процедура ОчиститьНастройкиКомпоновкиДанных(Настройки)

   
   Если Настройки = Неопределено Или ТипЗнч(Настройки) <> Тип(“НастройкиКомпоновкиДанных”) Тогда

       Возврат;

   КонецЕсли;

   
   Для каждого Параметр Из Настройки.ПараметрыДанных.Элементы Цикл

       Параметр.Значение = Неопределено;

       Параметр.Использование = Ложь;

   КонецЦикла;

   
   Для каждого Параметр Из Настройки.ПараметрыВывода.Элементы Цикл

       Параметр.Использование = Ложь;

   КонецЦикла;

   
   Настройки.ПользовательскиеПоля.Элементы.Очистить();

   Настройки.Отбор.Элементы.Очистить();

   Настройки.Порядок.Элементы.Очистить();

   Настройки.Выбор.Элементы.Очистить();

   Настройки.Структура.Очистить();

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

&НаСервере

// Копирует настройки компоновки данных

//

Процедура СкопироватьНастройкиКомпоновкиДанных(НастройкиПриемник, НастройкиИсточник)

   
   Если НастройкиИсточник = Неопределено Тогда

       Возврат;

   КонецЕсли;

   
   Если ТипЗнч(НастройкиПриемник) = Тип(“НастройкиКомпоновкиДанных”) Тогда

       
       Для каждого Параметр Из НастройкиИсточник.ПараметрыДанных.Элементы Цикл

           
           ЗначениеПараметра = НастройкиПриемник.ПараметрыДанных.НайтиЗначениеПараметра(Параметр.Параметр);

           Если ЗначениеПараметра <> Неопределено Тогда

               ЗаполнитьЗначенияСвойств(ЗначениеПараметра, Параметр);

           КонецЕсли;

           
       КонецЦикла;

       
   КонецЕсли;

   
   Если ТипЗнч(НастройкиИсточник) = Тип(“НастройкиВложенногоОбъектаКомпоновкиДанных”) Тогда

       
       ЗаполнитьЗначенияСвойств(НастройкиПриемник, НастройкиИсточник);

       СкопироватьНастройкиКомпоновкиДанных(НастройкиПриемник.Настройки, НастройкиИсточник.Настройки);

       Возврат;

       
   КонецЕсли;

   
   // Копирование настроек

   Если ТипЗнч(НастройкиИсточник) = Тип(“НастройкиКомпоновкиДанных”) Тогда

       
       ЗаполнитьЭлементы(НастройкиПриемник.ПараметрыДанных, НастройкиИсточник.ПараметрыДанных);

       СкопироватьЭлементы(НастройкиПриемник.ПользовательскиеПоля, НастройкиИсточник.ПользовательскиеПоля);

       СкопироватьЭлементы(НастройкиПриемник.Отбор,         НастройкиИсточник.Отбор);

       СкопироватьЭлементы(НастройкиПриемник.Порядок,       НастройкиИсточник.Порядок);

       
   КонецЕсли;

   
   Если ТипЗнч(НастройкиИсточник) = Тип(“ГруппировкаКомпоновкиДанных”)

    Или ТипЗнч(НастройкиИсточник) = Тип(“ГруппировкаТаблицыКомпоновкиДанных”)

    Или ТипЗнч(НастройкиИсточник) = Тип(“ГруппировкаДиаграммыКомпоновкиДанных”) Тогда

       
       СкопироватьЭлементы(НастройкиПриемник.ПоляГруппировки, НастройкиИсточник.ПоляГруппировки);

       СкопироватьЭлементы(НастройкиПриемник.Отбор,           НастройкиИсточник.Отбор);

       СкопироватьЭлементы(НастройкиПриемник.Порядок,         НастройкиИсточник.Порядок);

       ЗаполнитьЗначенияСвойств(НастройкиПриемник, НастройкиИсточник);

       
   КонецЕсли;

   
   СкопироватьЭлементы(НастройкиПриемник.Выбор,              НастройкиИсточник.Выбор);

   СкопироватьЭлементы(НастройкиПриемник.УсловноеОформление, НастройкиИсточник.УсловноеОформление);

   ЗаполнитьЭлементы(НастройкиПриемник.ПараметрыВывода,      НастройкиИсточник.ПараметрыВывода);

   
   // Копирование структуры

   Если ТипЗнч(НастройкиИсточник) = Тип(“НастройкиКомпоновкиДанных”)

    Или ТипЗнч(НастройкиИсточник) = Тип(“ГруппировкаКомпоновкиДанных”) Тогда

       
       Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Структура Цикл

           
           ЭлементСтруктурыПриемник = НастройкиПриемник.Структура.Добавить(ТипЗнч(ЭлементСтруктурыИсточник));

           СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник);

           
       КонецЦикла;

       
   КонецЕсли;

   
   Если ТипЗнч(НастройкиИсточник) = Тип(“ГруппировкаТаблицыКомпоновкиДанных”)

    Или ТипЗнч(НастройкиИсточник) = Тип(“ГруппировкаДиаграммыКомпоновкиДанных”) Тогда

       
       Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Структура Цикл

           
           ЭлементСтруктурыПриемник = НастройкиПриемник.Структура.Добавить();

           СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник);

           
       КонецЦикла;

       
   КонецЕсли;

   
   Если ТипЗнч(НастройкиИсточник) = Тип(“ТаблицаКомпоновкиДанных”) Тогда

       
       Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Строки Цикл

           
           ЭлементСтруктурыПриемник = НастройкиПриемник.Строки.Добавить();

           СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник);

           
       КонецЦикла;

       
       Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Колонки Цикл

           
           ЭлементСтруктурыПриемник = НастройкиПриемник.Колонки.Добавить();

           СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник);

           
       КонецЦикла;

       
   КонецЕсли;

   
   Если ТипЗнч(НастройкиИсточник) = Тип(“ДиаграммаКомпоновкиДанных”) Тогда

       
       Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Серии Цикл

           
           ЭлементСтруктурыПриемник = НастройкиПриемник.Серии.Добавить();

           СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник);

           
       КонецЦикла;

       
       Для каждого ЭлементСтруктурыИсточник Из НастройкиИсточник.Точки Цикл

           
           ЭлементСтруктурыПриемник = НастройкиПриемник.Точки.Добавить();

           СкопироватьНастройкиКомпоновкиДанных(ЭлементСтруктурыПриемник, ЭлементСтруктурыИсточник);

           
       КонецЦикла;

       
   КонецЕсли;

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

&НаСервере

//Сохраняет настройки схемы компоновки

//

Процедура СохранитьНастройки()

   КомпоновщикНастроек.Восстановить();

   СКД = ПолучитьИзВременногоХранилища(АдресСКД);

   НастройкиСКД          = СКД.НастройкиПоУмолчанию;

   НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки();

   ОчиститьНастройкиКомпоновкиДанных(НастройкиСКД);

   СкопироватьНастройкиКомпоновкиДанных(НастройкиСКД, НастройкиКомпоновщика);

   АдресСКД = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);

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

////////////////////////////////////////////////////////////////////////////////

// ПРОЦЕДУРЫ – ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

   
   //crack start crack end// CRM_ЗащитаСервер.ПолучитьЗащищеннуюОбработку().ПриСозданиеНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

   
   АдресСКД = Параметры.АдресСКД;

   
   СКД = ПолучитьИзВременногоХранилища(АдресСКД);

   Если СКД <> Неопределено Тогда

       КомпоновщикНастроек.Инициализировать(

           Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД)

           );

       КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);

       КомпоновщикНастроек.Восстановить();

   КонецЕсли;

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

////////////////////////////////////////////////////////////////////////////////

// ПРОЦЕДУРЫ – ОБРАБОТЧИКИ СОБЫТИЙ ОСТАЛЬНЫХ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ ФОРМЫ

&НаКлиенте

Процедура ЗавершитьРедактирование(Команда)

   СохранитьНастройки();

   
   СтруктураВозврата = Новый Структура;

   СтруктураВозврата.Вставить(“АдресСКД”, АдресСКД);

   
   Закрыть(СтруктураВозврата);

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

И приоткрытии закрытии тоже нет.

   alxxsssar

94 – 02.02.12 – 14:18

вот и заполняй, там скорее всего диалог выбора файла

   Лис Локи

95 – 02.02.12 – 14:21

отсылаю к (84) полазай по самой форме настроек, по свойствам всех полей найди эту долбаную “АдресСРМ” и глянь, какая надпись около него стоит на форме

Нет, там не пусто. Там вообще какая-то левая форма с двумя memo-подобными полями и одной кнопочкой ОКэй.

   alxxsssar

96 – 02.02.12 – 14:22

можешь обработку на почту прислать?

   Лис Локи

97 – 02.02.12 – 14:25

С удовольствием, скажи только как.

   Лис Локи

98 – 02.02.12 – 14:25

Без проблем, скажи только как.

   extrim-style

99 – 02.02.12 – 14:26

(95) ну вот же присвоение – АдресСКД = Параметры.АдресСКД;

Поставь там точку и запусти обработку в пользовательском режиме, как написано в (5), и по Shift+F9 посмотри содержание Параметры.АдресСКД или Параметры вообще.

   alxxsssar

100 – 02.02.12 – 14:28

в конфигураторе плавой клавишей на обработкук -> сохранить как внешнюю обработку, отчет, выбираешь место и вуаля. отошли на alxxsssar@mail.ru

Добавить комментарий