среда, 30 апреля 2014 г.

Документы

На следующей схеме изображено взаимодействие объектов встроенного языка для работы с документами.

понедельник, 28 апреля 2014 г.

Не работает поиск по дате в конвертации данных

Нашел особенность в переносе документов в конвертации данных: нужно было перенести документ "Реализация товаров и услуг" из УПП в Бухгалтерию, поля поиска у документа были установлены "Номер" и "Дата", поиск по внутреннему идентификатору не использовался. Ничего, вроде, сложного, но есть один нюанс: когда после переноса я поменял дату в базе-источнике (УПП) и попытался перенести ее в базу-источник (Бухгалтерия), то новый документ почему-то не создался (хотя должен был), в нем лишь поменялась дата на новую, которую я установил.
Пришлось анализировать код обработки "Универсальный обмен данными XML", т.к. коллега подсказал, что дело может быть в методе НайтиПоНомеру(), который используется в обработке для поиска документов по их номеру. Здесь есть нюанс в этого метода: поиск будет идти не с проверкой даты на равенство (ДатаВремя1 = ДатаВремя2), а вхождением в интервал(ДатаНач <= ДатаВремя1 <= ДатаКон). Сам интервал определяется как период уникальности номеров документа, в который входит указанная дата. Например, если номера документов уникальны в пределах месяца и задана дата 10 декабря 2001 года, то поиск будет проводиться в интервале с 01 по 31 декабря 2001 года.
В модуле обработки "Универсальный обмен данными XML" нашел такую функцию для поиска документов:

воскресенье, 27 апреля 2014 г.

среда, 23 апреля 2014 г.

Константы

На следующей схеме изображено взаимодействие объектов встроенного языка для работы с константами.

Что означает ОбменДанными.Загрузка = Истина

ОбменДанными.Загрузка – атрибут любого объекта в системе 1С предприятие. Он позволяет обозначить при записи объекта что необходимо отключить любые проверки (в т.ч проверки на уровне платформы 1С). Сделано это было для того, что бы избежать конфликтов при обмене данных.
Если вы разрабатываете свою конфигурацию, в всех проверках правильности данных (например, процедура ПередЗаписью) необходимо первой строкой добавить такую строку:

Если ОбменДанными.Загрузка = Истина Тогда
    Возврат;
КонецЕсли;

Список значений в качестве параметра в СКД

Включить возможность использовать список значений в качестве параметра в СКД можно посредством установки флажка "Доступен список значений" напротив параметра на закладке "Параметры".


Проверка на пустой список значений в запросе

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

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