понедельник, 8 октября 2012 г.

Ошибки при обновлении конфигураций

При обновлении конфигурации из режима Предприятие иногда выходит такое сообщение:
{Обработка.ОбновлениеКонфигурации.МодульОбъекта(1438)}: Ошибка при вызове конструктора (COMОбъект) ComConnector = Новый COMОбъект(УправлениеСоединениямиИБ.ИмяCOMСоединителя()); по причине: Недопустимая строка с указанием класса.


Проблема решается таким образом:
в командной строке (Пуск / Выполнить, или в окне cmd.exe) вводим текст:
regsvr32 "C:\Program Files\1cv82\8.2.16.368\bin\comcntr.dll".

вторник, 5 июня 2012 г.

Корректировка отчета, сформированного на базе Универсального отчета (для УТ 10.3)

Иногда бывает необходимость в выводе дополнительных данных в отчетах, сформированных на базе Универсального Отчета.

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

Исходные данные: Отчет "Продажи", группировка по полям "Менеджер (св-во Контрагент)", "Контрагент" и "Номенклатура".

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

Как делаем.
В модуле формы есть процедура ОбновитьОтчет(), в которой только одна строка: СформироватьОтчет(ЭлементыФормы.ПолеТабличногоДокументаРезультат).

после этой строки добавляем такой текст:
Попытка
Если УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки[0].Представление="Менеджер (св-во Контрагент)" и
УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки[1].Имя="Контрагент" тогда
НомерКА=0;
Свво = УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки[0].Имя;
Для НомСтр = 11 по ЭлементыФормы.ПолеТабличногоДокументаРезультат.ВысотаТаблицы цикл
Обл = ЭлементыФормы.ПолеТабличногоДокументаРезультат.Область(НомСтр, 2);
Если Обл.Расшифровка=Неопределено тогда
Продолжить;
КонецЕсли;
Если Обл.Расшифровка.Свойство(Свво) и НЕ Обл.Расшифровка.Свойство("Контрагент") тогда
НомерКА=0;
ИначеЕсли Обл.Расшифровка.Свойство("Контрагент") и НЕ Обл.Расшифровка.Свойство("Номенклатура") тогда
НомерКА = НомерКА + 1;
Обл.Текст = Строка(НомерКА) + ". " + Обл.Текст;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Исключение
Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
КонецПопытки;


Готово.

воскресенье, 3 июня 2012 г.

Дата в параметрах запроса

В 1С 8 параметры типа Дата отличаются от версии 7.7.

Если делается выборка по документам, то параметры устанавливаем такие:
  Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));  
  Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода)); 

Если делается выборка по регистрам, то параметры устанавливаем инече:
  Запрос.УстановитьПараметр("НачГраница", новый Граница(НачалоДня(НачПериода), ВидГраницы.Включая)); 
  Запрос.УстановитьПараметр("КонГраница", новый Граница(КонецДня(КонПериода), ВидГраницы.Включая));

Числовые колонки в таблицах значений 1с 8

Часто бывает небходимость в создании временных таблиц значений при формировании сложных отчетов или обработок.

Чтобы создать таблицу пишем: Табл = Новый ТаблицаЗначений;
Чтобы добавить колонки пишем:  Табл.Колонки.Добавить("Товар"); Табл.Колонки.Добавить("Сумма");

Часто этого бывает достаточно, но если в последующем нужно будет сгруппировать таблицу или получить общий итог по колонке "Сумма", нужно добавить еще один параметр при создании новой колонки: Новый ОписаниеТипов("Число" , Новый КвалификаторыЧисла(19, 2))).

 Итак: Табл.Колонки.Добавить("Сумма",  Новый ОписаниеТипов("Число" , Новый КвалификаторыЧисла(19, 2))));

Теперь всегда можно будет получить итоги по колонке "Сумма", даже если в некоторых строках таблицы Сумма будет не заполнена.

Для чего этот блог и откуда он взялся

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