В теории возможно. Объединяем мдшники, читаем новый словарь данных. Закидываем дбфки попутно исправляя названия полей в соответствии с новым словарем.
Но даже если данные не пересекаются в вашей постановке - то они все-таки пересекаются как минимум в общем журнале. Нужно или править таблицу журнала - либо грохнуть его и попробовать ТИ. Так что в теории можно но гемморойно. Лучше и правда объединить мд и закинуть нужные данные каким нибудь переносом.
ВыполнитьЗапрос(<?>,,,,,,,) Синтаксис: ВыполнитьЗапрос(<НачалоПериода>,<КонецПериода>,<Счет>,<КоррСчет>,<Валюта>,<ТипИтогов>,<Периодичность>,<ТипСуммы>) Назначение: Выполнить отбор и расчет итогов по параметрам. Возвращает число 1 - запрос выполнен; 0 - запрос не выполнен. Параметры: <НачалоПериода> - дата, документ или позиция начала периода запроса. <КонецПериода> - дата, документ или позиция конца периода запроса.
алгоритм - самый тупой, "Перебор делителей" хотите не тупой - обратитесь в университеты, они под ваше финансирование пару диссеров защитят.
код на диалекте 7.7
сумма=;//задайте самостоятельно множительРазрядности=100; с1=сумма*множительРазрядности; предел=КвaдpaтныйКopeнь(с1); х=2; пока х<=предел Цикл
частное=с1/х; остаток=Цел(частное)-(частное); Если остаток=0 Тогда Сообщить("Множитель1="+х+" множитель2="+частное/множительРазрядности); КонецЕсли; х=х+1; КонецЦикла;
результат работы я привел выше, можете проверить на калькуляторе.
в 7-ке нет булево. Сделать можно разными способами. 1-обработка подбора - смотреть как в типовой сделан подбор в документы, толька делать из формы журнала. 2-посмотреть как сделаны множественные фильтры в отчетах 3- как в предидущем совете, новая обработка с ТаблицейЗначений, с отдельной колонкой - в которой выводить пиктограмы(выбран-не выбран) 4- еще в Учойсе можно посмотреть как сделано. короче много способов
Пока Запрос1.Группировка("Сотрудник")=1 Цикл Если Запрос1.Сотрудник.ПометкаУдаления()=1 Тогда Продолжить; КонецЕсли; Если Запрос1.Сотрудник.ЭтоГруппа()=1 Тогда Продолжить; КонецЕсли;
// моё нс=""; если тз.найтиЗначение(Запрос1.Сотрудник,нс>0,"сотрудник") тогда тз.ПолучитьСтрокуПоНомеру(нс); тз.Нараховано1=Запрос1.СуммаДО; // !!! иначе ТЗ.НоваяСтрока(); ТЗ.Сотрудник=Запрос1.Сотрудник; ТЗ.ИНН=Запрос1.ИНН; ТЗ.СельРада=Запрос1.СельРада; ТЗ.Нараховано1=Запрос1.СуммаДО; // !!! конецесли;
КонецЦикла;
ну и перед выводом делаем
тз.Группировать("Сотрудник, и прочая","Нараховано0,Нараховано1")
смысл, думаю понятен.
Хе, даблшот. Кстати внутри тега <код> не работает тег <b>
Ну если имена категорий жестко заданы и не будут изменяться никогда - будьте как все, хардкодьте. Пример быдлокода:
... Пока КатегорииЦен.ПолучитьЭлемент()=1 Цикл если (категорияЦен.Наименование="Закупочная")или(категорияЦен.Наименование="Розничная") тогда ... иначе продолжить; конецЕсли ...
если нужно произвольное количество произвольных категорий, влепите на форму обработки список или тз, и вместо цикла по всем категориям выбирайте из списка или тз. Делов то.
ЦеныТовара = СоздатьОбъект("Справочник.Цены"); Если ПустоеЗначение(НаДату)=1 Тогда НаДату = РабочаяДата(); КонецЕсли; ЦеныТовара.ИспользоватьДату(НаДату); ЦеныТовара.ИспользоватьВладельца(Тов.ТекущийЭлемент()); КатегорииЦен = СоздатьОбъект("Справочник.КатегорииЦен"); КатегорииЦен.ВыбратьЭлементы(); Пока КатегорииЦен.ПолучитьЭлемент()=1 Цикл Если КатегорииЦен.ПометкаУдаления()=1 Тогда Продолжить; КонецЕсли; Если ЦеныТовара.НайтиПоРеквизиту("КатегорияЦены",КатегорииЦен.ТекущийЭлемент(),0)=0 Тогда ЦеныТовара.Новый(); Иначе Если ЦеныТовара.ПометкаУдаления()=1 Тогда Если Вопрос("Цена "+ЦеныТовара.КатегорияЦены+ " помечена на удаление и не будет заполнена. |Снять пометку удаления?","Да+Нет")="Да" Тогда Попытка ЦеныТовара.СнятьПометкуУдаления(); Исключение Предупреждение(ОписаниеОшибки()); Возврат; КонецПопытки; КонецЕсли; Продолжить; КонецЕсли; КонецЕсли; //опр валюту ВалютаЦ=Тов.ВалютаУчета; ЦеныТовара.Наименование = КатегорииЦен.Наименование; ЦеныТовара.Единица = Тов.ЕдиницаПоУмолчанию; ЦеныТовара.КатегорияЦены = КатегорииЦен.ТекущийЭлемент(); //ВычисленнаяЦена= тащите их экселя; ЦеныТовара.Цена = ВычисленнаяЦена; // Попытка ЦеныТовара.Записать(); // Исключение х // глТрассировка(ОписаниеОшибки(),0); // Возврат; // КонецПопытки;
Поймал забавный баг в последнем релизе ТиСа(7.70.020) с новым реестром НН. Если вы на старый релиз накатывали реестр из 20 - у вас он тоже проявится. Суть такова: Пользователь заводит новый документ, к примеру, РН. По умолчанию - тип учета "Общ". Второй документ - тоже "Общ", третий - "Общ". Потом решает сформировать реестр. Формирует. Снова заводит новый документ. Упс, а тип учета уже "Упр".
В чем же дело? В глобальнике есть такие экспортируемые переменные:
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!